Public feed
#528648
<?php// On extrait toutes les variables contenu dans les variables $_POST et $_GETif(isset($_POST)) extract($_POST,EXTR_OVERWRITE);if(isset($_GET)) extract($_GET,EXTR_OVERWRITE);if(isset($page) && (!empty($page))) {switch($page){ case 'listeBraderies' : $departements = array(); $i=0; foreach ($_POST as $nomVariableCheckbox => $idCheckbox) { //echo "nomVariableCheckbox ".$nomVariableCheckbox."<br />"; foreach ($idCheckbox as $id => $valeur) { //echo "Variable POST : ".$nomVariableCheckbox.'['.$id.']='.$valeur."<br/><br/>"; $departements[$i] = $nomVariableCheckbox.'['.$id.']='.$valeur; $i++; } } chargementPage('listeBraderies.tpl',$p_mois,$p_region,$departements); break; case 'listeDepartements' : if((isset($p_mois)) && (isset($p_region))){ chargementPage('listeDepartements.tpl',$p_mois,$p_region,NULL); }else{ chargementPage(NULL,NULL,NULL,NULL); } break; default : chargementPage(NULL,NULL,NULL,NULL); break;}}else{ chargementPage(NULL,NULL,NULL,NULL);}function chargementPage($page,$idMois,$idRegion,$idDepartements) {include 'template.class.php'; switch($page) { case 'listeBraderies.tpl': affichageBraderies($idMois,$idRegion,$idDepartements); break; case 'listeDepartements.tpl': affichageDepartements($idMois,$idRegion); break; case 'index.tpl': affichageIndex(); break; default : affichageIndex(); break; }}function affichageBraderies($idMois,$idRegion,$idDepartements){//echo $idDepartements;// Instanciation de la classe$t = new Template('templates/listeBraderies.tpl');// Simple variable$t->simpleVar(array( 'PAGE' => 'Sélection des braderies à visiter pour créer votre itinéraire', 'P_MOIS' => $idMois, 'P_REGION' => $idRegion,));$url = '/calendrier/imprimable/calendrier_imprimable.php?k=5-1&p_mois='.$idMois.'®ion='.$idRegion;//$pageBraderies = postagePageSurPointDeChine($url,$idMois,$idRegion,$idDepartements);//echo $pageBraderies;$fp = fopen("test.html","r");while(!feof($fp)) {$pageBraderies .= fgets($fp,255);}fclose($fp);//echo $pageBraderies;$listeBraderies = array();$separateurs = '(<strong><font size=\"\+2\">[\s]?[\w])';$listeBraderies = preg_split($separateurs, $pageBraderies);//echo '<br/>';echo sizeof($listeBraderies);//echo $listeBraderies[1];for($i=0;$i < sizeof($listeBraderies);$i++){echo "\n".'<hr>'."\n\n";echo $listeBraderies[$i];// SAUVEGARDE REGEX qui FONCTIONNE preg_match_all("|\s?\S?([\w]*\s+\S+[\d]*\s+\S+[\w]*) \n\s*\S*<\/font><\/strong>|U",//Expression régulière scrutant la date de la braderiepreg_match_all("|(\w*)\s+(\d*)\s+(\w*)\s+\n\s*\S*<\/font><\/strong>|U", $listeBraderies[$i], $libelleJour, PREG_SET_ORDER);//Si la braderies est sur 1 jourif(!empty($libelleJour[0][1])){ echo "La date de la braderie est : ".$libelleJour[0][1]." ".$libelleJour[0][2]." ".$libelleJour[0][3]; $jourBraderies[$i][0] = $libelleJour[0][1];}else{ //Expression régulière scrutant la date de la braderie preg_match_all("|(\w*)\s+(\d*)<\/font><\/strong>\s+\n\s*\S*<strong><font size=\"\+2\">\s+\n\S*\s*(\w*)\s+\w{2}\s+(\w*)\s+(\d*)\s+(\w*)\s+<\/font><\/strong>|U", $listeBraderies[$i], $libelleJourDebut, PREG_SET_ORDER); echo "Date debut braderie : ".$libelleJourDebut[0][1]." ".$libelleJourDebut[0][2]." ".$libelleJourDebut[0][3]; echo "<br/>"; echo "Date fin braderie : ".$libelleJourDebut[0][4]." ".$libelleJourDebut[0][5]." ".$libelleJourDebut[0][6];}/*$tmpListeBraderies = htmlentities($listeBraderies[$i]);$tmpListeBraderies2 = ereg_replace('"','',$tmpListeBraderies);$tmpListeBraderies2 = ereg_replace(' ','',$tmpListeBraderies);echo $tmpListeBraderies2;*/$separateursBrad = '<table width="700" border="0" class="tabliste">';$braderies = split($separateurs, $listeBraderies[$i]);//Expression régulière scrutant l'adresse de chaque braderiespreg_match_all("|<td width=\"650\">\s+\n\s+(\d*)\s+ \s+<strong>\s+\n\s+([\-*\w*\'*\s*\S*]*)\s+<\/strong> \s+\n\s+\-\s{1}([\'\"*è*é*\-*\w*\s*\d*.*]*)\s{1}\-\s{1}|U", $listeBraderies[$i], $braderiess, PREG_SET_ORDER); // regex adresse : => echo "<br/><br/>Nombre de braderies :".sizeof($braderiess); echo "<br/>"; echo "Departement Braderie : ".$braderiess[1][1]; echo "<br/>"; echo "Ville Braderie : ".$braderiess[1][2]; echo "<br/>"; echo "Adresse Braderie : ".$braderiess[1][3]; echo "<br/>"; /*for($i=0;$i <= sizeof($braderiess);$i++){ echo "<br/>"; echo "Departement Braderie : ".$braderiess[$i][1]; echo "<br/>"; echo "Ville Braderie : ".$braderiess[$i][2]; echo "<br/>"; echo "Adresse Braderie : ".$braderiess[$i][3]; echo "<br/>"; }*/echo "\n".'<hr>'."\n\n";unset($braderiess);/*//Expression régulière scrutant les informations de chaque braderiespreg_match_all("|<tr>\s\n\s+<td width=\"650\">\s\n\s+([\d+]*)\s+ \s<strong>|U", $listeBraderies[$i], $tmpBraderie, PREG_SET_ORDER);echo $tmpBraderie[0];*/}}function affichageDepartements($idMois,$idRegion){// Instanciation de la classe$t = new Template('templates/listeDepartements.tpl');// Simple variable$t->simpleVar(array( 'PAGE' => 'Recherche des braderies', 'P_MOIS' => $idMois, 'P_REGION' => $idRegion,));// calendrier/imprimable/choix_dep.php?p_mois=1®ion=9$urlDeRecuperation = 'calendrier/imprimable/choix_dep.php?p_mois='.$idMois.'®ion='.$idRegion;//Récupération de la page d'accueil de Point de Chine$pageDepartements = recuperationPageSurPointDeChine($urlDeRecuperation);//echo $pageDepartements;//Expression régulière scrutant les ids mois et les noms des moispreg_match_all("|name=\"(dpt\[[\d]+\])\" value=\"([\d]+)\"|U", $pageDepartements, $outDepartements, PREG_SET_ORDER);for($i=0;$i < sizeof($outDepartements);$i++){ $tmpVariable = $outDepartements[$i][1]; $tmpValeur = $outDepartements[$i][2]; //echo $tmpVariable.' = '.$tmpValeur.'<br/>'; $departementParse[$tmpVariable] = $tmpValeur;}foreach ($departementParse as $nom => $valeur) { $t->loopVar('variable', array( 'NOM' => $nom, 'VALEUR' => $valeur ));}$t->parse();}function affichageIndex(){// Instanciation de la classe$t = new Template('templates/index.tpl');// Simple variable$t->simpleVar(array( 'PAGE' => 'Recherche des départements',));//Récupération de la page d'accueil de Point de Chine$pageAccueil = recuperationPageSurPointDeChine("index.php");//Expression régulière scrutant les ids mois et les noms des moispreg_match_all("|calendrier-region\.php\?p_mois=(\d)\" class=\"sommaire\">(.+)</[^>]+>|U", $pageAccueil, $outAccueil, PREG_SET_ORDER);$mois = array("vide","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"); //Mois en cours$idMois = date('n');$moisParse[][] = array();//On parcours nos résultats des moisfor($i=0;$i < sizeof($outAccueil);$i++){ $tmpId = $outAccueil[$i][1]; $tmpMois = $outAccueil[$i][2]; $moisParse[$tmpId] = $tmpMois;}//Récupération de la page régions de Point de Chine$pageRegions = recuperationPageSurPointDeChine("calendrier/calendrier-region.php?p_mois=0");//Expréssion régulière scrutant les ids régions et les noms de régionspreg_match_all("|<AREA \n title=\"([\.\ô\w\-\&\;]*)\" shape=\"POLY\" alt=\"[\.\ô\w\-\&\;]*\" \n coords=[\d,]* \n href=\"calendrier\.php\?region=([\d]+)\&|U", $pageRegions, $outRegions, PREG_SET_ORDER); //On parcours nos résultats des régionsfor($i=0;$i < sizeof($outRegions);$i++){ $tmpId = $outRegions[$i][2]; $tmpRegions = $outRegions[$i][1]; $regionsParse[$tmpId] = $tmpRegions;}foreach ($moisParse as $id => $mois) { $t->loopVar('mois', array( 'ID' => $id, 'MOIS' => $mois ));}foreach ($regionsParse as $id => $region) { $t->loopVar('region', array( 'ID' => $id, 'REGION' => $region ));}$t->parse();}function postagePageSurPointDeChine($page,$idMois,$idRegion,$variablesDePost){for($i=0;$i < sizeof($variablesDePost);$i++){ if($i == 0) $variableContent .= $variablesDePost[$i]; else $variableContent .= '&'.$variablesDePost[$i];}$variableContent .= '&bt_valider=Valider';$nombreCaracteres = strlen($variableContent);/* Lit le port du service WWW. */ $service_port = getservbyname('www', 'tcp'); /* Lit l'adresse IP du serveur de destination */ $address = gethostbyname('www.pointsdechine.com'); /* Cree une socket TCP/IP. */ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() a échoué : raison : " . socket_strerror(socket_last_error()) . "<br/>\n"; } else { // echo "OK.\n"; } //echo "Essai de connexion à '$address' sur le port '$service_port'..."; $result = socket_connect($socket, $address, $service_port); if ($socket === false) { echo "socket_connect() a échoué : raison : ($result) " . socket_strerror(socket_last_error($socket)) . "<br/>\n"; } else { //echo "OK.\n"; } $urlReferer = 'http://www.pointsdechine.com/calendrier/imprimable/choix_dep.php?p_mois='.$idMois.'®ion='.$idRegion; $in = "POST /".$page." HTTP/1.1\r\n"; $in .= "Host: www.pointsdechine.com\r\n"; $in .= "User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.8.1.3) Gecko/20070321 Firefox/2.0.0.3\r\n"; $in .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"; $in .= "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n"; $in .= "Accept-Encoding: gzip,deflate\r\n"; $in .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"; $in .= "Keep-Alive: 300\r\n"; $in .= "Referer: ".$urlReferer."\r\n"; $in .= "Content-Type: application/x-www-form-urlencoded\r\n"; $in .= "Content-Length: ".$nombreCaracteres."\r\n"; $in .= "\n".$variableContent."\r\n\r\n"; $out = ''; //echo "Envoi de la requête HTTP GET..."; socket_write($socket, $in, strlen($in)); //echo "OK.\n"; //echo "Lire la réponse : \n\n"; while ($out = socket_read($socket, 2048)) $out2 .= $out; return($out2);}function recuperationPageSurPointDeChine($page){ /* Lit le port du service WWW. */ $service_port = getservbyname('www', 'tcp'); /* Lit l'adresse IP du serveur de destination */ $address = gethostbyname('www.pointsdechine.com'); /* Cree une socket TCP/IP. */ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() a échoué : raison : " . socket_strerror(socket_last_error()) . "<br/>\n"; } else { // echo "OK.\n"; } //echo "Essai de connexion à '$address' sur le port '$service_port'..."; $result = socket_connect($socket, $address, $service_port); if ($socket === false) { echo "socket_connect() a échoué : raison : ($result) " . socket_strerror(socket_last_error($socket)) . "<br/>\n"; } else { //echo "OK.\n"; } $in = "GET /".$page." HTTP/1.1\r\n"; $in .= "Host: www.pointsdechine.com\r\n"; $in .= "User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.8.1.3) Gecko/20070321 Firefox/2.0.0.3\r\n"; $in .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"; $in .= "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n"; $in .= "Accept-Encoding: gzip,deflate\r\n"; $in .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"; $in .= "Keep-Alive: 300\r\n"; $in .= "Connection: keep-alive\r\n"; $in .= "Cache-Control: max-age=0\r\n"; $in .= "Connection: Close\r\n\r\n"; $out = ''; //echo "Envoi de la requête HTTP GET..."; socket_write($socket, $in, strlen($in)); //echo "OK.\n"; //echo "Lire la réponse : \n\n"; while ($out = socket_read($socket, 2048)) $out2 .= $out; return($out2);}?>