Changeset 9928 in spip-zone
- Timestamp:
- Feb 27, 2007, 2:02:32 AM (14 years ago)
- Location:
- _plugins_/_dev_/generateur_contenu
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/_dev_/generateur_contenu/exec/gener_cont.php
r7759 r9928 2 2 /* générateur de clones de rubrique avec articles 3 3 4 gener_cont.php (c) cy_altern 2006 -- licenceGPL4 cy_altern © 2007 - Distribué sous licence GNU/LGPL 5 5 6 6 */ … … 8 8 9 9 function 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 19 16 include_spip("inc/presentation"); 20 17 … … 69 66 for ($j = 1; $j < 4; $j++) { 70 67 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 } 79 84 } 80 85 } … … 97 102 } 98 103 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')" ); 100 105 if (mysql_error() != '') { 101 106 $Terr_rub[] = 'insertion rubrique n°'.$i.' : erreur => '.mysql_error(); … … 117 122 // 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 !) 118 123 // 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"); 120 131 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']; 129 140 // création clone article 130 141 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')"); 132 143 if (mysql_error() != '') { 133 $Terr_art[] = 'insertion article FICHErubrique n°'.$id_rub_ec.' : erreur => '.mysql_error();144 $Terr_art[] = 'insertion article rubrique n°'.$id_rub_ec.' : erreur => '.mysql_error(); 134 145 } 135 146 else { … … 137 148 spip_query("INSERT INTO $Tauteurs_articles (id_article, id_auteur) VALUES ($id_art_ec, $id_utilisateur)"); 138 149 if (mysql_error() != '') { 139 $Terr_art[] = 'insertion auteur_article FICHErubrique n° '.$id_rub_ec.' : erreur => '.mysql_error();150 $Terr_art[] = 'insertion auteur_article rubrique n° '.$id_rub_ec.' : erreur => '.mysql_error(); 140 151 } 141 152 } … … 146 157 } // fin for nb_copies 147 158 148 } 159 } // fin if $_POST complet 149 160 150 161 … … 191 202 debut_boite_info(); 192 203 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èles (".$num_source.") dans une sous-rubrique du secteur ".$num_cible."."; 194 205 echo "<br /><br /><strong>Version : </strong>".$version_script; 206 echo '<br /><br /><a href=".?exec=cfg&cfg=gener_cont">Configuration de ce plugin</a>'; 195 207 fin_boite_info(); 196 208 197 209 debut_droite(); 198 gros_titre('Moulinette à c réer les sous-rubriques');210 gros_titre('Moulinette à cloner les rubriques'); 199 211 200 212 … … 218 230 else { ?> 219 231 <div id="ok" class="ok"> 220 Tout c'est bien passé, <? print $nb_cree; ?> rubrique s créés.232 Tout c'est bien passé, <? print $nb_cree; ?> rubrique(s) créé(s). 221 233 </div> 222 234 <? } … … 226 238 <form method="post" action="<? print basename($_SERVER['PHP_SELF']); ?>?exec=gener_cont" id="form_saisie" name="form_saisie"> 227 239 228 <? debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Choix de la rubrique de stination et du nombre de sous-rubriques"); ?>229 Rubrique o ùcré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ù créer les clones : 230 242 <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"; 232 250 $result1 = spip_query($sql1); 233 251 while ($row1 = spip_fetch_array($result1)) { … … 244 262 <br /> 245 263 <? fin_cadre_trait_couleur(); 246 debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Paramétrage rubrique àcopier"); ?>247 Rubrique àcopier :264 debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Paramétrage de la rubrique à copier"); ?> 265 Rubrique à copier : 248 266 <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 250 268 while ($row2 = spip_fetch_array($result2)) { 251 269 echo "<option value=\"".$row2['id_rubrique']."\">".$row2['titre']."</option>"; 252 270 } ?> 253 271 </select> 254 <? 272 <? if ($connect_toutes_rubriques) { // choix auteur uniquement pour les admins complets ?> 255 273 <br /><br /> 256 274 Auteur des articles : … … 261 279 } ?> 262 280 </select> 263 264 281 <? } ?> 282 <br /><br /> 283 Statut des articles : 284 <select name="statut_articles"> 285 <option value="publie" <? echo ($statut_articles_defaut == "publie" ? 'selected="selected"' : ''); ?>>publié en ligne</option> 286 <option value="prop" <? echo ($statut_articles_defaut == "prop" ? 'selected="selected"' : ''); ?>>proposé à l'évaluation</option> 287 <option value="prepa" <? echo ($statut_articles_defaut == "prepa" ? 'selected="selected"' : ''); ?>>en cours de rédaction</option> 288 <option value="poubelle" <? echo ($statut_articles_defaut == "poubelle" ? 'selected="selected"' : ''); ?>>à la poubelle</option> 289 <option value="refuse" <? echo ($statut_articles_defaut == "refuse" ? 'selected="selected"' : ''); ?>>refusé</option> 290 </select> 291 265 292 <? fin_cadre_trait_couleur(); 266 293 debut_cadre_trait_couleur("rubrique-24.gif", false, "", "Création des titres de sous-rubriques :"); ?> … … 269 296 <br />champ 3 : <input type="text" id="champ_3_titre_rub" name="champ_3_titre_rub"> 270 297 <br /> 271 Num érotation : increment commence à: <input type="text" style="width: 30px;" id="debut_increment_titre_rub" name="debut_increment_titre_rub">298 Numérotation : incrément commence à : <input type="text" style="width: 30px;" id="debut_increment_titre_rub" name="debut_increment_titre_rub"> 272 299 <br /><br /> 273 300 <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 par275 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 champ277 <br /><br /> par ex, la formule suivantes :301 Le titre de la rubrique sera constitué par les champs 1 à 3. Chacun de ces champs peut être rempli automatiquement par 302 le contenu d'un champ de la rubrique à cloner (<strong>#TITRE</strong>, <strong>#DESCRIPTIF</strong> ou <strong>#TEXTE</strong>) 303 Pour qu'un champ soit rempli par un numéro incrémenté à chaque clone, mettre <strong>#INCREMENT</strong> dans le champ 304 <br /><br />Pour exemple : la formule 278 305 <ul> 279 <li>champ 1 : <strong> titre</strong></li>306 <li>champ 1 : <strong>#TITRE</strong></li> 280 307 <li>champ 2 : <strong>#INCREMENT</strong></li> 281 <li>champ 3 : <strong> descriptif</strong></li>308 <li>champ 3 : <strong>#DESCRIPTIF</strong></li> 282 309 <li>increment à <strong>12</strong></li> 283 310 </ul> 284 donnera comme premier titre de la s érie :311 donnera comme premier titre de la série : 285 312 <br /><strong>Partie II / Chapitre 12 :<multi>[fr] le titre du chapitre [en]chapter's title</multi></strong> 286 <br />si on clone une rubrique avec les caract éristiques suivantes :313 <br />si on clone une rubrique avec les caractéristiques suivantes : 287 314 <ul> 288 315 <li>titre : <strong>Partie II / Chapitre </strong></li> -
_plugins_/_dev_/generateur_contenu/plugin.xml
r7184 r9928 1 1 <plugin> 2 2 <nom> 3 g enerateur de contenu3 générateur de contenu 4 4 </nom> 5 5 <auteur> 6 cy_altern 6 <multi> 7 [fr]cy_altern 8 _ © 2007 - Distribué sous licence GNU/LGPL 9 [en]cy_altern - distributed under GNU/GPL licence 10 </multi> 7 11 </auteur> 8 12 <version> 9 0. 213 0.3 10 14 </version> 11 15 <etat> … … 15 19 Permet de cloner en xx exemplaires une rubriques "source" avec ses articles vers une rubrique "cible" 16 20 <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 --> 18 24 </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> 29 28 <prefix> 30 29 gener_cont
Note: See TracChangeset
for help on using the changeset viewer.