Ignore:
Timestamp:
Oct 25, 2005, 4:20:41 PM (14 years ago)
Author:
booz.bloog@…
Message:

installation spip-listes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/bloog/ecrire/mes_options.php3

    r17 r1168  
    11<?php
    22
     3$dossier_squelettes = "_template" ;
    34
    4 $dossier_squelettes = "_template" ;
     5//$type_urls= 'propres2' ;
    56
    67//
     
    89//
    910
    10 
    1111$champs_extra = true;
    1212
    1313        $GLOBALS['champs_extra'] = Array (
    1414                'auteurs' => Array (
    15                                 "abo" => "radio|brut|Abonnement &agrave; lettre d'information|Format Html,Format texte,Ne pas recevoir de courrier|html,texte,non"
     15                        "abo" => "radio|brut|Format|Format Html,Format texte,se désabonner|html,texte,non"
     16
     17
     18                        ),
     19                       
     20                'articles' => Array (
     21                                "squelette" => "bloc|propre|Bibliographie",
    1622
    1723                        )
     
    2430                'inscription' => 'abo',
    2531                'fiche_auteur' => 'abo'
     32                ),
     33'articles' => Array (
     34                '0' => 'squelette',
     35                'tous' => '',
     36               
    2637                )
     38                               
    2739);
    2840
    2941
    30 /******************************************************************************************/
    31 /* La bloOgletter est un système de gestion de listes d'information par email pour SPIP   */
    32 /* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net , http://bloog.net            */
    33 /*                                                                                        */
    34 /* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
    35 /* de la Licence Publique Générale GNU publiée par la Free Software Foundation            */
    36 /* (version 2).                                                                           */
    37 /*                                                                                        */
    38 /* Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
    39 /* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
    40 /* d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU  */
    41 /* pour plus de détails.                                                                  */
    42 /*                                                                                        */
    43 /* Vous devez avoir reçu une copie de la Licence Publique Générale GNU                    */
    44 /* en même temps que ce programme ; si ce n'est pas le cas, écrivez à la                  */
    45 /* Free Software Foundation,                                                              */
    46 /* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis.                   */
    47 /******************************************************************************************/
    48 
    49 
    50 //
    51 // Definition de fonctions bloog
    52 //
    53 
    54 
    55 
    56 // Récupération des extra dans la base
    57 // Retourne un tableau associatif.
    58 // NB on retourne extra
    59 // sous forme de tableau associatif
    60 // Merci a beatnick
    61 
    62 function get_extra ($id, $objet) {
    63         if(!$id) return false;
    64         // On construit qqch qui ressemble à "SELECT extra FROM spip_articles WHERE id_article=$id_article"
    65         $query = "SELECT statut, extra FROM spip_".$objet."s";
    66         $query .= " WHERE id_".$objet."=".$id;
    67         $res = spip_query($query);
    68         $cells = spip_fetch_array($res);
    69        
    70         if(!$cells["extra"]) return false ;
    71         $extra = unserialize ($cells["extra"]);
    72         return $extra;
    73 }
    74 
    75 // Enregistrement des extras
    76 // On testera avec bonheur la valeur de retour
    77 // de cette fonction lors de son appel
    78 function set_extra ($id, $extra, $objet) {
    79         if(!$id) return false;
    80         $extra = addslashes(serialize($extra));
    81         // On construit qqch qui ressemble à "UPDATE spip_articles SET extra='$extra' WHERE id_article=$id_article"
    82         $query = "UPDATE spip_".$objet."s";
    83         $query .= " SET extra='$extra' ";
    84         $query .= " WHERE id_".$objet."=".$id;
    85         return spip_query($query);
    86 }
    87 
    88 
    89 
    90 // a partir de la liste des champs, generer la liste des input
    91 function bloog_extra_saisie($extra, $type, $ensemble='') {
    92         $extra = unserialize($extra);
    93 
    94         // quels sont les extras de ce type d'objet
    95         if (!$champs = $GLOBALS['champs_extra'][$type])
    96                 $champs = Array();
    97 
    98         // prendre en compte, eventuellement, les champs presents dans la base
    99         // mais oublies dans mes_options.
    100         if (is_array($extra))
    101                 while (list($key,) = each($extra))
    102                         if (!$champs[$key])
    103                                 $champs[$key] = "masque||($key?)";
    104 
    105         // quels sont les extras proposes...
    106         // ... si l'ensemble est connu
    107         if ($ensemble && isset($GLOBALS['champs_extra_proposes'][$type][$ensemble]))
    108                 $champs_proposes = explode('|', $GLOBALS['champs_extra_proposes'][$type][$ensemble]);
    109         // ... sinon, les champs proposes par defaut
    110         else if (isset($GLOBALS['champs_extra_proposes'][$type]['tous'])) {
    111                 $champs_proposes = explode('|', $GLOBALS['champs_extra_proposes'][$type]['tous']);
    112         }
    113 
    114         // sinon tous les champs extra du type
    115         else {
    116                 $champs_proposes =  Array();
    117                 reset($champs);
    118                 while (list($ch, ) = each($champs)) $champs_proposes[] = $ch;
    119         }
    120 
    121         // bug explode
    122         if($champs_proposes == explode('|', '')) $champs_proposes = Array();
    123 
    124         // maintenant, on affiche les formulaires pour les champs renseignes dans $extra
    125         // et pour les champs proposes
    126         reset($champs_proposes);
    127         while (list(, $champ) = each($champs_proposes)) {
    128                 $desc = $champs[$champ];
    129                 list($form, $filtre, $prettyname, $choix, $valeurs) = explode("|", $desc);
    130 
    131                 if (!$prettyname) $prettyname = ucfirst($champ);
    132                 $affiche .= "<b>$prettyname&nbsp;:</b><br />";
    133 
    134                 switch($form) {
    135 
    136                         case "case":
    137                         case "checkbox":
    138                                 $affiche = ereg_replace("<br />$", "&nbsp;", $affiche);
    139                                 $affiche .= "<INPUT TYPE='checkbox' NAME='suppl_$champ'";
    140                                 if ($extra[$champ] == 'true')
    141                                         $affiche .= " CHECKED ";
    142                                 break;
    143 
    144                         case "list":
    145                         case "liste":
    146                         case "select":
    147                                 $choix = explode(",",$choix);
    148                                 if (!is_array($choix)) {
    149                                         $affiche .= "Pas de choix d&eacute;finis.\n";
    150                                         break;
    151                                 }
    152 
    153                                 // prendre en compte les valeurs des champs
    154                                 // si elles sont renseignees
    155                                 $valeurs = explode(",",$valeurs);
    156                                 if($valeurs == explode(",",""))
    157                                         $valeurs = $choix ;
    158 
    159                                 $affiche .= "<SELECT NAME='suppl_$champ' ";
    160                                 $affiche .= "CLASS='forml'>\n";
    161                                 $i = 0 ;
    162                                 while (list(, $choix_) = each($choix)) {
    163                                         $val = $valeurs[$i] ;
    164                                         $affiche .= "<OPTION VALUE=\"$val\"";
    165                                         if ($val == entites_html($extra[$champ]))
    166                                                 $affiche .= " SELECTED";
    167                                         $affiche .= ">$choix_</OPTION>\n";
    168                                         $i++;
    169                                 }
    170                                 $affiche .= "</SELECT>";
    171                                 break;
    172 
    173                         case "radio":
    174                                 $choix = explode(",",$choix);
    175                                 if (!is_array($choix)) {
    176                                         $affiche .= "Pas de choix d&eacute;finis.\n";
    177                                         break;
    178                                 }
    179                                 $valeurs = explode(",",$valeurs);
    180                                 if($valeurs == explode(",",""))
    181                                         $valeurs = $choix ;
    182 
    183                                 $i=0;
    184                                 while (list(, $choix_) = each($choix)) {
    185                                         $affiche .= "<INPUT TYPE='radio' NAME='suppl_$champ' ";
    186                                         $val = $valeurs[$i] ;
    187                                         if (entites_html($extra["$champ"])== $val)
    188                                                 $affiche .= " CHECKED";
    189 
    190                                         // premiere valeur par defaut
    191                                         if (!$extra["$champ"] AND $i == 0)
    192                                                 $affiche .= " CHECKED";
    193 
    194                                         $affiche .= " VALUE='$val'>$choix_</INPUT><br>";
    195                                         $i++;
    196                                 }
    197                                 break;
    198 
    199                         // A refaire car on a pas besoin de renvoyer comme pour checkbox
    200                         // les cases non cochees
    201                         case "multiple":
    202                                 $choix = explode(",",$choix);
    203                                 if (!is_array($choix)) {
    204                                         $affiche .= "Pas de choix d&eacute;finis.\n";
    205                                         break; }
    206                                 for ($i=0; $i < count($choix); $i++) {
    207                                         $affiche .= "<INPUT TYPE='checkbox' NAME='suppl_$champ$i'";
    208                                         if (entites_html($extra["$champ"][$i])=="on")
    209                                                 $affiche .= " CHECKED";
    210                                         $affiche .= ">\n";
    211                                         $affiche .= $choix[$i];
    212                                         $affiche .= "</INPUT>\n";
    213                                 }
    214                                 break;
    215 
    216                         case "bloc":
    217                         case "block":
    218                                 $affiche .= "<TEXTAREA NAME='suppl_$champ' CLASS='forml' ROWS='5' COLS='40'>".entites_html($extra[$champ])."</TEXTAREA>\n";
    219                                 break;
    220 
    221                         case "masque":
    222                                 $affiche .= "<font color='#555555'>".interdire_scripts($extra[$champ])."</font>\n";
    223                                 break;
    224 
    225                         case "ligne":
    226                         case "line":
    227                         default:
    228                                 $affiche .= "<INPUT TYPE='text' NAME='suppl_$champ' CLASS='forml'\n";
    229                                 $affiche .= " VALUE=\"".entites_html($extra[$champ])."\" SIZE='40'>\n";
    230                                 break;
    231                 }
    232 
    233                 $affiche .= "<p>\n";
    234         }
    235 
    236         if ($affiche) {
    237                 echo" <div align='left'>";
    238                 echo $affiche;
    239                 echo"</div>";
    240 
    241         }
    242 }
    243 
    244 // recupere les valeurs postees pour reconstituer l'extra
    245 function bloog_extra_recup_saisie($type) {
    246         $champs = $GLOBALS['champs_extra'][$type];
    247         if (is_array($champs)) {
    248                 $extra = Array();
    249                 while(list($champ,)=each($champs)) {
    250                         list($style, $filtre, , $choix,) = explode("|", $GLOBALS['champs_extra'][$type][$champ]);
    251                         list(, $filtre) = explode(",", $filtre);
    252                         switch ($style) {
    253                         case "multiple":
    254                                 $choix =  explode(",", $choix);
    255                                 $extra["$champ"] = array();
    256                                 for ($i=0; $i < count($choix); $i++) {
    257                                         if ($filtre && function_exists($filtre))
    258                                                  $extra["$champ"][$i] =
    259                                                         $filtre($GLOBALS["suppl_$champ$i"]);
    260                                         else
    261                                                 $extra["$champ"][$i] = $GLOBALS["suppl_$champ$i"];
    262                                 }
    263                                 break;
    264 
    265                         case 'case':
    266                         case 'checkbox':
    267                                 if ($GLOBALS["suppl_$champ"] == 'on')
    268                                         $GLOBALS["suppl_$champ"] = 'true';
    269                                 else
    270                                         $GLOBALS["suppl_$champ"] = 'false';
    271 
    272                         default:
    273                                 if ($filtre && function_exists($filtre))
    274                                 $extra["$champ"]=$filtre($GLOBALS["suppl_$champ"]);
    275                                 else $extra["$champ"]=$GLOBALS["suppl_$champ"];
    276                                 break;
    277                         }
    278                 }
    279                 return serialize($extra);
    280         } else
    281                 return '';
    282 }
    283 
    284 function bloog_onglets($rubrique, $onglet){
    285         global $id_auteur, $connect_id_auteur, $connect_statut, $statut_auteur, $options;
    286 
    287         debut_onglet();
    288 
    289        
    290 
    291         if ($rubrique == "administration"){
    292                 onglet("parametrage", "bloog_parametrage.php3", "parametrage", $onglet, "base-24.gif");
    293                 onglet("couleurs", "voircouleurs.php3", "couleurs", $onglet, "Palette-24.gif");
    294                 onglet("CSS", "voircss.php3", "CSS", $onglet, "cache-24.gif");
    295                 onglet("Langue", "voir_langues.php3", "messagerie", $onglet, "cache-24.gif");
    296                 }
    297                
    298                 if ($rubrique == "messagerie"){
    299                 onglet("Historique des envois", "bloogletter.php3?mode=historique", "messagerie", $onglet, "stock_mail_hist.gif");
    300                 onglet("Nouveau courrier", "bloogletter.php3?mode=courrier_edit&new=oui&type=nl", "messagerie", $onglet, "stock_mail_send.gif");
    301                 }
    302 
    303        
    304        
    305 
    306         fin_onglet();
    307 }
     42include('options_spip_listes.php3');
    30843
    30944?>
Note: See TracChangeset for help on using the changeset viewer.