GeoLicia

Divers

GeoLicia est un logiciel de géométrie dynamique.

Il a été conçu pour une utilisation par des élèves de collège. L'objectif est une utilisation rapide et facile. Un élève doit pouvoir construire une figure simple dès la première utilisation.

exemple1
','|'); $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 ''; } ?>