0) { //on a trouve une page donc on va s'arreter return mysql_fetch_assoc($res); } else { //on a un 404 $is404=true; return null; } } //ensuite on sait que les composants sont prioritaires, on cherche donc une page avec le bon composant et la bonne rubrique si possible if ($comp_id!="") { if ($rub_id!="") { //on essaie d'en trouver une avec la bonne rubrique_id, sinon on prend la racine $sql_query="SELECT C.ID,C.Title,W.* FROM _components AS C JOIN _web AS W ON upper(W.Type)=upper(C.Title) WHERE W.Version='".$VERSION."' AND C.ID='".$comp_id."' AND W.Rub_ID='".$rub_id."' LIMIT 0,1"; //add_trace ("COMP + RUB :".$sql_query); $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); if (mysql_num_rows($res)>0) { //c'est cool on a en une, donc on la recupere return mysql_fetch_assoc($res); } } $sql_query="SELECT Title FROM _components WHERE ID='".$comp_id."' LIMIT 0,1"; $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); if (mysql_num_rows($res)>0) { $foo=mysql_fetch_assoc($res); $type=strtolower($foo['Title']); } $sql_query="SELECT Position FROM _rubriques WHERE ID='".$rub_id."' LIMIT 0,1"; //add_trace ("Position :".$sql_query); $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); if (mysql_num_rows($res)>0) { $foo=mysql_fetch_assoc($res); $rubrique_position=$foo['Position']; } $sql_query="SELECT R.ID,R.Position,W.* FROM _web AS W JOIN _rubriques AS R ON R.ID=W.Rub_ID WHERE W.Version='".$VERSION."' AND W.Type='".$type."' AND (INSTR('".$rubrique_position."',R.Position)>0) ORDER BY LENGTH(R.Position) DESC LIMIT 0,1"; //add_trace ("COMP :".$sql_query); $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); /*$sql_query="SELECT C.ID,C.Title,W.* FROM _components AS C JOIN _web AS W ON upper(W.Type)=upper(C.Title) WHERE W.Version='".$VERSION."' AND C.ID='".$comp_id."' LIMIT 0,1"; //add_trace ("COMP :".$sql_query); $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query);*/ if (mysql_num_rows($res)>0) { //c'est cool on a en une, donc on la recupere return mysql_fetch_assoc($res); } else { $is404=true; return null; } } //nous n'avons ni page_id ni comp_id, il ne nous reste donc plus qu'à trouver les rub_id if ($rub_id!="") { //on essaie de trouver un element avec la bonne rubrique $sql_query="SELECT * FROM _web WHERE `Version`='".$VERSION."' AND `Rub_ID`='".$rub_id."' LIMIT 0,1"; $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); if (mysql_num_rows($res)>0) { return mysql_fetch_assoc($res); } else { $is404=true; return null; } } $is404=true; return null; } //$sql_query=gen_query(); //$res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); $donnees_page=gen_query(); $page_id=$donnees_page['ID']; $page_idx=$donnees_page['Index']; if ($rub_id=="") { $rub_id=$donnees_page['Rub_ID']; } if (strlen($donnees_page['Access'])>0) { $test=false; if (strlen($_SESSION['s_foffers'])>0) { $a=explode(";",$_SESSION['s_foffers']); for ($i=0;$i0) { $donnees_page2=mysql_fetch_assoc($res); header ("Location: ".$donnees_page2['Index']."-".$donnees_page2['Friendly_Url'].".htm");die(); } else { header ("Location: /");die(); } } } if ($is404==true) { /*on traite les 404*/ $foo=$_SERVER['REQUEST_URI']; $foo2=explode("?",$foo); $sql_query="SELECT * FROM _redirects WHERE `Source` LIKE '".$foo2[0]."'"; $res=mysql_query($sql_query); if (mysql_num_rows($res)) { $destin=mysql_fetch_assoc($res); header('Location: '.$destin['Dest']);die(); } $sql_query="SELECT * FROM _web WHERE `Version`='".$VERSION."' AND `Type`='404' LIMIT 0,1"; $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); $donnees_page= mysql_fetch_assoc($res); $page_id=$donnees_page['ID']; /*if (stripos($_SERVER["HTTP_REFERER"],SITE)===false) { if ($DEBUG) { add_trace("404, requete : ".$_SERVER['REQUEST_URI']." renvoyé sur la page d'accueil"); } $sql_query="SELECT * FROM _web WHERE `Version`='".$VERSION."' AND `Index`='1' LIMIT 0,1"; $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); $donnees_page= mysql_fetch_assoc($res); $page_id=$donnees_page['ID']; } else { //on renvoie sur la page 404 if ($DEBUG) { add_trace("404, requete : ".$_SERVER['REQUEST_URI']." renvoyé sur la page 404"); } $sql_query="SELECT * FROM _web WHERE `Version`='".$VERSION."' AND `Type`='404' LIMIT 0,1"; $res=mysql_query($sql_query) or die ('Page introuvable : '.$sql_query); $donnees_page= mysql_fetch_assoc($res); $page_id=$donnees_page['ID']; } */ } //include "inc/stats_v2.php"; if ($CACHE) { $filename="cache/".$VERSION."-".$page_id.".php"; if (file_exists($filename)) { } else { include "inc/genpage.php"; } /* a completer pour la gestion du cache*/ } else { /*on doit générer la page pour l'inclure*/ include "inc/genpage.php"; // echo 'here'; } include "cache/".$VERSION."-".$page_id.".php"; $rub_id=(int) $rub_id; $elt_id=(int) $elt_id; $comp_id=(int) $comp_id; switch($page_idx) { // case "1":$duration=30;$namedcache="page1.htm";$pagecache=true;break; } ?>