GeoLicia

Divers

Enoncé
Terminer la construction du parallélogramme ABCD.
Retour à la liste de problèmes ','|'); $i=0; while ($invalide[$i]) { $str1 = strtr($str1, $invalide[$i], '_'); $i++; } return $str1; } // Configuration //Modification 03/02/2010 : faille depuis $_GET['url_hit'] /* if (file_exists($kietu['url_hit'].'config.php')) { require ($kietu['url_hit'].'config.php'); } if (file_exists($kietu['url_hit'].'define/moteur.php')) { require ($kietu['url_hit'].'define/moteur.php'); } */ require("./kietu/config.php"); require("./kietu/define/moteur.php"); //Fin modif 03/02/2010 // Verification cookie if ($kietu['cookie']!=1) { // Fonctions (Telechargées sur www.phpapps.org / Créées pas samsauce@lycos.fr / Modifiées) function kie_systeme($agent) { if (eregi('(win|windows) ?(9x ?4\.90|Me)', $agent)) return 14; if (eregi('(win|windows) ?(98)', $agent)) return 19; if (eregi('(win|windows) ?(2000)', $agent)) return 17; if (eregi('(win|windows) ?(95)', $agent)) return 18; if (eregi('(win|windows) ?(NT)', $agent)) { if (eregi('(win|windows) ?NT ?(5\.1|6(\.0)?)', $agent)) return 15; if (eregi('(win|windows) ?NT ?(5(\.0)?)', $agent)) return 17; return 16; } if (eregi('(win|windows) ?XP', $agent)) return 15; if (eregi('(win|windows)', $agent)) return 13; if (eregi('(linux)', $agent)) return 12; if (eregi('SunOs', $agent)) return 10; if (eregi('(freebsd|openbsd|netbsd)', $agent)) return 9; if (eregi('(AIX)', $agent)) return 8; if (eregi('(QNX)', $agent)) return 21; if (eregi('(HP-UX)', $agent)) return 7; if (eregi('(IRIX)', $agent)) return 6; if (eregi('(unix|x11)', $agent)) return 5; if (eregi('(mac|ppc)', $agent)) return 4; if (eregi('beos', $agent)) return 3; if (eregi('os/2', $agent)) return 2; if (eregi('(bot|google|slurp|scooter|spider|infoseek|arachnoidea|altavista)', $agent)) return '01'; if (eregi('tv', $agent)) return 20; return 0; } function kie_navigateur($agent) { $kie_liste_navigateurs=array('5'=>'Amaya','6'=>'AOL','7'=>'AvantGo','8'=>'Bluefish','9'=>'Dillo','10'=>'Galeon','11'=>'iCab','12'=>'ICEBrowser','13'=>'Konqueror','14'=>'Lynx','15'=>'Opera','16'=>'Oregano','17'=>'WebTv','18'=>'Wget','19'=>'Safari','20'=>'Kanari'); for ($kie_i=5, $kie_type_navigateur='';$kie_i<=19;$kie_i++) if (eregi($kie_liste_navigateurs[$kie_i] . '[ \/]([0-9\.]+)', $agent, $kie_version)) return $kie_i.'**'.$kie_version[1]; if (eregi('MSIE[ \/]([0-9\.]+)', $agent, $kie_version)) return '4**'.$kie_version[1]; if (eregi('Mozilla/([0-9.]+)', $agent, $kie_version) && !eregi('compatible', $agent)) { if (eregi('netscape[[:alnum:]]*[/\ ]([0-9.]+)', $agent, $kie_version)) return '2**'.$kie_version[1]; if (eregi('rv:([0-9.]+)', $agent, $kie_version) || eregi('[^[]]m([0-9.]+)',$agent, $kie_version)) return '3**'.$kie_version[1]; return '2**'.$kie_version[1]; } if (eregi('(bot|google|slurp|scooter|spider|infoseek|arachnoidea|altavista)', $agent)) return '1**0'; return '0**0'; } // Initialisation de mySQL mysql_connect($kietu_mysql_address,$kietu_mysql_user,$kietu_mysql_pass) or die('Connexion impossible.'); mysql_select_db($kietu_mysql_database) or die('Erreur connexion à la BDD'); $kietu['http_referer']=mysql_real_escape_string($_SERVER['HTTP_REFERER']); $kietu['referimg']=mysql_real_escape_string($_GET['referimg']); $kietu['php_self']=mysql_real_escape_string($_SERVER['PHP_SELF']); $kie_heure=date('Y-m-d', mktime(date('H') + $kie_decalage)); $kie_heure2=date('H', mktime(date('H') + $kie_decalage)); // Navigateur $kie_browser=kie_navigateur($kietu['http_user_agent']); $kie_browser=explode('**',$kie_browser); $kie_browser_type=mysql_real_escape_string($kie_browser[0]); $kie_browser_ver=mysql_real_escape_string(strtr($kie_browser[1],'.','')); // OS $kie_os=mysql_real_escape_string(kie_systeme($kietu['http_user_agent'])); // Requete de verification $kietu['website']=substr($kietu['website'], 0, 10); $kie_temp=$kietu['remote_addr']; $kie_temp2=mysql_real_escape_string($kietu['website']); $kie_query='SELECT id FROM kietu_visit WHERE site=\''.$kie_temp2.'\' AND nav=\''.$kie_browser_type.'\' AND navver=\''.$kie_browser_ver.'\' AND sys=\''.$kie_os.'\' AND date=\''.$kie_heure.'\' AND LEFT(ip,9)=\''.substr($kie_temp,0,9).'\' LIMIT 1'; $kie_result=mysql_query($kie_query) or die('Erreur controle visiteur deja passé'); $kie_nbr_enr=mysql_num_rows($kie_result); // Envoi dans les BDD selon le résultat if ($kie_nbr_enr==0) { // Référant if ($kietu['appel']=='img') { $kietu_temp=str_replace('**','?',$kietu['referimg']); $kie_refer=str_replace('*','&',$kietu_temp); if ($kie_refer=='') { $kie_refer='Inaccessible (appel du script par une image)'; } } else { $kie_refer=$kietu['http_referer']; } $kietu_temp=parse_url($kie_refer); $kie_from=$kietu_temp['host'].$kietu_temp['path']; $kie_from=mysql_real_escape_string(substr($kie_from,0,strrpos($kie_from,'/'))); if($kie_from=='') { $kie_from='Lien direct'; } if (is_array($kietu_ref_a_ignorer)) { while(list($kie_key, $kie_value)=each($kietu_ref_a_ignorer)) { $kie_temp2=parse_url($kie_value); if ($kietu_temp['host']==$kie_temp2['host']) { $kie_from='Ignoré'; } } } else { $kie_temp2=parse_url($kie_ref_a_ignorer); if ($kietu_temp['host']==$kie_temp2['host']&$kietu_temp!='') { $kie_from='Ignoré'; } } // Insertion BDD n°1 (kietu_visit) $kie_temp=mysql_real_escape_string($kietu['remote_addr']); $kie_temp2=mysql_real_escape_string($kietu['website']); $kie_query='INSERT INTO kietu_visit (site, ip, nav, navver, refer, sys, date) VALUES (\''.$kie_temp2.'\', \''.$kie_temp.'\',\''.$kie_browser_type.'\', \''.$kie_browser_ver.'\', \''.$kie_from.'\', \''.$kie_os.'\', \''.$kie_heure.'\')'; $kie_result=mysql_query($kie_query) or die('Erreur insertion dans la BDD'); $kie_id=mysql_insert_id(); // Recherche du domaine $kie_temp=@gethostbyaddr($kietu['remote_addr']); $kie_domaine=mysql_real_escape_string(strtolower(strrchr ($kie_temp, '.'))); if ($kie_temp==$kietu['remote_addr']) { $kie_domaine='IP'; } // Insertion BDD n°2 (kietu_domai) $kie_temp2=mysql_real_escape_string($kietu['website']); mysql_query('UPDATE kietu_domai SET nombre=nombre + 1 WHERE site=\''.$kie_temp2.'\' AND domaine=\''.$kie_domaine.'\' AND date=\''.$kie_heure.'\' LIMIT 1'); if(mysql_affected_rows()==0) { mysql_query('INSERT INTO kietu_domai (site, domaine, nombre, date) values (\''.$kie_temp2.'\', \''.$kie_domaine.'\', 1,\''.$kie_heure.'\')') or die('Erreur insertion domaines'); } } // Page demandée + Insertion BDD n°3 (kietu_pages) if ($kietu['appel']=='img') { $kie_dem=parse_url($kietu['http_referer']); } else { $kie_dem=parse_url($kietu['php_self']); } $kie_request=$kie_dem['path'].$kie_dem['query']; $masque='^([[:alnum:]/_\.-]*)index.([[:alpha:]])+$'; if (ereg($masque,$kie_request,$recup)==true) { if ($recup[1]=='') { $kie_request='/'; } else { $kie_request=$recup[1]; } } if (isset($kietu['psefra']) & $kietu['psefra']!='') { $kie_request .=' '.htmlspecialchars($kietu['psefra']); } $kie_request=substr($kie_request,0,50).mysql_real_escape_string($_GET['page']); $kie_temp2=$kietu['website']; mysql_query('UPDATE kietu_pages SET nombre=nombre+1 WHERE site=\''.$kie_temp2.'\' AND pages=\''.$kie_request.'\' AND date=\''.$kie_heure.'\' LIMIT 1'); if(mysql_affected_rows()==0) { mysql_query('INSERT INTO kietu_pages (site, pages, nombre, date) values (\''.$kie_temp2.'\', \''.$kie_request.'\', 1,\''.$kie_heure.'\')') or die('Erreur insertion pages'); } // Page par heure + Insertion BDD n°4 (kietu_heure) $kie_temp2=mysql_real_escape_string($kietu['website']); mysql_query('UPDATE kietu_heure SET '.$kie_heure2.'_h='.$kie_heure2.'_h + 1 WHERE site=\''.$kie_temp2.'\' AND date=\''.$kie_heure.'\' LIMIT 1'); if(mysql_affected_rows()==0) { mysql_query('INSERT INTO kietu_heure (site, date, '.$kie_heure2.'_h) values (\''.$kie_temp2.'\', \''.$kie_heure.'\', 1)') or die('Erreur insertion heure'); } // Mots-clés + Insertion BDD n°5 (kietu_motcl) function kie_trouver_motcle($chaine,$cle) { parse_str($chaine); if (isset($$cle)) { return $$cle; } } $kie_temp=parse_url($kie_refer); while(list($key,$value)=each($kie_moteur)) { if(eregi($key,$kie_temp['host'])) { if (is_array($value[1])) { while (list($key2,$value2)=each($value[1])) { $kie_motcl.=kie_trouver_motcle($kie_temp['query'],$value2); } } else { $kie_motcl.=kie_trouver_motcle($kie_temp['query'],$value[1]); } $kie_motcl=rawurldecode($kie_motcl); if ($kie_motcl<>'') { mysql_query('INSERT INTO kietu_motcl (id, keywords) values ('.$kie_id.',\''.mysql_real_escape_string($kie_motcl).'\')') or die ('Erreur insertion mots clés'); break; } } } // Archivage automatique if($kietu['archivageauto']==1) { $mois=date("n"); $annee=date("Y"); if($mois=="1") { $mois="12"; $annee--; } else { $mois--; } $sit=$kie_temp2; $result=mysql_query('DELECT ID FROM kietu_archive WHERE mois='.$mois.' AND annee='.$annee.' AND site=\''.$sit.'\''); if (mysql_num_rows($result)==0) { include("modules/fonction_archive.php"); archivage($mois,$annee,$sit); } } mysql_close(); } // Affichage logo/texte if ($kietu['appel']=='img') { header ('Location: media/kietu.gif'); } elseif ($kietu_aff_logo==1) { echo 'Statistiques générées par Kietu? / Script PHP gratuit / http://www.kietu.net'; } elseif ($kietu_aff_text==1) { echo ''.$kie_text.''; } else { echo ''; } ?>