/** Cette fonction est un grand switch qui sert à renvoyer vers une action donnée en paramètre. @param Action : Action à accomplir… */ function ExecActions($action) { /*=============*/ Lib_myLog("action: ", $action); // On recupere la configuration issue de conf.php global $lang, $taille_ecran, $MSG, $secure, $cle, $config; // On recupere tous les objet contenant les donnees global $data_in, $data_out, $data_srv, $session; // Initialization des variables global $message, $article; switch ($action) { /** * - Cas Site_Accueil : * . * Le cas (par défaut) Site_Accueil recherche tous les articles, s'occupent des critères de tri, et renvoie vers la vue (page) Site_Accueil.php.... */ case "Accueil": /*=============*/ Lib_myLog("Recuperation de l'arborescence"); $data_out['liste_fils'] = Arbo_construire($data_in['code_arbo']); if (isset($data_in['id_arbo_pere'])) { $data_out['id_arbo_pere'] = $data_in['id_arbo_pere']; } $data_out['code_arbo'] = $data_in['code_arbo']; $data_out['menu_gauche'] = 'arbo'; $data_out['page'] = 'arbo.php'; break; case "AJAX_ArboUPD": $tab_arbo = json_decode($data_in['arbo_json'], true); /*=============*/ Lib_myLog("Arbo recuperee"); Arbo_recalcul($tab_arbo); break; case "Element_Etat": $arbo = Arbo_recuperer($data_in['id_arbo']); $arbo->etat = $arbo->etat == 'actif' ? $arbo->etat = 'inactif' : ($arbo->etat = 'actif'); $arbo->UPD(); $data_out['message_ok'] = $MSG['fr']['%%arbo_UPD%%']; // On remet à 0 le fichier contenant le "cache" des articles pour l'affichage des blocs Lib_writeData('', "ARBO"); ExecActions('Accueil'); break; case "Element_Bouger": $tab_positions = explode("|", $data_in['tab_list']); $i = 1; foreach ($tab_positions as $position) { $projet = Arbo_recuperer($position); $projet->ordre = $i; $projet->UPD(); $i++; } $data_out['message_ok'] = $MSG['fr']['%%arbo_UPD%%']; // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeData('', "ARBO"); ExecActions('Accueil'); break; case "Element_DEL": /*=============*/ Lib_myLog("Recuperation de l'element"); if ($data_in['id_arbo_pere'] != 0) { /*=============*/ Lib_myLog("Suppression de de l'objet de type arbo"); $obj_element_initial = Arbo_recuperer($data_in['id_arbo']); $data_out['message_ok'] = $MSG['fr']['%%arbo_DEL%%']; } if ($data_in['id_arbo_pere'] == 0) { /*=============*/ Lib_myLog("Suppression des articles dans toutes les langues"); $obj_element_initial = Arbo_recuperer_par_element($data_in['id_pere'], $data_in['type_pere'], $data_in['code_arbo']); // Le même article peut être en pluisieurs langues. On les regroupe grâce au code article $args_articles['code'] = 'article-' . $obj_element_initial->id_pere; $liste_articles = Articles_chercher($args_articles); foreach ($liste_articles as $art) { $article = Article_recuperer($art['id_article']); $article->DEL(); } $data_out['message_ok'] = $MSG['fr']['%%page_DEL%%']; } /*=============*/ Lib_myLog("Retablissement de l'ordre sans coupure"); $args_elements['famille'] = $obj_element_initial->famille; $args_elements['sup_ordre'] = $obj_element_initial->ordre; $args_elements['code_arbo'] = $data_in['code_arbo']; $elements = Arbos_chercher($args_elements); foreach ($elements as $element) { $obj_element = Arbo_recuperer($element['id_arbo']); $obj_element->ordre--; $obj_element->UPD(); } $obj_element_initial->DEL(); // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeData('', "ARBO"); ExecActions('Accueil'); break; case "Categorie_ADD": $args_arbos['code_arbo'] = $data_in['code_arbo']; $args_arbos['famille'] = ''; if ($data_in['id_arbo_pere'] != '') { /*=============*/ Lib_myLog("Il s'agit d'un ajout de sous-element !"); $arbo_pere = Arbo_recuperer($data_in['id_arbo_pere']); $args_arbos['famille'] = $arbo_pere->famille . $arbo_pere->id_arbo_pere . '-'; } /*=============*/ Lib_myLog("On determine le nouvel ordre a attribuer au nouvel element"); $arbos = Arbos_chercher($args_arbos); $ordre = count($arbos); $ordre++; /*=============*/ Lib_myLog("Rajout d'un nouvel element"); $arbo = new Arbo(); if ($data_in['id_arbo_pere'] != '') { $arbo->famille .= $arbo_pere->famille . $arbo_pere->id_arbo_pere . '-'; } $arbo->code_arbo = $data_in['code_arbo']; $arbo->type_pere = 'arbo'; $arbo->ordre = $ordre; $arbo->etat = 'inactif'; $arbo->intitule = $data_in['intitule']; $id_arbo = $arbo->ADD(); $data_out['message_ok'] = $MSG['fr']['%%arbo_ADD%%']; $arbo->id_arbo_pere = $data_in['id_arbo_pere'] != '' ? $data_in['id_arbo_pere'] : $id_arbo; /*=============*/ Lib_myLog("Creation du nouvel article associe a la categorie"); $article = new Article(); $article->titre_page = $data_in['intitule']; $article->titre = $data_in['intitule']; $article->lang = 'fr'; $article->etat = 'actif'; $id_article = $article->ADD(); $article = Article_recuperer($id_article); // On définit un code pour pouvoir retrouver le même article en plusieurs langues $article->code = 'article-' . $id_article; $article->UPD(); foreach ($GLOBALS['LANGUES'] as $langue) { /*=============*/ Lib_myLog("Ajout de l'article en {$langue}"); $article->lang = $langue; $article->ADD(); } $arbo->id_pere = $id_article; $arbo->type_pere = 'article'; $arbo->UPD(); // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeData('', "ARBO"); ExecActions('Accueil'); break; case "Categorie_UPD": /*=============*/ Lib_myLog("Modification de l'intitule d'un element"); $arbo = Arbo_recuperer($data_in['id_arbo']); $arbo->intitule = $data_in['intitule']; $arbo->UPD(); /*=============*/ Lib_myLog("Modification de l'article lie a l'element"); $article = Article_recuperer($arbo->id_pere); $article->titre = $data_in['intitule']; $article->UPD(); // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeData('', "ARBO"); $data_out['message_ok'] = $MSG['fr']['%%arbo_UPD%%']; ExecActions('Accueil'); break; case "SELECT_SsCategories": $data_out['liste_sous_categories'] = array(); /*=============*/ Lib_myLog("Recuperation du pere"); $arbo_pere = Arbo_recuperer($data_in['id_arbo']); $args_sous['not_id_arbo_pere'] = 0; $args_sous['famille'] = $arbo_pere->famille . $arbo_pere->id_arbo . '-'; $data_out['liste_sous_categories'] = Arbos_chercher($args_sous); $cle = 'ordre'; $val = usort($data_out['liste_sous_categories'], "Lib_compareUp"); $data_out['page'] = 'arbo_select_ss_categories.php'; break; default: ExecActions('Accueil'); break; } }
function SiteDynamique_Article_ADD($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); $F5 = Lib_checkF5($session, $data_in['timestamp']); $continue = $F5 ? false : true; if ($continue) { $args_arbos['code_arbo'] = $data_in['code_arbo']; $args_arbos['famille'] = ''; if ($data_in['id_arbo_pere'] != 0) { $arbo = Arbo_recuperer($data_in['id_arbo_pere']); $args_arbos['famille'] = $arbo->famille . $arbo->id_arbo . '-'; $args_arbo['id_arbo'] = $data_in['id_arbo_pere']; $id_categorie = $data_in['id_arbo_pere']; } // Si un id_arbo_fils est positionné, il "surclasse" l'id_pere! if (isset($data_in['id_arbo_fils']) && $data_in['id_arbo_fils'] != 0) { $arbo = Arbo_recuperer($data_in['id_arbo_fils']); $args_arbos['famille'] = $arbo->famille . $arbo->id_arbo . '-'; $args_arbo['id_arbo'] = $data_in['id_arbo_fils']; } /*=============*/ Lib_myLog("On determine le nouvel ordre a attribuer au nouvel element dans l'arbo"); $arbos = Arbos_chercher($args_arbos); $ordre = count($arbos); $ordre++; /*=============*/ Lib_myLog("On recupere la categorie dont va dependre l'article"); $arbo = Arbos_chercher($args_arbo); /*=============*/ Lib_myLog("Creation du nouvel article"); $article = new Article(); $article->titre_page = $data_in['titre_page']; // On met dans le titre le titre_page par défaut. Celui-ci sera changé à l'édition de l'article de toutes façons... $article->titre = $data_in['titre_page']; $article->lang = 'fr'; $article->etat = 'actif'; $id_article = $article->ADD(); $article = Article_recuperer($id_article); // On définit un code pour pouvoir retrouver le même article en plusieurs langues $article->code = 'article-' . $id_article; $article->UPD(); foreach ($GLOBALS['LANGUES'] as $langue) { /*=============*/ Lib_myLog("Ajout de l'article en {$langue}"); $article->lang = $langue; $article->ADD(); } /*=============*/ Lib_myLog("Rajout du nouvel article dans l'arbo"); $new_arbo = new Arbo(); $new_arbo->code_arbo = $data_in['code_arbo']; $new_arbo->id_pere = $id_article; $new_arbo->famille .= $arbo['famille'] . $arbo['id_arbo'] . '-'; $new_arbo->type_pere = 'article'; $new_arbo->ordre = $ordre; $new_arbo->intitule = $data_in['titre_page']; $new_arbo->etat = 'actif'; $new_arbo->ADD(); // On remet à 0 le fichier contenant le "cache" des articles pour l'affichage des blocs Lib_writeCache('', "ARTICLES"); // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeCache('', "ARBO"); } if ($continue) { $data_in['id_article'] = $id_article; if (isset($data_in['code_arbo'])) { header("Location: http://" . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . "/actions.php?action=Arbo_Accueil&code_arbo={$data_in['code_arbo']}"); } else { $data_in['action'] = 'SiteDynamique_Apercu'; call_user_func('SiteDynamique_Apercu', $data_in); } } else { if ($F5) { /*=============*/ Lib_myLog("Tentative de F5!"); $data_out['message_ko'] = $MSG[$lang]['%%Erreur_Revalidation%%']; $data_in['action'] = 'SiteDynamique_Apercu'; call_user_func('SiteDynamique_Apercu', $data_in); } else { $data_in['action'] = 'SiteDynamique_Apercu'; call_user_func('SiteDynamique_Apercu', $data_in); } } }
function Arbo_Element_ADD($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); $F5 = Lib_checkF5($session, $data_in['timestamp']); $continue = $F5 ? false : true; if ($continue) { $args_arbos['code_arbo'] = $data_in['code_arbo']; $args_arbos['famille'] = ''; if ($data_in['id_arbo_pere'] != 0) { $arbo = Arbo_recuperer($data_in['id_arbo_pere']); $args_arbos['famille'] = $arbo->famille . $arbo->id_arbo . '-'; $args_arbo['id_arbo'] = $data_in['id_arbo_pere']; $id_categorie = $data_in['id_arbo_pere']; } // Si un id_arbo_fils est positionné, il "surclasse" l'id_pere! if (isset($data_in['id_arbo_fils']) && $data_in['id_arbo_fils'] != 0) { $arbo = Arbo_recuperer($data_in['id_arbo_fils']); $args_arbos['famille'] = $arbo->famille . $arbo->id_arbo . '-'; $args_arbo['id_arbo'] = $data_in['id_arbo_fils']; } if (isset($data_in['id_arbo_petit_fils']) && $data_in['id_arbo_petit_fils'] != 0) { $arbo = Arbo_recuperer($data_in['id_arbo_petit_fils']); $args_arbos['famille'] = $arbo->famille . $arbo->id_arbo . '-'; $args_arbo['id_arbo'] = $data_in['id_arbo_petit_fils']; } /*=============*/ Lib_myLog("On determine le nouvel ordre a attribuer au nouvel element dans l'arbo"); $arbos = Arbos_chercher($args_arbos); $ordre = count($arbos); $ordre++; /*=============*/ Lib_myLog("On recupere la categorie dont va dependre l'article"); $arbo = Arbos_chercher($args_arbo); /*=============*/ Lib_myLog("Creation du nouvel article"); $article = new Article(); $article->titre_page = $data_in['titre_page']; // On met dans le titre le titre_page par défaut. Celui-ci sera changé à l'édition de l'article de toutes façons... $article->titre = $data_in['titre_page']; $article->lang = 'fr'; $article->etat = 'actif'; $id_article = $article->ADD(); $article = Article_recuperer($id_article); if ($_FILES["url_vignette"]["name"] != '') { //$valid = Lib_isValidFile($_FILES["url_vignette"]["name"], array("jpg", "jpeg", "png", "gif")); if ($_FILES["url_vignette"]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $article->url_vignette = ''; } else { if ($valid == 1) { /*=============*/ Lib_myLog("Fichier non autorise"); $data_out['message_ko'] = $MSG['fr']['%%Fichier_non_autorise%%']; } else { /*=============*/ Lib_myLog("Telechargement de la vignette"); $url_vignette = Lib_nettoie($_FILES["url_vignette"]["name"]); $url_vignette = $article->id_article . '_' . $url_vignette; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $url_vignette)) { unlink('../../img_ftp/' . $url_vignette); } if (is_uploaded_file($_FILES["url_vignette"]["tmp_name"])) { $tmp_vignette = $_FILES["url_vignette"]["tmp_name"]; rename($tmp_vignette, '../../img_ftp/' . $url_vignette); chmod("../../img_ftp/{$url_vignette}", 0644); // Redimensionnement, w=483, priorite w // Lib_redimImage("../../img_ftp/$file", 483, '', 'w'); } $article->url_vignette = $url_vignette; } } } // On définit un code pour pouvoir retrouver le même article en plusieurs langues $article->code = 'article-' . $id_article; $article->UPD(); foreach ($GLOBALS['LANGUES'] as $langue) { /*=============*/ Lib_myLog("Ajout de l'article en {$langue}"); $article->lang = $langue; $article->ADD(); } /*=============*/ Lib_myLog("Rajout du nouvel article dans l'arbo"); $new_arbo = new Arbo(); $new_arbo->code_arbo = $data_in['code_arbo']; $new_arbo->id_pere = $id_article; $new_arbo->famille .= $arbo['famille'] . $arbo['id_arbo'] . '-'; $new_arbo->type_pere = 'article'; $new_arbo->ordre = $ordre; $new_arbo->intitule = $data_in['titre_page']; $new_arbo->etat = 'actif'; $new_arbo->ADD(); // On remet à 0 le fichier contenant le "cache" des articles pour l'affichage des blocs Lib_writeCache('', "ARTICLES"); // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeCache('', "ARBO"); } if ($continue) { $data_in['id_article'] = $id_article; if (isset($data_in['code_arbo'])) { header("Location: http://" . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . "/actions.php?action=Arbo_Accueil&code_arbo={$data_in['code_arbo']}"); } else { $data_in['action'] = 'Site_Apercu'; call_user_func('Site_Apercu', $data_in); } } else { if ($F5) { /*=============*/ Lib_myLog("Tentative de F5!"); $data_out['message_ko'] = $MSG[$lang]['%%Erreur_Revalidation%%']; $data_in['action'] = 'Site_Apercu'; call_user_func('Site_Apercu', $data_in); } else { $data_in['action'] = 'Site_Apercu'; call_user_func('Site_Apercu', $data_in); } } }
function News_ImageIntro_UPD($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); $F5 = Lib_checkF5($session, $data_in['timestamp']); $continue = $F5 ? false : true; // On intialise une pseudo-transaction qui nous permettre de stocker tous les objets rajoutés à la base // pour pouvoir les supprimer si nécessaire $transaction = new Collection(); // Cas de SUPPRESSION complète de l'new de la base if (isset($data_in['submit_clear'])) { /*=============*/ Lib_myLog("Suppression de l'image d'intro"); $args_news['code'] = 999999999; $args_news['code_news'] = $data_in['code_news']; $liste_news = Articles_chercher($args_news); foreach ($liste_news as $new) { $new = Article_recuperer($new['id_article']); $new->DEL(); } // On remet à 0 le fichier contenant le "cache" des news pour l'affichage des blocs Lib_writeCache('', "ARTICLES"); $data_out['message_ok'] = $MSG['fr']['%%imageIntro_DEL%%']; $continue = false; } // Cas de MODIFICATION d'new ou de PRE-VISUALISATION if ($continue) { $tab_langues = $GLOBALS['LANGUES']; $tab_langues[] = 'fr'; foreach ($tab_langues as $langue) { /*=============*/ Lib_myLog("Recherche de l'image d'intro"); $args['code_news'] = $data_in['code_news']; $args['code'] = 999999999; $args['lang'] = $langue; $news_bdd = Articles_chercher($args); if (isset($news_bdd['id_article'])) { /*=============*/ Lib_myLog("Image d'intro trouvee => recuperation"); $new = Article_recuperer($news_bdd['id_article']); /*=============*/ Lib_myLog("Coucou", $_FILES); if ($_FILES["image_intro_" . $langue]['name'] != '') { $file = Lib_nettoie($_FILES["image_intro_" . $langue]['name']); $file = $news_bdd['id_article'] . '_' . $file; // Si le fichier existait déjà, on la supprime... if (file_exists('../../img_ftp/' . $file)) { unlink('../../img_ftp/' . $file); } if (is_uploaded_file($_FILES["image_intro_" . $langue]['tmp_name'])) { /*=============*/ Lib_myLog("deplacement du fichier au bon endroit"); $tmp = $_FILES['image_intro_' . $langue]['tmp_name']; rename($tmp, '../../img_ftp/' . $file); if (file_exists('../../img_ftp/' . $file) && $file != '') { chmod("../../img_ftp/{$file}", 0644); } // Redimensionnement, w=1000, priorite w Lib_redimImage("../../img_ftp/{$file}", 105, 105, 'w'); } $new->image_intro = $file; } $new->UPD(); $data_out['message_ok'] = $MSG['fr']['%%imageIntro_UPD%%']; } if (!isset($news_bdd['id_article'])) { /*=============*/ Lib_myLog("Intro non trouvee => ajout"); $new = new Article(); $new->code_news = $data_in['code_news']; $new->code = $data_in['code']; $new->lang = $langue; $new->etat = 'actif'; $id_article = $new->ADD(); $new = Article_recuperer($id_article); if ($_FILES['image_intro_' . $langue]['name'] != '') { $file = Lib_nettoie($_FILES['image_intro_' . $langue]['name']); $file = $id_article . '_' . $file; if (file_exists('../../img_ftp/' . $file)) { unlink('../../img_ftp/' . $file); } if (is_uploaded_file($_FILES['image_intro_' . $langue]['tmp_name'])) { /*=============*/ Lib_myLog("deplacement du fichier au bon endroit"); $tmp = $_FILES['image_intro_' . $langue]['tmp_name']; rename($tmp, '../../img_ftp/' . $file); if (file_exists('../../img_ftp/' . $file) && $file != '') { chmod("../../img_ftp/{$file}", 0644); } // Redimensionnement, w=1000, priorite w Lib_redimImage("../../img_ftp/{$file}", 105, 105, 'w'); } $new->image_intro = $file; $new->id_article = $id_article; $new->UPD(); } $data_out['message_ok'] = $MSG['fr']['%%imageIntro_ADD%%']; } } // On remet à 0 le fichier contenant le "cache" des news pour l'affichage des blocs Lib_writeCache('', "ARTICLES"); } if ($continue) { $data_in['action'] = 'News_Accueil'; call_user_func('News_Accueil', $data_in); } else { if ($F5) { /*=============*/ Lib_myLog("Tentative de F5!"); $data_out['message_ko'] = $MSG[$lang]['%%Erreur_Revalidation%%']; $data_in['action'] = 'News_Accueil'; call_user_func('News_Accueil', $data_in); } else { $data_in['action'] = 'News_Accueil'; call_user_func('News_Accueil', $data_in); } } }
/** * - Cas Articles_ChoixAction : * . * Le cas (par défaut) Sites_ChoixAction détermine si l'action sera un ajout ou une modification ; en fonction, il ajoute les données du formulaire (wysiwyg) ou les modifie. */ function SiteStatique_ChoixAction($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); $F5 = Lib_checkF5($session, $data_in['timestamp']); $continue = $F5 ? false : true; // On intialise une pseudo-transaction qui nous permettre de stocker tous les objets rajoutés à la base // pour pouvoir les supprimer si nécessaire $transaction = new Collection(); // Cas de SUPPRESSION complète de l'article de la base if (isset($data_in['submit_clear'])) { /*=============*/ Lib_myLog("Suppression des articles"); // On récupère tous les anciens articles correspondant au type d'article pour les supprimer $args_articles['code'] = $data_in['code']; $liste_articles = Articles_chercher($args_articles); foreach ($liste_articles as $art) { $article = Article_recuperer($art['id_article']); $article->etat = 'supprime'; $article->UPD(); } $data_out['message_ok'] = $MSG['fr']['%%DEL%%']; // On remet à 0 le fichier contenant le "cache" des articles pour l'affichage des blocs Lib_writeCache('', "ARTICLES"); $continue = false; } // Cas d'ANNULATION du brouillon si celui-ci existe if (isset($data_in['submit_cancel'])) { // On récupère tous les anciens articles correspondant au type d'article pour les supprimer $args_articles['code'] = $data_in['code']; $args_articles['etat'] = 'brouillon'; $liste_articles = Articles_chercher($args_articles); foreach ($liste_articles as $art) { $article = Article_recuperer($art['id_article']); $article->DEL(); } $continue = false; } // Cas de MODIFICATION d'article ou de PRE-VISUALISATION if ($continue) { /*=============*/ Lib_myLog("Recherche de l'article"); $args['code'] = $data_in['code']; $args['lang'] = $data_in['lang'] != '' && $data_in['lang'] != '' ? $data_in['lang'] : 'fr'; $article_bdd = Articles_chercher($args); // 2 cas se présentent: // - Soit il s'agit d'une modification sur un article encore en "brouillon" ou "inactif'. // - Soit il s'agit d'une modification sur un article "actif". if (isset($article_bdd['id_article'])) { /*=============*/ Lib_myLog("Article trouve, recuperation de l'article"); $article = Article_recuperer($article_bdd['id_article']); /*=============*/ Lib_myLog("Mise a jour l'article"); $article->titre = $data_in['titre']; $article->meta_titre = $data_in['meta_titre']; $article->meta_description = $data_in['meta_description']; $article->meta_mots_clefs = $data_in['meta_mots_clefs']; $article->meta_url = $data_in['meta_url']; $article->texte_intro = $data_in['texte_intro']; $article->contenu = $data_in['text1']; for ($i = 1; $i <= 20; $i++) { $champ = 'titre_data' . $i; if (isset($data_in['titre_data' . $i])) { $article->{$champ} = $data_in['titre_data' . $i]; } $champ = 'data' . $i; if (isset($data_in['data' . $i])) { $article->{$champ} = $data_in['data' . $i]; } } if (isset($data_in['submit_valid']) && !isset($data_in['etat'])) { $article->etat = 'inactif'; } if (isset($data_in['submit_valid']) && isset($data_in['etat'])) { $article->etat = 'actif'; } if (!isset($data_in['submit_valid']) && !isset($data_in['submit_cancel']) && !isset($data_in['submit_clear'])) { $article->etat = 'brouillon'; } if ($_FILES["url_vignette"]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $article->url_vignette = ''; } else { if ($_FILES["url_vignette"]["name"] != '') { /*=============*/ Lib_myLog("Telechargement de la vignette"); $url_vignette = Lib_nettoie($_FILES["url_vignette"]["name"]); $url_vignette = $article->id_article . '_' . $url_vignette; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $url_vignette)) { unlink('../../img_ftp/' . $url_vignette); } if (is_uploaded_file($_FILES["url_vignette"]["tmp_name"])) { $tmp_vignette = $_FILES["url_vignette"]["tmp_name"]; rename($tmp_vignette, '../../img_ftp/' . $url_vignette); if (file_exists('../../img_ftp/' . $url_vignette) && $url_vignette != '') { chmod("../../img_ftp/{$url_vignette}", 0644); } // Redimensionnement, w=1000, priorite w Lib_redimImage("../../img_ftp/{$url_vignette}", 1000, '', 'w'); } $article->url_vignette = $url_vignette; } } if ($_FILES["url_image2"]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $article->url_image2 = ''; } else { if ($_FILES["url_image2"]["name"] != '') { /*=============*/ Lib_myLog("Telechargement de la 2e vignette"); $url_image2 = Lib_nettoie($_FILES["url_image2"]["name"]); $url_image2 = $article->id_article . '_' . $url_image2; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $url_image2)) { unlink('../../img_ftp/' . $url_image2); } if (is_uploaded_file($_FILES["url_image2"]["tmp_name"])) { $tmp_image2 = $_FILES["url_image2"]["tmp_name"]; rename($tmp_image2, '../../img_ftp/' . $url_image2); if (file_exists('../../img_ftp/' . $url_image2) && $url_image2 != '') { chmod("../../img_ftp/{$url_image2}", 0644); } // Redimensionnement, w=1000, priorite w Lib_redimImage("../../img_ftp/{$url_image2}", 1000, '', 'w'); } $article->url_image2 = $url_image2; } } for ($i = 1; $i <= 5; $i++) { if ($_FILES["fichier" . $i]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $champ = 'fichier' . $i; $article->{$champ} = ''; } else { if ($_FILES["fichier" . $i]["name"] != '') { /*=============*/ Lib_myLog("Telechargement de la 2e vignette"); $fichier = Lib_nettoie($_FILES["fichier" . $i]["name"]); $fichier = $article->id_article . '_' . $fichier; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $fichier)) { unlink('../../img_ftp/' . $fichier); } if (is_uploaded_file($_FILES["fichier" . $i]["tmp_name"])) { $tmp_image = $_FILES["fichier" . $i]["tmp_name"]; rename($tmp_image, '../../img_ftp/' . $fichier); if (file_exists('../../img_ftp/' . $fichier) && $fichier != '') { chmod("../../img_ftp/{$fichier}", 0644); } // Redimensionnement, w=1000, priorite w Lib_redimImage("../../img_ftp/{$fichier}", 1000, '', 'w'); } $champ = 'fichier' . $i; $article->{$champ} = $fichier; } } } $data_out['message_ok'] = $MSG['fr']['%%UPD%%']; $article->UPD(); } // Ici il s'agit de l'ajout d'un nouvel article qui n'existait pas auparavant puisque l'id_article n'est pas fourni. // On créé donc autant d'articles qu'il y a de langues... if (!isset($article_bdd['id_article'])) { /*=============*/ Lib_myLog("Article non trouve. Ajout d'un nouvel article en fr"); $article = new Article(); $article->code = $data_in['code']; $article->lang = 'fr'; $article->contenu = $data_in['text1']; $article->titre = $data_in['titre']; $article->meta_titre = $data_in['meta_titre']; $article->meta_description = $data_in['meta_description']; $article->meta_mots_clefs = $data_in['meta_mots_clefs']; $article->meta_url = $data_in['meta_url']; $article->texte_intro = $data_in['texte_intro']; for ($i = 1; $i <= 20; $i++) { $champ = 'titre_data' . $i; if (isset($data_in['titre_data' . $i])) { $article->{$champ} = $data_in['titre_data' . $i]; } $champ = 'data' . $i; if (isset($data_in['data' . $i])) { $article->{$champ} = $data_in['data' . $i]; } } // Mettre ici la catégorie afin de pouvoir retrouver facilement toutes les pages d'un même type dans la BDD $article->categorie = 'page_statique'; if (isset($data_in['etat']) && isset($data_in['submit_valid'])) { $article->etat = 'actif'; } if (!isset($data_in['submit_valid']) && !isset($data_in['submit_cancel']) && !isset($data_in['submit_clear'])) { $article->etat = 'brouillon'; } if (!isset($data_in['etat']) && isset($data_in['submit_valid'])) { $article->etat = 'inactif'; } $id_article = $article->ADD(); $data_out['message_ok'] = $MSG['fr']['%%ADD%%']; $article = Article_recuperer($id_article); if (!$article->isError()) { $transaction->addElement($article); } else { $continue = false; } if ($_FILES["url_vignette"]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $article->url_vignette = ''; } else { if ($_FILES["url_vignette"]["name"] != '') { /*=============*/ Lib_myLog("Telechargement de la vignette"); $url_vignette = Lib_nettoie($_FILES["url_vignette"]["name"]); $url_vignette = $article->id_article . '_' . $url_vignette; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $url_vignette)) { unlink('../../img_ftp/' . $url_vignette); } if (is_uploaded_file($_FILES["url_vignette"]["tmp_name"])) { $tmp_vignette = $_FILES["url_vignette"]["tmp_name"]; rename($tmp_vignette, '../../img_ftp/' . $url_vignette); if (file_exists('../../img_ftp/' . $url_vignette) && $url_vignette != '') { chmod("../../img_ftp/{$url_vignette}", 0644); } } $article->url_vignette = $url_vignette; $article->UPD(); } } if ($_FILES["url_image2"]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $article->url_image2 = ''; } else { if ($_FILES["url_image2"]["name"] != '') { /*=============*/ Lib_myLog("Telechargement de la 2e vignette"); $url_image2 = Lib_nettoie($_FILES["url_image2"]["name"]); $url_image2 = $article->id_article . '_' . $url_image2; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $url_image2)) { unlink('../../img_ftp/' . $url_image2); } if (is_uploaded_file($_FILES["url_image2"]["tmp_name"])) { $tmp_image2 = $_FILES["url_image2"]["tmp_name"]; rename($tmp_image2, '../../img_ftp/' . $url_image2); if (file_exists('../../img_ftp/' . $url_image2) && $url_image2 != '') { chmod("../../img_ftp/{$url_image2}", 0644); } } $article->url_image2 = $url_image2; } } for ($i = 1; $i <= 5; $i++) { if ($_FILES["fichier" . $i]['error'] == 1) { /*=============*/ Lib_myLog("Taille trop elevee"); $val = ini_get('upload_max_filesize'); $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})"; $champ = 'fichier' . $i; $article->{$champ} = ''; } else { if ($_FILES["fichier" . $i]["name"] != '') { /*=============*/ Lib_myLog("Telechargement de la 2e vignette"); $fichier = Lib_nettoie($_FILES["fichier" . $i]["name"]); $fichier = $article->id_article . '_' . $fichier; // Si la vignette existait déjà, on la remplace... if (file_exists('../../img_ftp/' . $fichier)) { unlink('../../img_ftp/' . $fichier); } if (is_uploaded_file($_FILES["fichier" . $i]["tmp_name"])) { $tmp_image = $_FILES["fichier" . $i]["tmp_name"]; rename($tmp_image, '../../img_ftp/' . $fichier); if (file_exists('../../img_ftp/' . $fichier) && $fichier != '') { chmod("../../img_ftp/{$fichier}", 0644); } // Redimensionnement, w=1000, priorite w Lib_redimImage("../../img_ftp/{$fichier}", 1000, '', 'w'); } $champ = 'fichier' . $i; $article->{$champ} = $fichier; } } } foreach ($GLOBALS['LANGUES'] as $langue) { if ($continue) { /*=============*/ Lib_myLog("Ajout de l'article en {$langue}"); $article->lang = $langue; $article->ADD(); if (!$article->isError()) { $transaction->addElement($article); } else { $transaction->DEL(); $continue = false; } } } } // On remet à 0 le fichier contenant le "cache" des articles pour l'affichage des blocs Lib_writeCache('', "ARTICLES"); } if ($continue) { if (isset($data_in['submit_valid'])) { $data_in['action'] = 'SiteStatique_Apercu'; } call_user_func('SiteStatique_Apercu', $data_in); } else { if ($F5) { /*=============*/ Lib_myLog("Tentative de F5!"); $data_out['message_ko'] = $MSG[$lang]['%%Erreur_Revalidation%%']; $data_in['action'] = 'SiteStatique_Apercu'; call_user_func('SiteStatique_Apercu', $data_in); } else { $data_in['action'] = 'SiteStatique_Apercu'; call_user_func('SiteStatique_Apercu', $data_in); } } }