Changeset 20923 in spip-zone


Ignore:
Timestamp:
Jun 10, 2008, 1:02:18 PM (11 years ago)
Author:
paladin@…
Message:

Gestion des moderateurs : un liste peut avoir plusieurs moderateurs. Un moderateur doit obligatoirement être administrateur

  • la page de gestion d'une liste propose d'ajouter ou de supprimer un moderateur
Location:
_plugins_/_test_/spip-listes/spip-listes_1_9_3
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/exec/spiplistes_import_export.php

    r20425 r20923  
    202202                        $checked = ($nb_listes == 1) ? "checked='checked'" : "";
    203203                        $label = _T('spiplistes:Liste_de_destination').": $titre";
    204                         if($connect_toutes_rubriques || ($connect_id_auteur == spiplistes_mod_listes_get_id_auteur($id_liste))) {
     204                        $ids_mods_array = spiplistes_mod_listes_get_id_auteur($id_liste);
     205                        $ids_mods_array = ($ids_mods_array && isset($ids_mods_array[$id_liste]) ? $ids_mods_array[$id_liste] : array();
     206                        if($connect_toutes_rubriques || in_array($connect_id_auteur, $ids_mods_array)) {
    205207                                $page_result .= ""
    206208                                        . "<li style='padding:4px;background-color:#".(($ii++ % 2) ? "fff" : "ccc").";'>"
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/exec/spiplistes_liste_edit.php

    r20583 r20923  
    6565        //
    6666                // les supers-admins et le moderateur seuls peuvent modifier la liste
    67                 $id_mod_liste = spiplistes_mod_listes_get_id_auteur($id_liste);
    68                 $flag_editable = ($connect_toutes_rubriques || ($connect_id_auteur == $id_mod_liste));
     67                $ids_mods_array = spiplistes_mod_listes_get_id_auteur($id_liste);
     68                $ids_mods_array = ($ids_mods_array && isset($ids_mods_array[$id_liste]) ? $ids_mods_array[$id_liste] : array());
     69                $flag_editable = ($connect_toutes_rubriques || in_array($connect_id_auteur, $ids_mods_array));
    6970
    7071                $sql_select_array = array('titre', 'lang', 'pied_page', 'texte', 'date', 'statut');
     
    7576                        }
    7677                        // supers-admins et moderateur seuls ont droit de modifier la liste
    77                         $id_mod_liste = spiplistes_mod_listes_get_id_auteur($id_liste);
    78                         $flag_editable = ($connect_toutes_rubriques || ($connect_id_auteur == $id_mod_liste));
     78//                      $ids_mods_array = spiplistes_mod_listes_get_id_auteur($id_liste);
     79//                      $ids_mods_array = ($ids_mods_array && isset($ids_mods_array[$id_liste]) ? $ids_mods_array[$id_liste] : array();
     80//                      $flag_editable = ($connect_toutes_rubriques || in_array($connect_id_auteur, $ids_mods_array));
    7981                }
    8082                else {
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/exec/spiplistes_liste_gerer.php

    r20885 r20923  
    4040function exec_spiplistes_liste_gerer () {
    4141
     42        include_spip('inc/autoriser');
    4243        include_spip('inc/mots');
    4344        include_spip('inc/lang');
     
    9192        $envoyer_maintenant = ($envoyer_maintenant == 'oui');
    9293       
    93         $boite_pour_confirmer_envoi_maintenant = "";
     94        $boite_pour_confirmer_envoi_maintenant =
     95                $grosse_boite_moderateurs = "";
    9496       
    9597        $page_result = "";
     
    120122        ////
    121123                // les supers-admins et le moderateur seuls peuvent modifier la liste
    122                 $id_mod_liste = spiplistes_mod_listes_get_id_auteur($id_liste);
    123                 $flag_editable = ($connect_toutes_rubriques || ($connect_id_auteur == $id_mod_liste));
     124                $ids_mods_array = spiplistes_mod_listes_get_id_auteur($id_liste);
     125                $ids_mods_array = ($ids_mods_array && isset($ids_mods_array[$id_liste]) ? $ids_mods_array[$id_liste] : array());
     126                $flag_editable = ($connect_toutes_rubriques || in_array($connect_id_auteur, $ids_mods_array));
    124127
    125128                if($flag_editable) {
     
    298301
    299302        // les supers-admins et le moderateur seuls peuvent modifier la liste
    300         $id_mod_liste = spiplistes_mod_listes_get_id_auteur($id_liste);
    301         $flag_editable = ($connect_toutes_rubriques || ($connect_id_auteur == $id_mod_liste));
     303        $ids_mods_array = spiplistes_mod_listes_get_id_auteur($id_liste);
     304        $ids_mods_array = ($ids_mods_array && isset($ids_mods_array[$id_liste]) ? $ids_mods_array[$id_liste] : array());
     305        $flag_editable = ($connect_toutes_rubriques || in_array($connect_id_auteur, $ids_mods_array));
    302306
    303307        $titre_message = ($titre_message=='') ? $titre._T('spiplistes:_de_').$meta['nom_site'] : $titre_message;
     
    329333                                        )
    330334                        ;
     335                       
    331336                // la grosse boite des abonnes
    332337                $tri = _request('tri') ? _request('tri') : 'nom';
     
    346351                        . debut_block_invisible(md5('abonnes_liste'))
    347352                        . debut_cadre_relief('', true)
    348                         //. "<div id='grosse_boite_abonnements' class='verdana1'>\n"
    349353                        . $boite_liste_abonnes
    350                         //. "</div>\n"
    351354                        . fin_cadre_relief(true)
    352355                        . fin_block()
     
    354357                        . "<!-- fin boite abonnes/elligibles -->\n"
    355358                        ;
     359
     360                // la grosse boite des moderateurs
     361                $boite_liste_moderateurs = spiplistes_listes_boite_moderateurs(
     362                        $id_liste, _SPIPLISTES_EXEC_LISTE_GERER, 'mods-conteneur'
     363                        );
     364                $titre_boite = _T('spiplistes:mods_cette_liste');
     365                $nb = spiplistes_mod_listes_compter($id_liste);
     366                $legend = _T('spiplistes:nbre_mods').$nb;
     367                $legend = "<small>".spiplistes_nb_moderateurs_liste_str_get($nb)."</small>";
     368                $grosse_boite_moderateurs = ""
     369                        . "<!-- boite moderateurs -->\n"
     370                        . debut_cadre_enfonce("redacteurs-24.gif", true, "", $titre_boite)
     371                        . spiplistes_bouton_block_depliable($legend
     372                                , false, md5('mods_liste'))
     373                        . (spiplistes_spip_est_inferieur_193() ? $legend : "")
     374                        . debut_block_invisible(md5('mods_liste'))
     375                        . debut_cadre_relief('', true)
     376                        . "<div id='mods-conteneur'>\n"
     377                        . $boite_liste_moderateurs
     378                        . "</div>\n"
     379                        . fin_cadre_relief(true)
     380                        . fin_block()
     381                        . fin_cadre_enfonce(true)
     382                        . "<!-- fin boite moderateurs -->\n"
     383                        ;
     384
    356385        }
    357386        else {
     
    639668
    640669        $page_result .= ""
     670                . "</td>\n"
    641671                . "</tr>\n"
    642672                . "<tr><td align='$spip_lang_left' class='verdana2'>"
     
    733763                ;
    734764       
    735         $page_result .= $grosse_boite_abonnements;
     765        $page_result .= ""
     766                . $grosse_boite_abonnements
     767                . $grosse_boite_moderateurs
     768                ;
    736769       
    737770        // le super-admin peut abonner en masse
     
    741774                        . debut_cadre_enfonce(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."abonner-24.png", true, '', _T('spiplistes:Forcer_les_abonnement_liste').__plugin_aide("forcerliste"))."\n"
    742775                        . "<p class='verdana2'>\n"
    743                         . _T('spiplistes:Forcer_abonnement_desc')."<br />\n"
    744                         . "<blockquote class='verdana2'><em>"
     776                        . _T('spiplistes:Forcer_abonnement_desc')
     777                        . "</p>\n"
     778                        . "<p class='verdana2' style='margin-bottom:1em'><em>"
    745779                        . _T('spiplistes:Forcer_abonnement_aide', array('lien_retour' => generer_url_ecrire(_SPIPLISTES_EXEC_ABONNES_LISTE)))
    746                         . "</em></blockquote></p>\n"
     780                        . "</em></p>\n"
    747781                        . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER,"id_liste=$id_liste#auteurs")."' id='form_forcer_abo' name='form_forcer_abo' method='post'>\n"
    748782                        . debut_cadre_relief("", true)."\n"
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/exec/spiplistes_maintenance.php

    r20912 r20923  
    120120                                        $sql_where = "id_liste=".sql_quote($id_liste);
    121121                                        $msg =
    122                                                 (
    123                                                         // supprime la liste
    124                                                         sql_delete("spip_listes", $sql_where." LIMIT 1")
    125                                                         // de la table des abonne's
    126                                                         && sql_delete("spip_auteurs_listes", $sql_where)
    127                                                         // de la table des mode'rateurs (pas de LIMIT, si plusieurs mode'rateurs)
    128                                                         && spiplistes_mod_listes_supprimer($sql_where)
    129                                                 )
     122                                                spiplistes_listes_liste_supprimer($id_liste)
    130123                                                ?       $msg_ok
    131124                                                :       $msg_bad
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/genie/spiplistes_cron.php

    r20883 r20923  
    120120               
    121121                        // demande id_auteur de la liste pour signer le courrier
     122                        // si plusieurs moderateurs, prend le premier
    122123                        $id_auteur =
    123                                 (isset($mod_listes_ids[$id_liste]) && ($mod_listes_ids[$id_liste] > 0))
    124                                 ? $mod_listes_ids[$id_liste]
    125                                 : 1 // attribué à l'admin principale si manquant
     124                                (isset($mod_listes_ids[$id_liste]) && ($mod_listes_ids[$id_liste][0] > 0))
     125                                ? $mod_listes_ids[$id_liste][0]
     126                                : 1 // attribué à l'admin principal si manquant
    126127                                ;
    127128                       
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/inc/spiplistes_afficher_auteurs.php

    r20885 r20923  
    196196       
    197197        // titres du tableau (a-la-SPIP, en haut)
    198         $icon_auteur = spiplistes_corrige_img_pack("<img src='"._DIR_IMG_PACK."/admin-12.gif' alt='' border='0'>");
     198        $icon_auteur = spiplistes_corrige_img_pack("<img src='"._DIR_IMG_PACK."/admin-12.gif' alt='' border='0' />");
    199199        $result .= ""
    200200                . "<tr bgcolor='#DBE1C5'>"
     
    384384                        .       (
    385385                                ($row['compteur'])
    386                                 ? "<span class='spiplistes-legend-stitre'>".$row['compteur']."<span>"
     386                                ? "<span class='spiplistes-legend-stitre'>".$row['compteur']."</span>"
    387387                                : ""
    388388                                )
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/inc/spiplistes_api.php

    r20903 r20923  
    247247        return(
    248248                sql_delete('spip_listes', $sql_where." LIMIT 1")
    249                 && spiplistes_mod_listes_supprimer($sql_where)
     249                && spiplistes_mod_listes_supprimer("tous", $id_liste)
    250250                && sql_delete('spip_auteurs_listes', $sql_where)
    251251        );
     
    267267                $id_liste = intval($id_liste);
    268268                $id_auteur = intval($connect_id_auteur);
    269                 spiplistes_mod_listes_supprimer("id_liste=".sql_quote($id_liste));
    270                 spiplistes_mod_listes_ajoute($id_auteur, $id_liste);
     269                spiplistes_mod_listes_supprimer("tous", $id_liste);
     270                spiplistes_mod_listes_ajouter($id_auteur, $id_liste);
    271271                spiplistes_abonnements_supprimer("id_liste=".sql_quote($id_liste));
    272272                spiplistes_abonnements_ajouter($id_auteur, $id_liste);
     
    470470// Table cible : spip_auteurs_mod_listes
    471471
    472 // -> renvoie ID du moderateur de la liste
     472// renvoie ID du moderateur de la liste
    473473// CP-20080608 : ou de toutes les listes si $id_liste = 'toutes'
    474 // -> renvoie du style: array[id_liste] => id_auteur
     474// -> result du style: array[id_liste] => array(id_auteur, ...)
    475475function spiplistes_mod_listes_get_id_auteur ($id_liste) {
    476476        $sql_from = 'spip_auteurs_mod_listes';
    477         if($id_liste == "toutes") {
    478                 if($sql_result = sql_select("*", $sql_from)) {
    479                         $result = array();
    480                         while($row = sql_fetch($sql_result)) {
    481                                 $result[$row['id_liste']] = $row['id_auteur'];
     477        $sql_where =
     478                ($id_liste == "toutes")
     479                ? ""
     480                : "id_liste=".sql_quote(intval($id_liste))
     481                ;
     482        if($sql_result = sql_select("*", $sql_from, $sql_where)) {
     483                $result = array();
     484                while($row = sql_fetch($sql_result)) {
     485                        $ii = $row['id_liste'];
     486                        if(!isset($result[$ii])) {
     487                                $result[$ii] = array();
    482488                        }
    483                         return($result);
    484                 }
    485         } else if(($id_liste = intval($id_liste)) > 0) {
    486                 return(sql_getfetsel('id_auteur', $sql_from, "id_liste=".sql_quote($id_liste),'','',1));
    487         }
    488         return(0);
    489 }
    490 
    491 // CP-20080503: supprime une liste dans table des modérateurs
    492 function spiplistes_mod_listes_supprimer ($sql_whereq) {
    493         return(
    494                 (is_string($sql_whereq))
    495                 ? sql_delete('spip_auteurs_mod_listes', $sql_whereq)
    496                 : false
    497         );     
     489                        $result[$ii][] = $row['id_auteur'];
     490                }
     491                return($result);
     492        }
     493        return(false);
     494}
     495
     496// CP-20080503: supprime un ou + modérateurs d'une liste
     497function spiplistes_mod_listes_supprimer ($id_auteur, $id_liste) {
     498        $sql_where = array();
     499        if($id_auteur != "tous") {
     500                $id_auteur = intval($id_auteur);
     501                $sql_where[] = "id_auteur=".sql_quote($id_auteur);
     502        }
     503        $id_liste = intval($id_liste);
     504        $sql_where[] = "id_liste=".sql_quote($id_liste);
     505        return(sql_delete('spip_auteurs_mod_listes', $sql_where));     
    498506}
    499507
    500508//CP-20080512
    501 function spiplistes_mod_listes_ajoute ($id_auteur, $id_liste) {
     509function spiplistes_mod_listes_ajouter ($id_auteur, $id_liste) {
    502510        return(
    503511                sql_insertq('spip_auteurs_mod_listes'
     
    510518}
    511519
     520//CP-2080610
     521function spiplistes_mod_listes_compter ($id_liste) {
     522        $n = sql_fetch(sql_select("COUNT(*) AS n", "spip_auteurs_mod_listes", "id_liste=".sql_quote($id_liste)));
     523        return(($n && $n['n']) ? $n['n'] : false);
     524}
    512525
    513526
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/inc/spiplistes_api_presentation.php

    r20902 r20923  
    752752}
    753753
     754//CP-20080610
     755// Nombre de moderateurs d'une liste, chaine html
     756function spiplistes_nb_moderateurs_liste_str_get ($nb) {
     757        $result = ""
     758                . "("
     759                .       (
     760                        ($nb)
     761                        ? spiplistes_singulier_pluriel_str_get(
     762                                $nb
     763                                , _T('spiplistes:nb_moderateur_sing'), _T('spiplistes:nb_moderateurs_plur'))
     764                        : _T('spiplistes:sans_moderateur')
     765                        )
     766                . ")"
     767                ;
     768        return ($result);
     769}
     770
    754771// CP-20080510
    755772function spiplistes_titre_boite_info ($titre = "") {
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/inc/spiplistes_listes_selectionner_auteur.php

    r20885 r20923  
    2929// Pour récupérer le résultat :
    3030//   list($non_abonnes, $nb_non_abonnes) = spiplistes_listes_auteurs_elligibles($id_liste, $statut);
    31 function spiplistes_listes_auteurs_elligibles ($id_liste = 0, $statut_liste = '') {
    32         $nb_non_abonnes = 0;
    33         $non_abonnes = array();
    34         $ids_abos =
    35                 ($id_liste > 0)
     31function spiplistes_listes_auteurs_elligibles ($id_liste, $statut_liste = '', $faire = '') {
     32        $nb_auteurs = 0;
     33        $auteurs_array = array();
     34        if($lister_moderateurs = ($faire == 'moderer')) {
     35                // récupère la liste des modérateurs
     36                $ids_already = spiplistes_mod_listes_get_id_auteur($id_liste);
     37                $ids_already = (isset($ids_already[$id_liste]) ? $ids_already[$id_liste] : array());
     38                $sql_where[] = "statut=".sql_quote('0minirezo');
     39        }
     40        else {
    3641                // récupère la liste des abonnés
    37                 ? spiplistes_listes_liste_abo_ids($id_liste)
    38                 : array()
    39                 ;
     42                $ids_already = spiplistes_listes_liste_abo_ids($id_liste);
     43                // prépare la liste des non-abonnés elligibles
     44                $sql_where = array("email <> ''"); // email obligatoire !
     45                // si liste privée, ne prend que l'equipe de redacs
     46                if($statut_liste == _SPIPLISTES_PRIVATE_LIST) {
     47                        $sql_where[] = "(statut=".sql_quote('0minirezo')." OR statut=".sql_quote('1comite').")";
     48                }
     49        }
    4050        $sql_from = array("spip_auteurs");
    41         // prépare la liste des non-abonnés elligibles
    42         $sql_where = array("email <> ''"); // email obligatoire !
    43         // si liste privée, ne prend que l'equipe de redacs
    44         if($statut_liste == _SPIPLISTES_PRIVATE_LIST) {
    45                 $sql_where[] = "(statut=".sql_quote('0minirezo')." OR statut=".sql_quote('1comite').")";
    46         }
    4751        // demande la liste des elligibles
    4852        $sql_result = sql_select("nom,id_auteur,statut", $sql_from, $sql_where, '', array('statut','nom'));
     
    5054                while($row = sql_fetch($sql_result)) {
    5155                        // ne pas prendre ceux déjà abonnés
    52                         if(in_array($row['id_auteur'], $ids_abos)) {
     56                        if(in_array($row['id_auteur'], $ids_already)) {
    5357                                continue;
    5458                        }
    55                         if(!isset($non_abonnes[$row['statut']])) {
    56                                 $non_abonnes[$row['statut']] = array();
     59                        if(!isset($auteurs_array[$row['statut']])) {
     60                                $auteurs_array[$row['statut']] = array();
    5761                        }
    58                         $non_abonnes[$row['statut']][$row['id_auteur']] = $row['nom'];
    59                         $nb_non_abonnes++;
     62                        $auteurs_array[$row['statut']][$row['id_auteur']] = $row['nom'];
     63                        $nb_auteurs++;
    6064                }
    6165        }
    62         return(array($non_abonnes, $nb_non_abonnes));
     66        return(array($auteurs_array, $nb_auteurs));
    6367}
    6468
     
    119123// retourne liste des elligibles sous forme de select, selecteur_spip ou recherche
    120124// si trop nombreux.
    121 function spiplistes_listes_selectionner_elligibles ($non_abonnes, $nb_non_abonnes, $id_liste, $tri) {
    122 
    123         $js = "findObj_forcer('valider_ajouter_abo').style.visibility='visible';";
     125function spiplistes_listes_selectionner_elligibles (
     126        $non_abonnes
     127        , $nb_non_abonnes
     128        , $id_liste
     129        , $tri
     130        , $script_action
     131        , $script_exec
     132        , $id_grosse_boite
     133        , $args_action = ''
     134) {
     135        static $bouton_id;
     136        $bouton_id++;
     137        $js = "findObj_forcer('valider_ajouter_abo_$bouton_id').style.visibility='visible';";
    124138        if($nb_non_abonnes <= _SPIPLISTES_SELECT_MIN_AUTEURS){
    125139                $t_statut = array(
     
    160174        }*/
    161175       
    162         $action = generer_action_auteur(_SPIPLISTES_ACTION_ABONNER_AUTEUR, "id_liste=$id_liste");
    163         $retour = generer_url_ecrire(_SPIPLISTES_EXEC_LISTE_GERER, "id_liste=$id_liste");
     176        if(empty($args_action)) {
     177                $args_action = "id_liste=$id_liste";
     178        }
     179        $action = generer_action_auteur($script_action, $args_action);
     180        $retour = generer_url_ecrire($script_exec, "id_liste=$id_liste");
    164181
    165182        return(
    166183                  "<!-- form listes select elligibles -->\n"
    167184                . "<form style='margin:0px; border:0px' action='$action' method='post'>\n"
    168                 . "<div id='boite_selection_elligibles' style='padding:0;margin:0.5em 0 0'>\n"
     185                . "<div id='boite_selection_elligibles_$bouton_id' style='padding:0;margin:0.5em 0 0'>\n"
    169186                . $select_abo
    170187                . "<span><input type='submit' value='Ajouter' "
    171                         . " onclick=\"return AjaxSqueeze(this.form, 'grosse_boite_abonnements', '$retour', event)\" "
    172                         . " class='fondo visible_au_chargement' id='valider_ajouter_abo'/></span>\n"
     188                        . " onclick=\"return AjaxSqueeze(this.form, '$id_grosse_boite', '$retour', event)\" "
     189                        . " class='fondo visible_au_chargement' id='valider_ajouter_abo_$bouton_id'/></span>\n"
    173190                . "</div>\n"
    174191                . "<input name='arg' type='hidden' value='$id_liste' />"
    175                 . "<input name='action' type='hidden' value='"._SPIPLISTES_ACTION_ABONNER_AUTEUR."' />"
     192                . "<input name='action' type='hidden' value='".$script_action."' />"
    176193                . "<input name='redirect' type='hidden' value='".$retour."' />"
    177194                . "<input name='id_liste' type='hidden' value='".$id_liste."' />"
     
    194211        list($non_abonnes, $nb_non_abonnes) = spiplistes_listes_auteurs_elligibles($id_liste, $statut_liste);
    195212        if($nb_non_abonnes > 0) {
    196                 $boite_abonnements .= spiplistes_listes_selectionner_elligibles($non_abonnes, $nb_non_abonnes, $id_liste, $tri);
     213                $boite_abonnements .= spiplistes_listes_selectionner_elligibles(
     214                        $non_abonnes
     215                        , $nb_non_abonnes
     216                        , $id_liste
     217                        , $tri
     218                        , _SPIPLISTES_ACTION_ABONNER_AUTEUR
     219                        , _SPIPLISTES_EXEC_LISTE_GERER
     220                        , 'grosse_boite_abonnements'
     221                );
    197222        }
    198223        $boite_abonnements .= ""
     
    202227}
    203228
     229//CP-20080610
     230// boite des moderateurs
     231function spiplistes_listes_boite_moderateurs ($id_liste, $script_retour, $id_conteneur) {
     232        $boite_moderateurs = ""
     233                . "<div id='grosse_boite_moderateurs' class='verdana1' style='width:100%;height:auto'>\n"
     234                . "<ul class='liste-moderateurs'>\n"
     235                ;
     236        $sql_result = sql_select(
     237                "a.id_auteur,a.statut,a.nom"
     238                , array(
     239                        "spip_auteurs AS a"
     240                        , "spip_auteurs_mod_listes AS m"
     241                )
     242                , array(
     243                        "a.id_auteur=m.id_auteur"
     244                        , "m.id_liste=".sql_quote($id_liste)
     245                )
     246        );
     247        $ii = 1;
     248        $faire = 'supprimer';
     249        while($row = sql_fetch($sql_result)) {
     250                $id_auteur = $row['id_auteur'];
     251                $exec_url = generer_url_ecrire($script_retour, "id_liste=$id_liste&id_auteur=$id_auteur&faire=$faire");
     252                $action_url = generer_action_auteur(_SPIPLISTES_ACTION_MOD_GERER, $id_liste." ".$id_auteur." ".$faire);
     253                $couleur_ligne = (($ii++) % 2) ? '#eee' : '#fff';
     254                $boite_moderateurs .= ""
     255                        . "<li style='background-color: $couleur_ligne'>\n"
     256                        . "<span class='statut-nom'>".spiplistes_bonhomme_statut($row)
     257                                . "<span class='nom'>&nbsp;".$row['nom'] . "</span>\n"
     258                        . "</span>\n"
     259                        . "<a class='supprim' href='"
     260                                                . parametre_url($exec_url, 'redirect', $exec_url)
     261                                                . "' onclick=\"return AjaxSqueeze('$action_url','$id_conteneur','$exec_url',event)\">"
     262                                                . _T('spiplistes:sup_mod')
     263                                                . "</a>\n"
     264                        . "</li>\n"
     265                        ;
     266        }
     267        $boite_moderateurs .= ""
     268                . "</ul>\n"
     269                ;
     270        // demande la liste des elligibles
     271        list($elligibles, $nb_elligibles) = spiplistes_listes_auteurs_elligibles($id_liste, $statut_liste, "moderer");
     272        if($nb_elligibles > 0) {
     273                $boite_moderateurs .= spiplistes_listes_selectionner_elligibles(
     274                        $elligibles
     275                        , $nb_elligibles
     276                        , $id_liste
     277                        , 'nom'
     278                        , _SPIPLISTES_ACTION_MOD_GERER
     279                        , $script_retour
     280                        , 'grosse_boite_moderateurs'
     281                        , "$id_liste $id_auteur ajouter"
     282                        );
     283        }
     284        $boite_moderateurs .= ""
     285                . "</div>\n"
     286                ;
     287        return($boite_moderateurs);
     288} //
     289
    204290?>
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/inc/spiplistes_pipeline_header_prive.php

    r20313 r20923  
    3131.spiplistes fieldset { border:1px solid black; }
    3232.spiplistes .message-alerte { color:red; font-weight:bold; }
     33.spiplistes .liste-moderateurs { list-style: none;margin:0;padding:0;width:100%;height:auto;display:table; }
     34.spiplistes .liste-moderateurs li
     35, .spiplistes .liste-moderateurs li .statut-nom
     36, .spiplistes .liste-moderateurs li .supprim { margin:0;padding:0 0 0 0.5ex;display:table-cell;line-height:1.6em;width:50%; }
     37.spiplistes .liste-moderateurs li  { display:table-row;width:100% }
     38.spiplistes .liste-moderateurs li .nom { padding-left:2ex }
     39.spiplistes .liste-moderateurs li .supprim { font-weight:bold;text-align:right;padding:0 1ex }
    3340-->
    3441</style>
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/lang/spiplistes_fr.php

    r20895 r20923  
    330330'methode_envoi' => 'M&eacute;thode d\'envoi'
    331331, 'mettre_a_jour' => '<h3>SPIP-listes va mettre &agrave; jour</h3>'
    332 , 'moderateurs' => 'Mod&eacute;rateur(s)',
    333 'modifier' => 'Modifier',
     332, 'moderateurs' => "Mod&eacute;rateur(s)"
     333, 'mods_cette_liste' => "Les mod&eacute;rateurs de cette liste"
     334, 'modifier' => 'Modifier',
    334335'mis_a_jour' => 'Mis &agrave; jour',
    335336'Modifier_un_courrier_:' => "Modifier un courrier :",
     
    349350'meleuse_suspendue' => "Meleuse suspendue",
    350351'meleuse_suspendue_info' => "L'envoi des courriers en attente d'exp&eacute;dition est suspendu.",
    351 'Meleuse_reactivee' => "M&egrave;leuse r&eacute;activ&eacute;e",
     352'Meleuse_reactivee' => "M&egrave;leuse r&eacute;activ&eacute;e"
    352353
    353354//n
    354 'nb_abonnes_plur' => ' abonn&eacute;s',
    355 'nb_abonnes_sing' => ' abonn&eacute;',
    356 'nbre_abonnes' => 'Nombre d\'abonn&eacute;s : ',
    357 'nom' => 'Nom d\'utilisateur',
     355, 'nb_abonnes_sing' => " abonn&eacute;"
     356, 'nb_abonnes_plur' => " abonn&eacute;s"
     357, 'nb_moderateur_sing' => " mod&eacute;rateur"
     358, 'nb_moderateurs_plur' => " mod&eacute;rateurs"
     359, 'nbre_abonnes' => "Nombre d\'abonn&eacute;s : "
     360, 'nbre_mods' => "Nombre de mod&eacute;rateurs : "
     361, 'nom' => 'Nom d\'utilisateur',
    358362'nombre_lot' => 'Nombre d\'envois par lot',
    359363'Nouveau_courrier' => 'Cr&eacute;er un nouveau courrier',
     
    436440'Sans_abonnement' => "Sans abonnement"
    437441, 'sans_abonne' => "sans abonn&eacute;"
     442, 'sans_moderateur' => "sans mod&eacute;rateur"
    438443, 'Supprimer_ce_contact' => "Supprimer ce contact",
    439444'Suppression_de' => "Suppression de"
     
    451456'simulation_desactive' => "Mode simulation d&eacute;sactiv&eacute;."
    452457, 'simuler_les_envois' => "Simuler les envois de courriers"
     458, 'sup_mod' => "Supprimer ce mod&eacute;rateur"
    453459
    454460 //T
     
    576582'nb_abonnes' => 'Dans les listes : ',
    577583'nb_inscrits' => 'Dans le site :  ',
    578 'nb_listes' => 'Incriptions dans toutes les listes : ',
    579 'Pas_de_courrier_auto_programme' => 'Il n\'y a pas de courrier automatique planifi&eacute; pour cette liste.'
     584'nb_listes' => 'Incriptions dans toutes les listes : '
     585, 'Pas_de_courrier_auto_programme' => "Il n'y a pas de courrier automatique planifi&eacute; pour cette liste."
    580586, 'Pas_de_periodicite' => "Pas de p&eacute;riodicit&eacute;."
    581587, 'nouvelle_abonne' => 'L\'abonn&eacute; suivant a &eacute;t&eacute; ajout&eacute; la liste',
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/plugin.xml

    r20912 r20923  
    88        <nom><multi>[fr]SPIP-Listes[en]SPIP-Lists[ar]&#1604;&#1608;&#1575;&#1574;&#1581; SPIP</multi></nom>
    99        <auteur>BoOz@rezo.net</auteur>
    10         <version>1.9947</version>
     10        <version>1.9948</version>
    1111        <version_base>1.98</version_base>
    1212        <etat>test</etat>
  • _plugins_/_test_/spip-listes/spip-listes_1_9_3/spiplistes_mes_options.php

    r20912 r20923  
    137137define("_SPIPLISTES_ACTION_ABONNER_AUTEUR", _SPIPLISTES_ACTION_PREFIX."listes_abonner_auteur");
    138138define("_SPIPLISTES_ACTION_LISTE_ABONNES", _SPIPLISTES_ACTION_PREFIX."liste_des_abonnes");
     139define("_SPIPLISTES_ACTION_MOD_GERER", _SPIPLISTES_ACTION_PREFIX."moderateurs_gerer");
    139140
    140141// les formats d'envoi autorisés, ou non pour pseudo-désabonné
     
    211212
    212213// autorise les admins et l'utilisateur à modifier son format de réception
    213 function autoriser_abonne_modifierformat ($faire, $type, $id) {
     214function autoriser_abonne_modifierformat ($faire = '', $type = '', $id_objet = 0, $qui = NULL, $opt = NULL) {
    214215        return(
    215216                $GLOBALS['auteur_session']['id_auteur'] == $id
    216217                || $GLOBALS['auteur_session']['statut'] == '0minirezo'
    217218        );
     219}
     220
     221//CP-20080610 :: autoriser la moderation d'une liste
     222function autoriser_liste_moderer ($faire = '', $type = '', $id_objet = 0, $qui = NULL, $opt = NULL) {
     223        $result = false;
     224        if(($type == 'liste') && ($faire == "moderer") && ($id_objet > 0)) {
     225                if(!$qui) {
     226                        $qui = $GLOBALS['auteur_session']['id_auteur'];
     227                }
     228                $result =
     229                        ($GLOBALS['auteur_session']['statut'] == '0minirezo')
     230                        || (
     231                                sql_getfetsel(
     232                                        "id_auteur"
     233                                        , 'spip_auteurs_mod_listes'
     234                                        , array(
     235                                                "id_liste=".sql_quote($id_objet)
     236                                                , "id_auteur=".$qui
     237                                        )
     238                                        , '', '', 1
     239                                )
     240                        )
     241                        ;
     242        }
     243        return($result);
    218244}
    219245
Note: See TracChangeset for help on using the changeset viewer.