/** Cette fonction met à jour un article sur la BDD. */ function UPD() { if ($this->isError()) { return; } $id_article = $this->id_article; $code = Sql_prepareTexteStockage($this->code); $lang = Sql_prepareTexteStockage($this->lang); $position = Sql_prepareTexteStockage($this->position); $code_news = Sql_prepareTexteStockage($this->code_news); $libelle = Sql_prepareTexteStockage($this->libelle); $contenu = Sql_prepareTexteStockage($this->contenu); $date = Sql_prepareTexteStockage($this->date); $image_intro = Sql_prepareTexteStockage($this->image_intro); $etat = Sql_prepareTexteStockage($this->etat); $texte_intro = Sql_prepareTexteStockage($this->texte_intro); $titre_page = Sql_prepareTexteStockage($this->titre_page); $titre = Sql_prepareTexteStockage($this->titre); $meta_titre = Sql_prepareTexteStockage($this->meta_titre) == '' ? Sql_prepareTexteStockage($this->titre) : Sql_prepareTexteStockage($this->meta_titre); $meta_description = Sql_prepareTexteStockage($this->meta_description); $meta_mots_clefs = Sql_prepareTexteStockage($this->meta_mots_clefs); $meta_url = $this->meta_url != '' ? Lib_cleanTxt($this->meta_url) : Lib_cleanTxt($this->titre); $titre_canonize = Lib_canonizeMin(Sql_prepareTexteStockage($this->titre)); $url_vignette = Sql_prepareTexteStockage($this->url_vignette); $url_image = Sql_prepareTexteStockage($this->url_image); $url_image2 = Sql_prepareTexteStockage($this->url_image2); $categorie = Sql_prepareTexteStockage($this->categorie); $titre_data1 = Sql_prepareTexteStockage($this->titre_data1); $data1 = Sql_prepareTexteStockage($this->data1); $titre_data2 = Sql_prepareTexteStockage($this->titre_data2); $data2 = Sql_prepareTexteStockage($this->data2); $titre_data3 = Sql_prepareTexteStockage($this->titre_data3); $data3 = Sql_prepareTexteStockage($this->data3); $titre_data4 = Sql_prepareTexteStockage($this->titre_data4); $data4 = Sql_prepareTexteStockage($this->data4); $titre_data5 = Sql_prepareTexteStockage($this->titre_data5); $data5 = Sql_prepareTexteStockage($this->data5); $titre_data6 = Sql_prepareTexteStockage($this->titre_data6); $data6 = Sql_prepareTexteStockage($this->data6); $titre_data7 = Sql_prepareTexteStockage($this->titre_data7); $data7 = Sql_prepareTexteStockage($this->data7); $titre_data8 = Sql_prepareTexteStockage($this->titre_data8); $data8 = Sql_prepareTexteStockage($this->data8); $titre_data9 = Sql_prepareTexteStockage($this->titre_data9); $data9 = Sql_prepareTexteStockage($this->data9); $titre_data10 = Sql_prepareTexteStockage($this->titre_data10); $data10 = Sql_prepareTexteStockage($this->data10); $titre_data11 = Sql_prepareTexteStockage($this->titre_data11); $data11 = Sql_prepareTexteStockage($this->data11); $titre_data12 = Sql_prepareTexteStockage($this->titre_data12); $data12 = Sql_prepareTexteStockage($this->data12); $titre_data13 = Sql_prepareTexteStockage($this->titre_data13); $data13 = Sql_prepareTexteStockage($this->data13); $titre_data14 = Sql_prepareTexteStockage($this->titre_data14); $data14 = Sql_prepareTexteStockage($this->data14); $titre_data15 = Sql_prepareTexteStockage($this->titre_data15); $data15 = Sql_prepareTexteStockage($this->data15); $titre_data16 = Sql_prepareTexteStockage($this->titre_data16); $data16 = Sql_prepareTexteStockage($this->data16); $titre_data17 = Sql_prepareTexteStockage($this->titre_data17); $data17 = Sql_prepareTexteStockage($this->data17); $titre_data18 = Sql_prepareTexteStockage($this->titre_data18); $data18 = Sql_prepareTexteStockage($this->data18); $titre_data19 = Sql_prepareTexteStockage($this->titre_data19); $data19 = Sql_prepareTexteStockage($this->data19); $titre_data20 = Sql_prepareTexteStockage($this->titre_data20); $data20 = Sql_prepareTexteStockage($this->data20); $titre_fichier1 = Sql_prepareTexteStockage($this->titre_fichier1); $fichier1 = Sql_prepareTexteStockage($this->fichier1); $titre_fichier2 = Sql_prepareTexteStockage($this->titre_fichier2); $fichier2 = Sql_prepareTexteStockage($this->fichier2); $titre_fichier3 = Sql_prepareTexteStockage($this->titre_fichier3); $fichier3 = Sql_prepareTexteStockage($this->fichier3); $titre_fichier4 = Sql_prepareTexteStockage($this->titre_fichier4); $fichier4 = Sql_prepareTexteStockage($this->fichier4); $titre_fichier5 = Sql_prepareTexteStockage($this->titre_fichier5); $fichier5 = Sql_prepareTexteStockage($this->fichier5); $date_upd = time(); $info_article = Sql_prepareTexteStockage($this->info_article); // Mise à jour de la base $sql = " UPDATE " . $GLOBALS['prefix'] . "articles\n\t\t\t\t\tSET code = '{$code}', lang = '{$lang}', position_une = '{$position_une}', etat = '{$etat}',\n\t\t\t\t\t\tcode_news = '{$code_news}', libelle = '{$libelle}', position = '{$position}', url_image = '{$url_image}', contenu = '{$contenu}', date = '{$date}', image_intro = '{$image_intro}',\n\t\t\t\t\t\ttexte_intro = '{$texte_intro}', titre_page = '{$titre_page}', titre = '{$titre}', meta_titre = '{$meta_titre}', meta_description = '{$meta_description}', \n\t\t\t\t\t\tmeta_mots_clefs = '{$meta_mots_clefs}', meta_url = '{$meta_url}',titre_canonize = '{$titre_canonize}',\n\t\t\t\t\t\turl_vignette = '{$url_vignette}', url_image2 = '{$url_image2}', categorie = '{$categorie}',\n\t\t\t\t\t\ttitre_data1 = '{$titre_data1}', data1 = '{$data1}', titre_data2 = '{$titre_data2}', data2 = '{$data2}', \n\t\t\t\t\t\ttitre_data3 = '{$titre_data3}', data3 = '{$data3}', titre_data4 = '{$titre_data4}', data4 = '{$data4}', \n\t\t\t\t\t\ttitre_data5 = '{$titre_data5}', data5 = '{$data5}', titre_data6 = '{$titre_data6}', data6 = '{$data6}',\n\t\t\t\t\t\ttitre_data7 = '{$titre_data7}', data7 = '{$data7}', titre_data8 = '{$titre_data8}', data8 = '{$data8}',\n\t\t\t\t\t\ttitre_data9 = '{$titre_data9}', data9 = '{$data9}', titre_data10 = '{$titre_data10}', data10 = '{$data10}',\n\t\t\t\t\t\ttitre_data11 = '{$titre_data11}', data11 = '{$data11}', titre_data12 = '{$titre_data12}', data12 = '{$data12}',\n\t\t\t\t\t\ttitre_data13 = '{$titre_data13}', data13 = '{$data13}', titre_data14 = '{$titre_data14}', data14 = '{$data14}',\n\t\t\t\t\t\ttitre_data15 = '{$titre_data15}', data15 = '{$data15}', titre_data16 = '{$titre_data16}', data16 = '{$data16}',\n\t\t\t\t\t\ttitre_data17 = '{$titre_data17}', data17 = '{$data17}', titre_data18 = '{$titre_data18}', data18 = '{$data18}',\n\t\t\t\t\t\ttitre_data19 = '{$titre_data19}', data19 = '{$data19}', titre_data20 = '{$titre_data20}', data20 = '{$data20}',\n\t\t\t\t\t\ttitre_fichier1 = '{$titre_fichier1}', fichier1 = '{$fichier1}', titre_fichier2 = '{$titre_fichier2}', fichier2 = '{$fichier2}',\n\t\t\t\t\t\ttitre_fichier3 = '{$titre_fichier3}', fichier3 = '{$fichier3}', titre_fichier4 = '{$titre_fichier4}', fichier4 = '{$fichier4}',\n\t\t\t\t\t\ttitre_fichier5 = '{$titre_fichier5}', fichier5 = '{$fichier5}', date_upd = '{$date_upd}', info_article = '{$info_article}'\n\t\t\t\t\tWHERE id_article = {$id_article}"; if (!Sql_exec($sql)) { $this->setError(ERROR); } if (!$this->isError()) { Lib_sqlLog($sql); } return; }
/** Cette fonction met à jour un arbo sur la BDD. */ function UPD() { if ($this->isError()) { return; } $id_arbo = $this->id_arbo; $id_arbo_pere = $this->id_arbo_pere; $code_arbo = $this->code_arbo; $famille = $this->famille; $id_pere = $this->id_pere; $type_pere = $this->type_pere; $etat = $this->etat; $ordre = $this->ordre; $date_upd = time(); $intitule = Sql_prepareTexteStockage($this->intitule); $intitule_canonize = Lib_canonizeMin(Sql_prepareTexteStockage($this->intitule)); $couleur = $this->couleur; // Mise à jour de la base $sql = " UPDATE " . $GLOBALS['prefix'] . "arbo\n\t\t\t\t\tSET id_arbo_pere = '{$id_arbo_pere}', code_arbo = '{$code_arbo}', \n\t\t\t\t\t\tfamille = '{$famille}', id_pere = '{$id_pere}', \n\t\t\t\t\t\ttype_pere = '{$type_pere}', etat = '{$etat}',\n\t\t\t\t\t\tordre = '{$ordre}', date_upd = '{$date_upd}',\n\t\t\t\t\t\tintitule = '{$intitule}', intitule_canonize = '{$intitule_canonize}',\n\t\t\t\t\t\tcouleur = '{$couleur}'\n\t\t\t\t\tWHERE id_arbo = {$id_arbo}"; if (!Sql_exec($sql)) { $this->setError(ERROR); } if (!$this->isError()) { Lib_sqlLog($sql); } return; }
/** * Fonction de découpage d'une chaîne de recherche * Les chaînes sont reçues au format: avec "chaine 1..." avec "chaine 2..." sans "chaine 3..." sans "chaine4" * * @param $chaine */ function Lib_parseChaine($chaine) { $tab_res = array(); $chaine = Lib_canonizeMin($chaine); // Si la chaîne reçue ne comporte pas de guillemets on la transforme pour la traiter avec la mécanique normale: // on lui rajoute les guillemets et les mots-clefs 'avec' if (!preg_match('/"/', $chaine)) { // On remplace les tirets pour élargir la recherche $chaine = strtr($chaine, "-", " "); $tab_chaine = explode(" ", $chaine); foreach ($tab_chaine as $elem) { $resultat .= 'avec "' . $elem . '"'; } $chaine = $resultat; } if (preg_match('/"/', $chaine)) { // On récupère chacun des blocs composés par l'opération (+, - ou |) et la chaine qui suit preg_match_all("/([ ]*avec[ ]*)?([ ]*sans[ ]*)?[ ]*\"[a-zA-Z0-9,' ]*\"/", $chaine, $res); $nom_orgs = array_shift($res); // Pour chacun des blocs récupérés, on construit un tableau contenant le type d'opération, la condition et la chaine for ($i = 0; $i < count($nom_orgs); $i++) { $regs = ""; $org = $nom_orgs[$i]; if (preg_match("`[ ]*avec[ ]*\"(.*)\"`", $org, $regs)) { $op = 'AND'; $not = ''; } else { if (preg_match("`[ ]*sans[ ]*\"(.*)\"`", $org, $regs)) { $op = 'AND'; $not = 'NOT'; } else { if ($i === 0) { preg_match("`[ ]*\"(.*)\"`", $org, $regs); $op = 'AND'; $not = ''; } else { preg_match("`[ ]*\"(.*)\"`", $org, $regs); $op = 'OR'; $not = ''; } } } $ligne['operation'] = $op; $ligne['condition'] = $not; $ligne['chaine'] = $regs[2] != '' ? $regs[2] : $regs[1]; $tab_res[] = $ligne; } } return $tab_res; }