コード例 #1
0
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';
}
コード例 #2
0
/**
 * - 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);
        }
    }
}