コード例 #1
0
function Adherents_Adherent_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__);
    $logo = '';
    if ($_FILES["logo"]["name"] != '') {
        /*=============*/
        Lib_myLog("Telechargement du logo");
        $logo = Lib_nettoie($_FILES["logo"]["name"]);
        $logo = $data_in['id_adherent'] . '_' . $logo;
        /*=============*/
        Lib_myLog("Nouveau nom pour le logo : {$logo}");
        $url_logo = '../../img_ftp/' . $logo;
        if ($_FILES['logo']['error']) {
            switch ($_FILES['logo']['error']) {
                case 1:
                    // UPLOAD_ERR_INI_SIZE
                    echo "Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
                    break;
                case 2:
                    // UPLOAD_ERR_FORM_SIZE
                    echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
                    break;
                case 3:
                    // UPLOAD_ERR_PARTIAL
                    echo "L'envoi du fichier a été interrompu pendant le transfert !";
                    break;
                case 4:
                    // UPLOAD_ERR_NO_FILE
                    echo "Le fichier que vous avez envoyé a une taille nulle !";
                    break;
            }
        } else {
            // Si le logo existait déjà, on le remplace...
            if (file_exists($url_logo)) {
                unlink($url_logo);
            }
            if (is_uploaded_file($_FILES["logo"]["tmp_name"])) {
                $tmp_logo = $_FILES["logo"]["tmp_name"];
                rename($tmp_logo, $url_logo);
                /*=============*/
                Lib_myLog("Redimensionnement, w max=200, h max=220, priorite=h");
                Lib_redimImage($url_logo, 200, 220, 'w');
                chmod("{$url_logo}", 0644);
            }
        }
    }
    //			$categorie1 = '';
    //			foreach($GLOBALS['CONF']['CATEGORIE1'] as $id => $libelle)
    //				if ($data_in['chk_categorie1_'.$id])
    //					$categorie1 .= "|{$id}|";
    //			/*=============*/ Lib_myLog("Parametrage categorie1 : {$categorie1}");
    //
    //			$categorie2 = '';
    //			foreach($GLOBALS['CONF']['CATEGORIE2'] as $id => $libelle)
    //				if ($data_in['chk_categorie2_'.$id])
    //					$categorie2 .= "|{$id}|";
    //			/*=============*/ Lib_myLog("Parametrage categorie2 : {$categorie2}");
    //
    //			$categorie3 = '';
    //			foreach($GLOBALS['CONF']['CATEGORIE3'] as $id => $libelle)
    //				if ($data_in['chk_categorie3_'.$id])
    //					$categorie3 .= "|{$id}|";
    //			/*=============*/ Lib_myLog("Parametrage categorie1 : {$categorie3}");
    /*=============*/
    Lib_myLog("Mise a jour d'un adherent");
    $adh = Adherent_recuperer($data_in['id_adherent']);
    $adh->nom = $data_in['nom'];
    $adh->prenom = $data_in['prenom'];
    $adh->enseigne = $data_in['enseigne'];
    $adh->raison_sociale = $data_in['raison_sociale'];
    $adh->adresse1 = $data_in['adresse1'];
    $adh->adresse2 = $data_in['adresse2'];
    $adh->ville = $data_in['ville'];
    $adh->cp = $data_in['cp'];
    $adh->pays = $data_in['pays'];
    $adh->telephone = $data_in['telephone'];
    $adh->fax = $data_in['fax'];
    $adh->email = $data_in['email'];
    $adh->site_internet = $data_in['site_internet'];
    $adh->entreprise_qualifiee = $data_in['entreprise_qualifiee'];
    if ($logo != '') {
        $adh->logo = $logo;
    }
    if ($logo == '' && $data_in['supprimer_logo'] == 1) {
        $adh->logo = '';
    }
    $adh->categorie = $data_in['categorie'];
    $adh->nature_lien = $data_in['nature_lien'];
    $adh->info_publique = $data_in['info_publique'];
    $adh->categorie1 = $categorie1;
    $adh->categorie2 = $categorie2;
    $adh->categorie3 = $categorie3;
    $adh->latitude = $data_in['latitude'];
    $adh->longitude = $data_in['longitude'];
    if ($data_in['nom_utilisateur'] == '') {
        // On prend la 1ère et la dernière lette de la raison sociale, la première lettre de la ville et le code postal
        $nom_utilisateur = substr($data_in['raison_sociale'], 0, 1);
        $nom_utilisateur .= substr($data_in['raison_sociale'], -1);
        $nom_utilisateur .= substr($data_in['ville'], -1);
        $nom_utilisateur .= $data_in['cp'];
        $data_in['nom_utilisateur'] = strtoupper($nom_utilisateur);
    }
    $adh->nom_utilisateur = $data_in['nom_utilisateur'];
    if ($data_in['password'] == '') {
        // Génération d'un nombre aléatoire sur 3 chiffres n'existant pas déjà en base
        $data_in['password'] = mt_rand(100, 899);
    }
    $adh->password = $data_in['password'];
    $adh->UPD();
    $data_out['message_ok'] = $MSG['fr']['%%fiche_UPD%%'];
    // On force le filtre pour que le système aille chercher à nouveau toutes les données en base
    $data_in['filtrer'] = 1;
    $data_in['action'] = 'Adherents_Recherche';
    call_user_func('Adherents_Recherche', $data_in);
}
コード例 #2
0
function Images_Image_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__);
    Lib_writeData($data_srv, $session);
    /*=============*/
    Lib_myLog("Recherche de la position la plus elevee");
    $args_images['code_pere'] = $data_in['code_pere'];
    $args_images['type_pere'] = $data_in['type_pere'];
    $galerie = Galeries_chercher($args_images);
    $position = 0;
    foreach ($galerie as $image) {
        if ($image['position'] > $position) {
            $position = $image['position'];
        }
    }
    $position++;
    $timestamp = time();
    /*=============*/
    Lib_myLog("On rajoute l'image en base");
    $galerie = new Galerie($data_in['code_pere'], $data_in['type_pere']);
    $galerie->position = $position;
    $langues = $GLOBALS['LANGUES'];
    $langues[] = 'fr';
    $id_galerie = $galerie->ADD();
    $galerie = Galerie_recuperer($id_galerie);
    foreach ($langues as $langue) {
        $galerie->addLang($langue, $data_in['legende_' . $langue], $data_in['data1' . $langue], $data_in['data2' . $langue], $data_in['data3' . $langue], $data_in['data4' . $langue], $data_in['data5' . $langue]);
    }
    if ($_FILES["url_gde_image"]["name"] != '') {
        $valid = Lib_isValidFile($_FILES["url_gde_image"]["name"], array("jpg", "jpeg", "png", "gif"));
        if ($_FILES["url_gde_image"]['error'] == 1) {
            /*=============*/
            Lib_myLog("Taille trop elevee");
            $val = ini_get('upload_max_filesize');
            $data_out['message_ko'] = $MSG['fr']['%%Erreur_Taille%%'] . " ({$val})";
            $new->url_gde_image = '';
        } else {
            if ($valid == 1) {
                /*=============*/
                Lib_myLog("Fichier non autorise");
                $data_out['message_ko'] = $MSG['fr']['%%Fichier_non_autorise%%'];
            } else {
                /*=============*/
                Lib_myLog("Telechargement de l'image");
                $image = Lib_nettoie($_FILES["url_gde_image"]["name"]);
                $image = $id_galerie . '_' . $image;
                $ext = strrchr($image, '.');
                // On positionne par défaut une vignette au cas où une vignette n'aurait pas été fournie
                $vignette = Lib_nettoie($_FILES["url_gde_image"]["name"]);
                $vignette = $id_galerie . '_min_' . $vignette;
                // Si la vignette existait déjà, on la remplace...
                if (file_exists('../../img_ftp/' . $image)) {
                    unlink('../../img_ftp/' . $image);
                }
                if (is_uploaded_file($_FILES["url_gde_image"]["tmp_name"])) {
                    $tmp_gde_image = $_FILES["url_gde_image"]["tmp_name"];
                    rename($tmp_gde_image, '../../img_ftp/' . $image);
                    if (file_exists('../../img_ftp/' . $image) && $image != '') {
                        chmod("../../img_ftp/" . $image, 0644);
                    }
                    // Redimensionnement, w=483, priorite w
                    Lib_redimImage("../../img_ftp/{$image}", 483, '', 'w');
                }
            }
        }
    }
    /*=============*/
    Lib_myLog("On verifie si la vignette est fournie");
    if ($_FILES["url_vignette"]["name"] != '') {
        /*=============*/
        Lib_myLog("Telechargement de la vignette");
        $vignette = Lib_nettoie($_FILES["url_vignette"]["name"]);
        $vignette = $id_galerie . '_min_' . $vignette;
        $ext = strrchr($vignette, '.');
        if (is_uploaded_file($_FILES["url_vignette"]["tmp_name"])) {
            $tmp_vignette = $_FILES["url_vignette"]["tmp_name"];
            rename($tmp_vignette, '../../img_ftp/' . $vignette);
            if (file_exists('../../img_ftp/' . $vignette) && $vignette != '') {
                chmod("../../img_ftp/" . $vignette, 0644);
            }
            // Redimensionnement, h=65, priorite h
            Lib_redimImage("../../img_ftp/" . $vignette, '', '65', 'w');
        }
    }
    if ($_FILES["url_gde_image"]["name"] != '' && $_FILES["url_vignette"]["name"] == '') {
        /*=============*/
        Lib_myLog("Vignette non fournie => on utilise l'image");
        copy('../../img_ftp/' . $image, '../../img_ftp/' . $vignette);
        if (file_exists('../../img_ftp/' . $vignette) && $vignette != '') {
            chmod('../../img_ftp/' . $vignette, 0644);
        }
        // Redimensionnement, h=65, priorite h
        Lib_redimImage("../../img_ftp/{$vignette}", '', '65', 'w');
    }
    //Fin des ajouts
    if (isset($image)) {
        $galerie->url_gde_image = $image;
        $galerie->url_vignette = $vignette;
        $galerie->UPD();
    } else {
        $galerie->DEL();
    }
}
コード例 #3
0
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);
        }
    }
}
コード例 #4
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 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);
        }
    }
}