Changeset 9928 in spip-zone


Ignore:
Timestamp:
Feb 27, 2007, 2:02:32 AM (13 years ago)
Author:
cy_altern@…
Message:

passage à cfg pour les données de configuration

Location:
_plugins_/_dev_/generateur_contenu
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/generateur_contenu/exec/gener_cont.php

    r7759 r9928  
    22/* générateur de clones de rubrique avec articles
    33 
    4         gener_cont.php (c) cy_altern 2006 -- licence GPL
     4        cy_altern © 2007 - Distribué sous licence GNU/LGPL
    55       
    66*/
     
    88
    99function exec_gener_cont() {
    10   // PARAMETRES A RENSEIGNER
    11          $num_secteur = 57;    // le numéro du secteur où la création de clones est autorisée
    12          $num_secteur_2copy = 56;   // le numéro du secteur qui contient les sous-rubriques à cloner
    13          $max_copies = 5;   // le nombre max de copies (sous-répertoires) autorisé
    14 
    15 //       $num_rub_spots = 20;  // le numéro de la sous-rubrique spots dans le secteur spots
    16  // FIN PARAMETRES A RENSEIGNER         
    17                
    18                
     10  // PARAMETRES de configuration gérés par cfg
     11         $num_source = lire_config('gener_cont/secteur_source');   // le numéro de la rubrique qui contient les sous-rubriques modèles
     12         $num_cible = lire_config('gener_cont/secteur_cible');    // le numéro du secteur où la création de clones est autorisée
     13         $max_copies = lire_config('gener_cont/nb_max_clones');   // le nombre max de copies (sous-répertoires) autorisé
     14         $statut_articles_defaut = lire_config('gener_cont/statut_articles_defaut');  // le statut par défaut des articles clonés
     15                       
    1916         include_spip("inc/presentation");
    2017
     
    6966                         for ($j = 1; $j < 4; $j++) {
    7067                                         if ($_POST['champ_'.$j.'_titre_rub'] AND $_POST['champ_'.$j.'_titre_rub'] != '') {
    71                                                         $champ_ec = $_POST['champ_'.$j.'_titre_rub'];
    72                                                         if ($champ_ec == "#INCREMENT") {
    73                                                                  $debut_increment_titre_rub = ( (isset($_POST['debut_increment_titre_rub']) AND $_POST['debut_increment_titre_rub'] != '') ? intval($_POST['debut_increment_titre_rub']) : 1);
    74                                                                  $Tchamps[$j] = '#INCREMENT';
    75                                                   }
    76                                                         else {
    77                                                                          $Tchamps[$j] = $row4[$champ_ec];
    78                                             }
     68                                                        $champ_ec = trim($_POST['champ_'.$j.'_titre_rub']);
     69                                         // traiter les valeurs débutant par # (#INCREMENT ou appel des champs #TITRE, #TEXTE et #DESCRIPTIF pour récup du contenu des champs de la rubrique clonée)
     70                                                        if (strpos($champ_ec, '#') === 0) {
     71                                                                 $champ_ec = strtolower(substr($champ_ec, 1));
     72                                                         if ($champ_ec == "increment") {
     73                                                                  $debut_increment_titre_rub = ( (isset($_POST['debut_increment_titre_rub']) AND $_POST['debut_increment_titre_rub'] != '') ? intval($_POST['debut_increment_titre_rub']) : 1);
     74                                                                  $Tchamps[$j] = '#INCREMENT';
     75                                                   }
     76                                                         else {
     77                                                                          $Tchamps[$j] = $row4[$champ_ec];
     78                                             }
     79                                                        }
     80                                        // si pas de # en début de valeur, récupérer le contenu du champ POST tel quel
     81                                                        else {
     82                                                                         $Tchamps[$j] = $champ_ec;
     83                                                        }
    7984                                         }
    8085                         }
     
    97102                         }
    98103                                                 spip_query("INSERT INTO $Trubriques (id_rubrique, id_parent, titre, id_secteur, statut, date, texte, descriptif)
    99                                                                                                  VALUES ('', $num_parent, '$titre_rub', $num_secteur, 'publie', '$date_ec', '$texte_rub', '$descriptif_rub')" );
     104                                                                                                 VALUES ('', $num_parent, '$titre_rub', $num_cible, 'publie', '$date_ec', '$texte_rub', '$descriptif_rub')" );
    100105                                         if (mysql_error() != '') {
    101106                                                        $Terr_rub[] = 'insertion rubrique n°'.$i.' : erreur => '.mysql_error();
     
    117122     // TO DO : faire une copie de l'arborescence de la rubrique (un pt'it coup de récursif en vue... y'a un truc à retrouver dans ak !)
    118123     // avec la création des champs automatique du style $$nom_champ_spip = ...
    119                                                   $result5 = spip_query("SELECT * FROM $Tarticles WHERE id_rubrique = $num_parent_2copy");
     124                                                  if (isset($_POST['statut_articles']) AND $_POST['statut_articles'] != '') {
     125                                                                                 $statut_articles = $_POST['statut_articles'];
     126                                                                        }
     127                                                                        else {
     128                                                                                         $statut_articles = $statut_articles_defaut;
     129                                                                        }
     130                                                                        $result5 = spip_query("SELECT * FROM $Tarticles WHERE id_rubrique = $num_parent_2copy");
    120131                                                  while ($row5 = spip_fetch_array($result5)) {
    121                                                                          $surtitre_fiche = $row5['surtitre'];
    122                                                                          $titre_fiche = $row5['titre'];
    123                                                                          $soustitre_fiche = $row5['soustitre'];
    124                                                                          $descriptif_fiche = $row5['descriptif'];
    125                                                                          $nom_site_fiche = $row5['nom_site'];
    126                                                                          $chapo_fiche = $row5['chapo'];
    127                                                                          $texte_fiche = $row5['texte'];
    128                                                                          $ps_fiche = $row5['ps'];
     132                                                                         $surtitre = $row5['surtitre'];
     133                                                                         $titre = $row5['titre'];
     134                                                                         $soustitre = $row5['soustitre'];
     135                                                                         $descriptif = $row5['descriptif'];
     136                                                                         $nom_site = $row5['nom_site'];
     137                                                                         $chapo = $row5['chapo'];
     138                                                                         $texte = $row5['texte'];
     139                                                                         $ps = $row5['ps'];
    129140                                 // création clone article
    130141                                                         spip_query("INSERT INTO $Tarticles (id_article, id_rubrique, id_secteur, date, statut, surtitre, titre, soustitre, descriptif, nom_site, chapo, texte, ps)
    131                                                                                                   VALUES ('', '$id_rub_ec', '$num_secteur', '$date_ec', 'publie', '$surtitre_fiche', '$titre_fiche', '$soustitre_fiche', '$descriptif_fiche', '$nom_site_fiche', '$chapo_fiche', '$texte_fiche', '$ps_fiche')");
     142                                                                                                  VALUES ('', '$id_rub_ec', '$num_cible', '$date_ec', '$statut_articles', '$surtitre', '$titre', '$soustitre', '$descriptif', '$nom_site', '$chapo', '$texte', '$ps')");
    132143                                                 if (mysql_error() != '') {
    133                                                                          $Terr_art[] = 'insertion article FICHE rubrique n°'.$id_rub_ec.' : erreur => '.mysql_error();
     144                                                                         $Terr_art[] = 'insertion article rubrique n°'.$id_rub_ec.' : erreur => '.mysql_error();
    134145                                                 }
    135146                                                         else {
     
    137148                                                         spip_query("INSERT INTO $Tauteurs_articles (id_article, id_auteur) VALUES ($id_art_ec, $id_utilisateur)");
    138149                                                                if (mysql_error() != '') {
    139                                                                          $Terr_art[] = 'insertion auteur_article FICHE rubrique n° '.$id_rub_ec.' : erreur => '.mysql_error();
     150                                                                         $Terr_art[] = 'insertion auteur_article rubrique n° '.$id_rub_ec.' : erreur => '.mysql_error();
    140151                                                                }
    141152                                                         }
     
    146157                                }   // fin for nb_copies
    147158                               
    148           }
     159          }  // fin if $_POST complet
    149160
    150161
     
    191202    debut_boite_info(); 
    192203    echo "<img src=\""._DIR_PLUGIN_GENER_CONT."/img_pack/gener_cont-24.png\" style=\"float: left; margin-right: 10px;\">";
    193                 echo "Cette moulinette clone une sous-rubrique appartenant au secteur ".$num_secteur_2copy." dans la rubrique de votre choix.";
     204                echo "Cette moulinette clone une sous-rubrique de la rubrique des mod&egrave;les (".$num_source.") dans une sous-rubrique du secteur ".$num_cible.".";
    194205                echo "<br /><br /><strong>Version : </strong>".$version_script;         
     206                echo '<br /><br /><a href=".?exec=cfg&cfg=gener_cont">Configuration de ce plugin</a>';
    195207    fin_boite_info();
    196208   
    197209    debut_droite();
    198     gros_titre('Moulinette &agrave; cr&eacute;er les sous-rubriques');
     210    gros_titre('Moulinette &agrave; cloner les rubriques');
    199211
    200212               
     
    218230                         else { ?>                                             
    219231                         <div id="ok" class="ok">
    220                                                 Tout c'est bien pass&eacute;, <? print $nb_cree; ?> rubriques cr&eacute;&eacute;s.
     232                                                Tout c'est bien pass&eacute;, <? print $nb_cree; ?> rubrique(s) cr&eacute;&eacute;(s).
    221233                         </div>
    222234<?       } 
     
    226238<form method="post" action="<? print basename($_SERVER['PHP_SELF']); ?>?exec=gener_cont" id="form_saisie" name="form_saisie">
    227239                       
    228 <?                       debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Choix de la rubrique destination et du nombre de sous-rubriques");  ?>                       
    229                          Rubrique où cr&eacute;er les clones :
     240<?                       debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Choix de la rubrique de destination et du nombre de copies");  ?>                     
     241                         Rubrique o&ugrave; cr&eacute;er les clones :
    230242                         <select id="num_parent" name="num_parent">
    231 <?                       $sql1 = "SELECT id_rubrique, titre FROM $Trubriques WHERE id_secteur = $num_secteur";
     243<?                       if ($num_cible == 0) {
     244                                                $sql_where = 'id_parent = 0';
     245                                 }
     246                                 else {
     247                                                        $sql_where = 'id_secteur = '.$num_cible;
     248                                 }
     249                                 $sql1 = "SELECT id_rubrique, titre FROM $Trubriques WHERE $sql_where";
    232250                                 $result1 = spip_query($sql1);
    233251                                 while ($row1 = spip_fetch_array($result1)) {   
     
    244262                        <br />
    245263<?                 fin_cadre_trait_couleur();
    246                                  debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Param&eacute;trage rubrique à copier"); ?>                   
    247                          Rubrique à copier :
     264                                 debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Param&eacute;trage de la rubrique &agrave; copier"); ?>                       
     265                         Rubrique &agrave; copier :
    248266                         <select id="num_parent_2copy" name="num_parent_2copy">
    249 <?                       $result2 = spip_query("SELECT id_rubrique, titre FROM $Trubriques WHERE id_secteur = $num_secteur_2copy AND id_rubrique != $num_secteur_2copy");
     267<?                       $result2 = spip_query("SELECT id_rubrique, titre FROM $Trubriques WHERE id_parent = $num_source");   // AND id_rubrique != $num_source
    250268                                 while ($row2 = spip_fetch_array($result2)) {   
    251269                                                         echo "<option value=\"".$row2['id_rubrique']."\">".$row2['titre']."</option>";
    252270                         }  ?>                                                   
    253271                         </select>
    254 <?                 if ($connect_toutes_rubriques) {   // choix auteur uniquement pour les admins complets ?>                     
     272<?               if ($connect_toutes_rubriques) {   // choix auteur uniquement pour les admins complets ?>                       
    255273                         <br /><br />
    256274                         Auteur des articles :
     
    261279                                                }   ?>
    262280                         </select>
    263                          
    264281<?                 } ?>                 
     282                                 <br /><br />
     283                                 Statut des articles :
     284         <select name="statut_articles">
     285                                         <option value="publie" <? echo ($statut_articles_defaut == "publie" ? 'selected="selected"' : ''); ?>>publi&#233; en ligne</option>
     286                                         <option value="prop" <? echo ($statut_articles_defaut == "prop" ? 'selected="selected"' : ''); ?>>propos&#233; &agrave; l'&#233;valuation</option>
     287                                         <option value="prepa" <? echo ($statut_articles_defaut == "prepa" ? 'selected="selected"' : ''); ?>>en cours de r&#233;daction</option>
     288                                         <option value="poubelle" <? echo ($statut_articles_defaut == "poubelle" ? 'selected="selected"' : ''); ?>>&agrave; la poubelle</option>
     289                                         <option value="refuse" <? echo ($statut_articles_defaut == "refuse" ? 'selected="selected"' : ''); ?>>refus&#233;</option>
     290         </select>
     291                                 
    265292<?                 fin_cadre_trait_couleur();
    266293                                 debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Création des titres de sous-rubriques :");                    ?>
     
    269296                                 <br />champ 3 : <input type="text" id="champ_3_titre_rub" name="champ_3_titre_rub">
    270297                                 <br />
    271                                  Numérotation : increment commence à : <input type="text" style="width: 30px;" id="debut_increment_titre_rub" name="debut_increment_titre_rub">
     298                                 Num&eacute;rotation : incr&eacute;ment commence &agrave; : <input type="text" style="width: 30px;" id="debut_increment_titre_rub" name="debut_increment_titre_rub">
    272299                                 <br /><br />
    273300                                 <span style="font-size: 75%;">
    274                                  Le titre de la rubrique sera constitué par les champs 1 à 3. Chacun de ces champs peut être rempli automatiquement par
    275                                  le contenu d'un champ de la rubrique à cloner (<strong>titre</strong>, <strong>descriptif</strong> ou <strong>texte</strong>)
    276                                  Pour qu'un champ soit rempli par un numéro incrémenté à chaque clone, mettre <strong>#INCREMENT</strong> dans le champ
    277                                  <br /><br />par ex, la formule suivantes :
     301                                 Le titre de la rubrique sera constitu&eacute; par les champs 1 &agrave; 3. Chacun de ces champs peut &ecirc;tre rempli automatiquement par
     302                                 le contenu d'un champ de la rubrique &agrave; cloner (<strong>#TITRE</strong>, <strong>#DESCRIPTIF</strong> ou <strong>#TEXTE</strong>)
     303                                 Pour qu'un champ soit rempli par un num&eacute;ro incr&eacute;ment&eacute; &agrave; chaque clone, mettre <strong>#INCREMENT</strong> dans le champ
     304                                 <br /><br />Pour exemple : la formule
    278305                                 <ul>
    279                                                 <li>champ 1 : <strong>titre</strong></li>
     306                                                <li>champ 1 : <strong>#TITRE</strong></li>
    280307                                                <li>champ 2 : <strong>#INCREMENT</strong></li>
    281                                                 <li>champ 3 : <strong>descriptif</strong></li>
     308                                                <li>champ 3 : <strong>#DESCRIPTIF</strong></li>
    282309                                                <li>increment à <strong>12</strong></li>
    283310                                 </ul>
    284                                  donnera comme premier titre de la série :
     311                                 donnera comme premier titre de la s&eacute;rie :
    285312                                 <br /><strong>Partie II / Chapitre 12 :&lt;multi&gt;[fr] le titre du chapitre [en]chapter's title&lt;/multi&gt;</strong>
    286                                  <br />si on clone une rubrique avec les caractéristiques suivantes :
     313                                 <br />si on clone une rubrique avec les caract&eacute;ristiques suivantes :
    287314                                 <ul>
    288315                                                <li>titre : <strong>Partie II / Chapitre </strong></li>
  • _plugins_/_dev_/generateur_contenu/plugin.xml

    r7184 r9928  
    11<plugin>
    22        <nom>
    3            generateur de contenu
     3           g&#233;n&#233;rateur de contenu
    44        </nom>
    55        <auteur>
    6            cy_altern
     6           <multi>
     7                                        [fr]cy_altern
     8                                        _ &copy; 2007 - Distribu&#233; sous licence GNU/LGPL
     9                                        [en]cy_altern - distributed under GNU/GPL licence
     10                                        </multi>
    711        </auteur>
    812        <version>
    9                  0.2
     13                 0.3
    1014        </version>
    1115        <etat>
     
    1519          Permet de cloner en xx exemplaires une rubriques "source" avec ses articles vers une rubrique "cible"
    1620                                        <br />
    17                                         N'oubliez pas de configurer les secteurs contenant les rubriques "sources" et "cibles" en tête du fichier /exec/gener_cont.php
     21                                        N'oubliez pas de configurer les secteurs contenant les rubriques "sources" et "cibles"
     22                                        dans [l'interface de configuration->.?exec=cfg&cfg=gener_cont]
     23                                        <!--    en tête du fichier /exec/gener_cont.php  -->
    1824        </description>
    19                                 <url_doc> 
    20                                                 http://extranet-eze.dyndns.org/portail/spip_191/
    21                                 </url_doc>
    22                                 <url_zip>
    23                                     http://extranet-eze.dyndns.org/portail/spip_191/
    24                                 </url_zip>
    25                                 <rss_maj>
    26                                     http://extranet-eze.dyndns.org/portail/spip_191/spip.php
    27                                 </rss_maj>                             
    28                                
     25                                <lien> 
     26                                                http://extranet-eze.dyndns.org/portail/spip_SVN/
     27                                </lien>
    2928        <prefix>
    3029            gener_cont
Note: See TracChangeset for help on using the changeset viewer.