function SetCond ($TypF,$ValF,$NegF,$NomChp) { if ($ValF!=NULL && $Vaf!="%") { switch ($TypF) { // switch sur type de filtrage case "INPLIKE" : // boite d'entrée $ValF=trim($ValF); if (substr($ValF,-1,1)!="%") $ValF.="%"; $cond="$NomChp LIKE '".$ValF."'"; break; case "LDM" : // liste à choix multiples de valeurs ds ce cas la valeur est un tableau // la condition résultante est omChp LIKE '%Val1%' or NomChp LIKE '%Val2%' etc ... if (is_array($ValF)) { // teste Valf est un tabelau foreach ($ValF as $valf) { if ($valf=="%" || $valf=="000") { $cond=""; break; // pas de condition s'il y a % } else $cond.="$NomChp LIKE '".$valf."' OR "; // avant on entourait de % la valeur } if ($cond!="") $cond="(".substr($cond,0,strlen($cond)-4).")"; // vire le dernier OR // et rajoute () !! } // si ValF pas tableau else $cond=""; break; case "LDMEG" : // liste à choix multiples de valeurs ds ce cas la valeur est un tableau // la condition résultante est un NomChp ='Val1' or NomChp ='Val2' etc ... if (is_array($ValF)) { // teste Valf est un tabelau foreach ($ValF as $valf) { if ($valf=="%" || $valf=="000") { $cond=""; break; // pas de condition s'il y a % } else $cond.="$NomChp='".$valf."' OR "; } if ($cond!="") $cond="(".substr($cond,0,strlen($cond)-4).")"; // vire le dernier OR // et rajoute () !! } // si ValF pas tableau else $cond=""; break; case "DANT" : // date antérieure à case "DPOST" : // date antérieure à if ($ValF=="%" || $ValF=="") break; // pas de condition $oprq=($TypF=="DANT" ? "<=" : ">="); // calcul de l'opérateur $cond="$NomChp $oprq '".DateA($ValF)."'"; break; case "DATAP" : // date inf et sup if ($ValF[0]!="%" && $ValF[0]!="") $cond="$NomChp >= '".DateA($ValF[0])."'"; if ($ValF[1]!="%" && $ValF[1]!="") { $cond=($cond=="" ? "" : $cond." AND "); $cond.="$NomChp <= '".DateA($ValF[1])."'"; } break; default : $cond=""; break; } // fin switch } // fin CalF a une valeur cohérente else $cond=""; if ($cond!="" && $NegF!="") $cond="NOT(".$cond.")"; // negationne éventuellement return($cond); } // fin fonction SteCond
function SetCond ($TypF,$ValF,$NegF,$NomChp,$typChpNum=false) { if ($ValF!=NULL && $ValF!="%") { if (!is_array($ValF)) $ValF = $typChpNum ? ($ValF + 0) : db_escape_string($ValF); switch ($TypF) { // switch sur type de filtrage case "EGAL" : // special $ValF=trim($ValF); $cond=$typChpNum ? "$NomChp = $ValF" : "$NomChp = '".$ValF."'"; break; case "INPLIKE" : // boite d'entr� $ValF=trim($ValF); if (substr($ValF,-1,1)!="%" && !$typChpNum) $ValF.="%"; $cond=$typChpNum ? "$NomChp = $ValF" : "$NomChp LIKE '".$ValF."'"; break; case "LDM" : // liste �choix multiples de valeurs ds ce cas la valeur est un tableau // la condition r�ultante est omChp LIKE '%Val1%' or NomChp LIKE '%Val2%' etc ... if (is_array($ValF)) { // teste Valf est un tabelau foreach ($ValF as $valf) { if ($valf=="%" || $valf=="000") { $cond=""; break; // pas de condition s'il y a % } else $cond.=$typChpNum ? "$NomChp = $valf OR " : "$NomChp LIKE '%".db_escape_string($valf)."%' OR "; // on av vire les % puis les a remis } if ($cond!="") $cond="(".substr($cond,0,strlen($cond)-4).")"; // vire le dernier OR // et rajoute () !! } else { // si ValF pas tableau if ($ValF=="%" || $ValF=="000") { $cond=""; } else { if (!$typChpNum) $gi="'"; $op = strstr($ValF,"%,") ? "LIKE" : "="; // dans le cas des LD valeurs fixes multiple, ça peut merder... une cond = "%,toto,%" ne ramène rien $cond="($NomChp $op $gi$ValF$gi)"; } } break; case "LDMEG" : // liste �choix multiples de valeurs ds ce cas la valeur est un tableau // la condition r�ultante est un NomChp ='Val1' or NomChp ='Val2' etc ... if (is_array($ValF)) { // teste Valf est un tabelau foreach ($ValF as $valf) { if ($valf=="%" || $valf=="000") { // ya un bug avec les enum qui contiennent '0'; arrive pas à le résoudre //if ($NomChp == "ECR_POINTAGE") { echo "$NomChp , the val ($TypF) : " ; print_r($ValF);} $cond=""; break; // pas de condition s'il y a % } else $cond.=$typChpNum ? "$NomChp = $valf OR " : "$NomChp='".db_escape_string($valf)."' OR "; } if ($cond!="") $cond="(".substr($cond,0,strlen($cond)-4).")"; // vire le dernier OR // et rajoute () !! } // si ValF pas tableau else { if ($ValF=="%" || $ValF=="000") { $cond=""; } else { if (!$typChpNum) $gi="'"; $cond="($NomChp = $gi$ValF$gi)"; } } break; // special pour liaison multiple: solutionne le pb qui fait que typo met pas les , au debut et a la fin case "LDM_SPL": if (is_array($ValF)) { // teste Valf est un tabelau foreach ($ValF as $valf) { if ($valf=="%" || $valf=="000") { $cond=""; break; // pas de condition s'il y a % } else $cond.="($NomChp LIKE '%,".db_escape_string($valf).",%' OR $NomChp LIKE '".db_escape_string($valf).",%' OR $NomChp LIKE '%,".db_escape_string($valf)."' OR $NomChp='".db_escape_string($valf)."') OR "; } if ($cond!="") $cond="(".substr($cond,0,strlen($cond)-4).")"; // vire le dernier OR // et rajoute () !! } // si ValF pas tableau else $cond=""; break; case "DANT" : // date ant�ieure � case "DPOST" : // date ant�ieure if ($ValF=="%" || $ValF=="") break; // pas de condition $oprq=($TypF=="DANT" ? "<=" : ">="); // calcul de l'op�ateur if ($typChpNum) { // alors c un tstamp $cond="$NomChp $oprq ".DateF2tstamp($ValF).""; } else $cond="$NomChp $oprq '".DateA($ValF)."'"; break; case "DATAP" : // date inf et sup if ($ValF[0]!="%" && $ValF[0]!="") { if ($typChpNum) { // alors c un tstamp $cond="$NomChp >= ".DateF2tstamp($ValF[0]).""; } else $cond="$NomChp >= '".DateA($ValF[0])."'"; } if ($ValF[1]!="%" && $ValF[1]!="") { $cond=($cond=="" ? "" : $cond." AND "); if ($typChpNum) { // alors c un tstamp $cond="$NomChp <= ".DateF2tstamp($ValF[1]).""; } else $cond.="$NomChp <= '".DateA($ValF[1])."'"; } break; case "VINF" : // inf case "VSUP" : // sup if ($ValF=="%" || $ValF=="") break; // pas de condition $oprq=($TypF=="VINF" ? "<=" : ">="); // calcul de l'op�ateur if ($typChpNum) { // $cond="$NomChp $oprq $ValF"; } else // marche avec alpha $cond="$NomChp $oprq '".$ValF."'"; break; case "VIS" : // inf et sup if ($ValF[0]!="%" && $ValF[0]!="") { if ($typChpNum) { // alors c un tstamp $cond="$NomChp >= ".$ValF[0].""; } else // marche avec alpha $cond="$NomChp >= '".$ValF[0]."'"; } if ($ValF[1]!="%" && $ValF[1]!="") { $cond=($cond=="" ? "" : $cond." AND "); if ($typChpNum) { // $cond.="$NomChp <= ".$ValF[1].""; } else $cond.="$NomChp <= '".$ValF[1]."'"; } break; case "NOTNUL" : // inf et sup $cond = "(".$NomChp ." IS NOT NULL AND ".($typChpNum ? "$NomChp!=0" : "$NomChp!=''"). ") "; break; default : $cond=""; break; } // fin switch } // fin ValF a une valeur coh�ente else $cond=""; if ($cond!="" && $NegF!="") $cond="NOT(".$cond.")"; // negationne �entuellement return($cond); } // fin fonction SteCond
echo ' <form > Emplact : <input type="texte" name="Emplact"> Date parution deb : <input type="texte" name="DateDeb"> Date parution fin : <input type="texte" name="Datefin"> Pid_dest : <input type="texte" name="pid"> <input type="hidden" name="sent" value="1"> <input type="submit"> </form> '; } else { echo "Ca mouline \n\n"; $db = mysql_select_db($mysql_db_dest); msq("DELETE FROM tt_content WHERE pid ={$_REQUEST['pid']} AND tx_gsttopcontent_abstract='totoche'"); $db = mysql_select_db($mysql_db_orig); $reso = msq("SELECT * FROM demandes where Emplact='{$_REQUEST['Emplact']}' AND DatDebPar >= '" . DateA($_REQUEST['DateDeb']) . "' AND DatDebPar <= '" . DateA($_REQUEST['Datefin']) . "'"); while ($rwo = mysql_fetch_array($reso)) { $db = mysql_select_db($mysql_db_dest); $tbdatap = explode("-", $rwo[DateDem]); // tableau année|mois|jur $tsdatap = mktime(0, 0, 0, $tbdatap[1], $tbdatap[2], $tbdatap[0]); // en ts unix $sqli = "INSERT INTO tt_content \n\t\t( pid , tstamp , crdate , hidden , sorting , CType , header , header_position , bodytext , image , imagewidth , imageorient , imagecaption , imagecols , imageborder , media , layout , deleted , cols , records , pages , starttime , endtime , colPos , subheader , spaceBefore , spaceAfter , fe_group , header_link , imagecaption_position , image_link , image_zoom , image_noRows , image_effects , image_compression , header_layout , text_align , text_face , text_size , text_color , text_properties , menu_type , list_type , table_border , table_cellspacing , table_cellpadding , table_bgColor , select_key , sectionIndex , linkToTop , filelink_size , section_frame , date , splash_layout , multimedia , image_frames , recursive , imageheight , module_sys_dmail_category , rte_enabled , sys_language_uid , tx_impexp_origuid , tx_pagephpcontent_php_code , t3ver_oid , t3ver_id , t3ver_label , pi_flexform , l18n_parent , l18n_diffsource , tx_gsttopcontent_abstract )\n\t\tVALUES (\n\t\t {$_REQUEST['pid']},{$tsdatap},{$tsdatap},0,514,'uploads','" . addslashes($rwo[Titre]) . "(" . DateF($rwo['DatDebPar']) . "','','','',0,8,'',\n\t\t0,0,'{$rwo['FichImg']}',0,0,0,'','',0,0,0,'',0,0,0,'','','',0,0,0,0,3,'',0,0,0,0,0,'',0,0,0,0,'',1,0,1,0,0,0,'',0,0,0,0,0,0,0,'',0,0,'','',0,'a:26:{s:5:\"CType\";N;s:16:\"sys_language_uid\";N;s:6:\"colPos\";N;s:11:\"spaceBefore\";N;s:10:\"spaceAfter\";N;s:13:\"section_frame\";N;s:12:\"sectionIndex\";N;s:9:\"linkToTop\";N;s:6:\"header\";N;s:15:\"header_position\";N;s:13:\"header_layout\";N;s:11:\"header_link\";N;s:4:\"date\";N;s:5:\"media\";N;s:10:\"select_key\";N;s:6:\"layout\";N;s:13:\"table_bgColor\";N;s:12:\"table_border\";N;s:17:\"table_cellspacing\";N;s:17:\"table_cellpadding\";N;s:13:\"filelink_size\";N;s:12:\"imagecaption\";N;s:6:\"hidden\";N;s:9:\"starttime\";N;s:7:\"endtime\";N;s:8:\"fe_group\";N;}','totoche')"; msq($sqli); $db = mysql_select_db($mysql_db_orig); echo "AO : " . $rwo['Titre'] . " (" . DateF($rwo['DatDebPar']) . ") fichier " . $rwo['FichImg'] . " \n"; } } die("coucou"); // MAJ des rubriques =pages if ($_GET[action] == 1) {