Accueil‎ > ‎Modèle FSGT‎ > ‎

Modif SVN SPIP

Cette page est réservée aux développeurs SPIP qui sont susceptible d'intervenir sur le modèle, ou d'en assurer la continuité.

Fichiers modifiés

Chaque modification est à reporter manuellement sur chaque montée de version. Les modifications sont marquées en gras et rouge.

ecrire/inc/instituer_auteur.php

 // http://doc.spip.org/@traduire_statut_auteur
function traduire_statut_auteur($statut){
    $recom = array("info_administrateurs" => _T('item_administrateur_2'),
               "info_redacteurs" =>  _T('intem_redacteur'),
               "info_visiteurs" => _T('item_visiteur'),
               '5poubelle' => _T('texte_statut_poubelle'), // bouh
               );
    if (isset($recom[$statut]))
        return $recom[$statut];
    
    // retrouver directement par le statut sinon
    if ($t = array_search($statut, $GLOBALS['liste_des_statuts'])
      AND isset($recom[$t]))
        return $recom[$t];
    
    return $t;
}

// Menu de choix d'un statut d'auteur
// http://doc.spip.org/@choix_statut_auteur
function choix_statut_auteur($statut, $id_auteur, $ancre) {

    // Le menu doit-il etre actif ?
    if (!autoriser('modifier', 'auteur', $id_auteur,
    null, array('statut' => '?')))
        return '';

    // A-t-on le droit de promouvoir cet auteur comme admin
    // et y a-t-il des visiteurs ?
    $droits = $GLOBALS['liste_des_statuts'];

    if (!autoriser('modifier', 'auteur', $id_auteur,
               null, array('statut' => '0minirezo')))
        unset($droits["info_administrateurs"]);

    if (!avoir_visiteurs())
        unset($droits['info_visiteurs']);

    $menu = '';
    foreach($droits as $k => $v) {
//      var_dump('___');
//        var_dump($k . '=>' . $v);
        if ($k = traduire_statut_auteur($k)) {
            $menu .=  mySel($v, $statut, $k);
        } elseif ($k = traduire_statut_auteur($v)) $menu .=  mySel($v, $statut, $k);
    }

//     var_dump('___2');
//  var_dump($menu);
 
    // Chercher les statuts non standards
    $l = $GLOBALS['liste_des_statuts'];
    $l[]= 'nouveau';
    var_dump($l);
    var_dump( sql_in('statut', $l, 'NOT') );
    $q = sql_allfetsel("statut", 'spip_auteurs', sql_in('statut', $l, 'NOT'), "statut");

    $hstatut = htmlentities($statut);
//     var_dump('Q___2');
//    var_dump($q);
    foreach ($q as $r) {
        $nom = htmlentities($r['statut']);
//        var_dump('nom : ' . $nom);
        $t = traduire_statut_auteur($nom);
        $t = !$t ? (_T('info_statut_auteur_autre') . ' ' . $nom) : $t;
        $menu .= mySel($nom, $hstatut, $t);
    }

    // Ajouter l'option "nouveau" si l'auteur n'est pas confirme
    if ($statut == 'nouveau')
        $menu .= mySel('nouveau',$statut,_T('info_statut_auteur_a_confirmer'));

//  var_dump($menu);
 
    $statut_rubrique = str_replace(',', '|', _STATUT_AUTEUR_RUBRIQUE);
    return "<select class='select fondl' name='statut' id='statut' size='1'
        onchange=\"(this.options[this.selectedIndex].value.match(/^($statut_rubrique)\$/))?jQuery('#$ancre:hidden').slideDown():jQuery('#$ancre:visible').slideUp();\">"
    . $menu
    . "\n<option" .
        mySel("5poubelle",$statut) .
        " class='danger'>&gt; "
        ._T('texte_statut_poubelle') .
        '</option>'
    . "</select>\n";
}

Comments