|
Re: Block inscription et connection |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Mon but c'est d'afficher le formulaire d'inscription et le block de login sur la même page au lieu de cliquer sur s'inscrire maintenant pour passer au formulaire. Si c'est possible aussi le mot de passe oublié avec le champ pour tapper l'email directement sur la même page c'est trop pratique en plus on trouve cette technique sur pas mal de site mais pas xoops. je viens de me rendre compte maintenant que l'exemple que j'ai donné n'est pas xoops mais qui ressemble beaucoup aux modules XXlinks.
Merci
Posté le : 22/04/2013 15:26
|
|
|
Block inscription et connection |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Hello tout le monde. je reviens encore une fois vers vous pour une petite demande. j'aimerai ajouter une page php a mon site comme cette page Connexion / Inscription. qui peut me donner le code ou bien le module utilisé. merci
Posté le : 22/04/2013 13:16
|
|
|
Re: convertir une date avec time zone en date locale |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
up
Posté le : 10/11/2012 20:48
|
|
|
Re: convertir une date avec time zone en date locale |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Merci Montuy pour la reponse, tu repond déjà sur 3 autres questions etaient dans ma tête.
Je cherche a parser des XML et enregistrer leurs contenu dans la base de données, les pubdate sont en fonction de time zone parfois GMT parfois +000, +0100 ...je veut convertir les pubDate en time locale pour enregistrer dans la base de donnée et plutard faire la condition if ($pubDate >= $last_run){ insert dans la base de donnée }
avec mon code je tombe parfois sur des pubDate > last_run et qui sont déjà enregistré dans ma base.
Posté le : 07/11/2012 11:51
|
|
|
convertir une date avec time zone en date locale |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Bonsoir, Qui peut m'expliquer le but de ce bout de code, je cherche à convertir n'importe qu'elle date en fonction de time zone en date locale ou plutôt date de mon serveur qui se trouve en Europe. Normalement je doit tomber sur une date $unix =< time() une fois converti
if (preg_match("~(?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s+)?(\d{1,2})\s+([a-zA-Z]{3})\s+(\d{4})\s+(\d{2}):(\d{2}):(\d{2})\s+(.*)~", $pubDate, $matches)) {
$months = Array("Jan"=>1,"Feb"=>2,"Mar"=>3,"Apr"=>4,"May"=>5,"Jun"=>6,"Jul"=>7,"Aug"=>8,"Sep"=>9,"Oct"=>10,"Nov"=>11,"Dec"=>12);
$unix = mktime($matches[4],$matches[5],$matches[6],$months[$matches[2]],$matches[1],$matches[3]);
if (substr($matches[7],0,1)=='+' OR substr($matches[7],0,1)=='-') {
$tzOffset = (substr($matches[7],0,3) * 60 + substr($matches[7],-2)) * 60;
} else {
if (strlen($matches[7])==1) {
$oneHour = 3600;
$ord = ord($matches[7]);
if ($ord < ord("M")) {
$tzOffset = (ord("A") - $ord - 1) * $oneHour;
} elseif ($ord >= ord("M") AND $matches[7]!="Z") {
$tzOffset = ($ord - ord("M")) * $oneHour;
} elseif ($matches[7]=="Z") {
$tzOffset = 0;
}
}
switch ($matches[7]) {
case "UT":
case "GMT": $tzOffset = 0;
}
}
$unix += $tzOffset;
}
if (preg_match("~(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(.*)~",$pubDate,$matches)) {
$unix = mktime($matches[4],$matches[5],$matches[6],$matches[2],$matches[3],$matches[1]);
if (substr($matches[7],0,1)=='+' OR substr($matches[7],0,1)=='-') {
$tzOffset = (substr($matches[7],0,3) * 60 + substr($matches[7],-2)) * 60;
} else {
if ($matches[7]=="Z") {
$tzOffset = 0;
}
}
$unix += $tzOffset;
}
Voiçi 3 exemples. Merci
date à convertir Mon, 05 Nov 2012 23:12:02 GMT
date locale Mon, 05 Nov 2012 22:39:31 +0100
Date converti 1352153522
timestemp now 1352151571
date à convertir Mon, 05 Nov 2012 22:10:11 +0100
date locale Mon, 05 Nov 2012 22:39:32 +0100
Date converti 1352153411
timestemp now 1352151572
date à convertir Mon, 05 Nov 2012 22:27:00 +0100
date locale Mon, 05 Nov 2012 22:39:32 +0100
Date converti 1352154420
timestemp now 1352151572
Posté le : 05/11/2012 22:59
|
|
|
Re: parser un fichier depuis un site externe |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Parfait comme je suis bête, la réponse en face de moi. Chapeau bas pour Montuy. Merci beaucoup
Posté le : 18/10/2012 01:26
|
|
|
Re: parser un fichier depuis un site externe |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
j'ai une table nommé article_categorie composée et 3 colonnes id, name et feed. je veux avoir un array composé de tous les feed avec le id qui lui correspond pour l'utiliser par la suite dans une boucle foreach et utiliser le $key et le $value comme je veux($key correspond a id et $value correspond au feed). j'ai essayé avec cette requête mais l'array de sortie est composé seulement des feed pas de id.
$sql10 = 'SELECT * FROM ' . $xoopsDB -> prefix('article_categorie' ) . ' where feed != "" ';
$result10 = $xoopsDB -> query( $sql10);
$f=0;
while($arr10 = $xoopsDB -> fetchArray( $result10 )){
$urls[$f] = $arr10['feed'];
$f++;
}
var_dump($urls);
foreach ($urls as $key => $url) {
echo $key;
echo '<br>';
echo $url;
}
/////////////////////////////////
//je tombe sur un array simple./
////////////////////////////////
$urls = array(
"http://www.link1.com/rss",
"http://www.link2.com/10.xml",
"http://www.link3.com",
"http://www.link4.com",
"http://www.link5.com",
"http://www.link6.com",
"http://www.link8.com",
"http://www.link7.com",
"http://www.link9.com",
"http://www.link10.com",
"http://www.link11.com",
// "http://link12.com" );
ce que je veux c'est un array sous forme de
$urls = array(
"http://www.link1.com/rss" => 154,
"http://www.link2.com/10.xml" => 155,
"http://www.link3.com" => 156,
"http://www.link4.com" => 157,
"http://www.link5.com" => 162,
"http://www.link6.com" => 163,
"http://www.link8.com" => 164,
"http://www.link7.com" => 165,
"http://www.link9.com" => 166,
"http://www.link10.com" => 167,
"http://www.link11.com" => 168,
// "http://link12.com" => 169 );
j'ai déjà essayé pas mal de chose mais le $key prend toujours le nombre de l’itération c'est dire 0 1 2 3 4 5 6 7 8 9, je veux que $key prend le id de la categorie. Merci
Posté le : 17/10/2012 00:28
|
|
|
Re: parser un fichier depuis un site externe |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
J'arrive finalement waw. j'ai appliqué ton demarche et ça marche perfect pas plus que 2 secondes. grand merci pour montuy. il me reste un petit probleme c'est comment obtenir l'array des link a partir de la base de donnée.
if ( time() >= $last_run1 + (60 * 5)) { // 60 * 5 is 5 minutes
$sql10 = 'SELECT * FROM ' . $xoopsDB -> prefix( 'article_categorie' ) . ' where blog != "" ';
$result10 = $xoopsDB -> query( $sql10);
$f=0;
while($arr10 = $xoopsDB -> fetchArray( $result10 )){
$urls[$f] = $arr10['blog'];
//var_dump($urls[$f]);
$f++; }
$url = $arr['blog'];
//je tombe sur un array simple.
$aurls = array( "http://www.link1.com/rss", "http://www.link2.com/10.xml", "http://www.link3.com", "http://www.link4.com", "http://www.link5.com", "http://www.link6.com", "http://www.link8.com", "http://www.link7.com", "http://www.link9.com", "http://www.link10.com", "http://www.link11.com", // "http://link12.com" );
je le veut comme ça merci et bonne soirée.
$aurls = array( "http://www.link1.com/rss" => 154, "http://www.link2.com/10.xml" => 155, "http://www.link3.com" => 156, "http://www.link4.com" => 157, "http://www.link5.com" => 162, "http://www.link6.com" => 163, "http://www.link8.com" => 164, "http://www.link7.com" => 165, "http://www.link9.com" => 166, "http://www.link10.com" => 167, "http://www.link11.com" => 168, // "http://link12.com" => 169 );
Posté le : 15/10/2012 01:03
|
|
|
Re: parser un fichier depuis un site externe |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Merci montuy je vois ton idée, en php ça donne quoi si t'as le code direct je serai reconnaissant.
Posté le : 13/10/2012 23:14
|
|
|
Re: parser un fichier depuis un site externe |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Bonsoir voilà je viens d'essayer pas mal de calss pour parser un xml. finalement j'ai décidé d'appliquer ce code
$aurls = array( "http://www.link1.com/rss" => 154,
"http://www.link2.com/10.xml" => 155,
"http://www.link3.com" => 156,
"http://www.link4.com" => 157,
"http://www.link5.com" => 162,
"http://www.link6.com" => 163,
"http://www.link8.com" => 164,
"http://www.link7.com" => 165,
"http://www.link9.com" => 166,
"http://www.link10.com" => 167,
"http://www.link11.com" => 168,
// "http://link12.com" => 169 );
$i=0;
$multiCurl= curl_multi_init();
foreach ($aurls as $url => $v) {
$curls[$i] = curl_init();
curl_setopt($curls[$i], CURLOPT_URL, $url);
curl_setopt($curls[$i], CURLOPT_HEADER, 0);
curl_setopt($curls[$i], CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($multiCurl,$curls[$i]);
$i+=1; } /*** Exécute le gestionnaire de connexion */
$running=null;
do
{ curl_multi_exec($multiCurl,$running);
} while ($running > 0);
for($j=0; $j<$i; $j++){ $page[]=curl_multi_getcontent($curls[$j]);
curl_multi_remove_handle($multiCurl, $curls[$j]);
$ok = new SimpleXMLElement( $page[$j] );
foreach($ok->channel->item as $item){
$title = $item->title;
$guid = $item->guid;
$link = $item->link;
$description1 = $item->description;
$pubDate = $item->pubDate;
$Date = time();
$titleexist = " SELECT lid FROM " . $xoopsDB -> prefix( 'test_article_xml' ) . " WHERE link_articlexml = '" . addslashes($link) . "'"; $resultexist = $xoopsDB->query($titleexist); $filecount = $xoopsDB -> getRowsNum( $resultexist );
if ($filecount == 0) { //fonction insert
echo ' pas enregistre '; }
if ($filecount == 1) { //fonction ignorer
echo ' deja enregistre '; }
if ($filecount > 1) { //fonction delete
echo ' deja enregistre plusieurs fois '; }
} }
/*** Ferme les gestionnaires */
curl_multi_close($multiCurl);
ça me donne exactement se que je voulais mais ça prend trop de temps pour s’exécuter dans le mode debug ça me donne 0.12 ~~0.19 seconde pour chaque requête
$titleexist = " SELECT lid FROM " . $xoopsDB -> prefix( 'test_article_xml' ) . " WHERE link_articlexml = '" . addslashes($link) . "'";
$resultexist = $xoopsDB->query($titleexist);
$filecount = $xoopsDB -> getRowsNum( $resultexist );
c'est a dire en vérifiant si l'article est enregistré dans la base donnée ou pas. pour 50 item * 10 feed * 0.15 requête = 75 secondes. avec la méthode SELECT count(*) ça donne la même chose. j'ai mis une limite de 5 item donc le temps devient environ 6 ou 7 secondes c'est acceptable a mon avis. bon maintenant il reste 2 choses a régler. dans la fonction insert comment je peux insérer le key $v pour chaque url disons catégorie. la requête a faire sur ma base de donnée pour obtenir un array sous forme de
$aurls = array( "http://www.link1.com/rss" => 154,
"http://www.link2.com/10.xml" => 155,
"http://www.link3.com" => 156,
"http://www.link4.com" => 157,
"http://www.link5.com" => 162,
"http://www.link6.com" => 163,
"http://www.link8.com" => 164,
"http://www.link7.com" => 165,
"http://www.link9.com" => 166,
"http://www.link10.com" => 167,
"http://www.link11.com" => 168,
// "http://link12.com" => 169 );
>>pour toute autre suggestion je suis preneur. Merci
Posté le : 13/10/2012 21:10
|
|
|