function News_Apercu($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__); /*=============*/ Lib_myLog("Recuperation de l'arborescence"); $data_out['liste_fils'] = Arbo_construire(); // Tout d'abord on supprime les brouillons éventuels... $args_brouillons['etat'] = 'brouillon'; $args_brouillons['code_news'] = $data_in['code_news']; $liste_brouillons = Articles_chercher($args_brouillons); foreach ($liste_brouillons as $brouillon) { $tmp = Article_recuperer($brouillon['id_article']); $tmp->DEL(); } /*=============*/ Lib_myLog("Recherche de la derniere new publie"); if (isset($data_in['code'])) { $args['code'] = $data_in['code']; } if (isset($data_in['id_article'])) { $args['id_article'] = $data_in['id_article']; } $args['lang'] = $data_in['lang'] != '' && $data_in['lang'] != '' ? $data_in['lang'] : 'fr'; $args['code_news'] = $data_in['code_news']; $news = Articles_chercher($args); $data_out = isset($data_out) ? array_merge($data_out, $news) : $news; //$data_out['code'] = $data_in['code']; $data_out['code_news'] = $data_in['code_news']; //$data_out['lang'] = $args['lang']; $data_out['libelle'] = $data_in['libelle']; $data_out['meta_url'] = $data_out['meta_url'] != '' ? $data_out['meta_url'] : Lib_urlRewrite($data_out['titre']); $data_out['page'] = 'news_edit.php'; }
/** * - 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 SiteDynamique_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 va permettre de stocker tous les objets rajoutés à la base // pour pouvoir les supprimer si nécessaire $transaction = new Collection(); // Cas de VIDAGE d'un article de la base if ($continue && isset($data_in['submit_clear'])) { /*=============*/ Lib_myLog("Vidage de l'article"); $article = Article_recuperer($data_in['id_article']); $article->contenu = ''; $article->UPD(); $data_out['message_ok'] = $MSG['fr']['%%UPD%%']; // 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"); $continue = false; } // Cas d'ANNULATION du brouillon si celui-ci existe if ($continue && isset($data_in['submit_cancel'])) { // On récupère tous les anciens articles correspondant au type d'article pour les supprimer $args_articles['id_article'] = $data_in['id_article']; $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("Recuperation de la categorie dans laquelle se retrouvera l'article"); if (isset($data_in['id_arbo_pere']) && $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_pere = $data_in['id_arbo_pere']; $id_categorie = $data_in['id_arbo_pere']; // Si l'id_arbo_fils est positionné, il "surclasse" l'id_arbo_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']; $id_categorie = $data_in['id_arbo_fils']; } } /*=============*/ Lib_myLog("Recuperation et mise a jour de l'article"); $article = Article_recuperer($data_in['id_article']); /*=============*/ Lib_myLog("Mise a jour l'article"); $article->id_article = $data_in['id_article']; $article->id_categorie = $id_categorie_pere; $article->titre_page = $data_in['titre_page']; $article->titre = $data_in['titre']; $article->meta_titre = $data_in['meta_titre'] != '' ? $data_in['meta_titre'] : $data_in['titre']; $article->meta_description = $data_in['meta_description']; $article->meta_mots_clefs = $data_in['meta_mots_clefs']; $article->meta_url = $data_in['meta_url'] != '' ? Lib_urlRewrite($data_in['meta_url']) : Lib_urlRewrite($data_in['titre']); $article->contenu = $data_in['text1']; if (isset($data_in['data1'])) { $article->data1 = $data_in['data1']; } if (isset($data_in['data2'])) { $article->data2 = $data_in['data2']; } if (isset($data_in['data3'])) { $article->data3 = $data_in['data3']; } if (isset($data_in['data4'])) { $article->data4 = $data_in['data4']; } if (isset($data_in['data5'])) { $article->data5 = $data_in['data5']; } if (isset($data_in['data6'])) { $article->data6 = $data_in['data6']; } if (isset($data_in['titre_data1'])) { $article->titre_data1 = $data_in['titre_data1']; } if (isset($data_in['titre_data2'])) { $article->titre_data2 = $data_in['titre_data2']; } if (isset($data_in['titre_data3'])) { $article->titre_data3 = $data_in['titre_data3']; } if (isset($data_in['titre_data4'])) { $article->titre_data4 = $data_in['titre_data4']; } if (isset($data_in['titre_data5'])) { $article->titre_data5 = $data_in['titre_data5']; } if (isset($data_in['titre_data6'])) { $article->titre_data6 = $data_in['titre_data6']; } if ($url_reel_vignette != '') { $article->url_vignette = $vignette; } 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"]["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})"; $new->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); if (file_exists('../../img_ftp/' . $url_vignette) && $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; } } } $article->UPD(); if ($data_in['lang'] == 'fr') { $arbo = Arbo_recuperer_par_element($article->id_article, 'article', $data_in['code_arbo']); // $famille_initiale = $arbo->famille; // // Il faut d'abord vérifier si on ne travaille pas avec une catégorie et si l'article va changer de famille ou pas ! // if ($arbo->id_arbo_pere == 0 && !empty($args_arbos['famille']) && $famille_initiale != $args_arbos['famille']) { // /*=============*/ Lib_myLog("Changement de categorie : {$famille_initiale} => {$args_arbos['famille']}"); // $old_pos = $arbo->ordre; // $arbo->famille = $args_arbos['famille']; // $arbo->code_arbo = $data_in['code_arbo']; // $ordres = Arbos_chercher($args_arbos); // $pos = 0; // foreach ($ordres as $ordre) // if ($ordre['ordre'] > $pos) $pos = $ordre['ordre']; // $pos++; // $arbo->ordre = $pos; // $arbo->famille = $args_arbos['famille']; // /*=============*/ Lib_myLog("Nouvelle position : {$pos}"); // // /*=============*/ Lib_myLog("Retablissement de l'ordre sans coupure dans l'arborescence initiale ({$famille_initiale})"); // $args_arbos = ''; // $args_arbos['famille'] = $famille_initiale; // $args_arbos['code_arbo'] = $data_in['code_arbo']; // $ordres = Arbos_chercher($args_arbos); // foreach($ordres as $ordre) { // // On ne prend en compte que les elements ayant un ordre supérieur à celui de l'élément ! // if ($ordre['ordre'] < $old_pos) continue; // $arbo_upd = Arbo_recuperer($ordre['id_arbo']); // $arbo_upd->ordre = $arbo_upd->ordre -1; // $arbo_upd->UPD(); // } // } $arbo->intitule = $data_in['titre']; $arbo->UPD(); } if (empty($data_out['message_ko'])) { $data_out['message_ok'] = $MSG['fr']['%%UPD%%']; } // On remet à 0 le fichier contenant le "cache" de l'arborescence Lib_writeCache('', "ARBO"); // 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'])) { 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); } } if (!isset($data_in['submit_valid']) && !isset($data_in['submit_cancel']) && !isset($data_in['submit_clear'])) { $data_in['action'] = 'SiteDynamique_Preview'; } call_user_func('SiteDynamique_Preview', $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); } } }