Changeset 9881 in spip-zone


Ignore:
Timestamp:
Feb 25, 2007, 11:55:08 AM (13 years ago)
Author:
cedric@…
Message:

rendre les status parametrables par le fichier de langue, et adapter le menu survol aux statuts actifs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/inc/instituer_forms_donnee.php

    r9875 r9881  
    7070        global $spip_lang_left, $dir_lang, $connect_statut, $options;
    7171        static $script=NULL;
     72        static $pi18n = array();
    7273       
    73         switch ($statut) {
    74         case 'publie':
    75                 $clip = 1;
    76                 $puce = 'verte';
    77                 $title = _T('info_article_publie');
    78                 break;
    79         case 'prop':
    80                 $clip = 0;
    81                 $puce = 'orange';
    82                 $title = _T('info_article_propose');
    83                 break;
    84         case 'refuse':
    85                 $clip = 2;
    86                 $puce = 'rouge';
    87                 $title = _T('info_article_refuse');
    88                 break;
    89         case 'poubelle':
    90                 $clip = 3;
    91                 $puce = 'poubelle';
    92                 $title = _T('info_article_supprime');
    93                 break;
     74        if (!$id) {
     75          $id = $id_form;
     76          $ajax_node ='';
     77        } else  $ajax_node = " id='imgstatutforms_donnee$id'";
     78
     79        if (!isset($pi18n[$id_form])){
     80                $pi18n[$id_form] = "form";
     81                $res = spip_query("SELECT type_form FROM spip_forms WHERE id_form="._q($id_form));
     82                if ($row = spip_fetch_array($res)
     83                        AND $row['type_form']!=''
     84                        AND $rox['type_form']!='sondage')
     85                                $pi18n[$id_form] = forms_prefixi18n($row['type_form']);
    9486        }
    95         $puce = "puce-$puce.gif";
    9687
    97         if (!include_spip('inc/autoriser'))
    98                 include_spip('inc/autoriser_compat');
    99         if (autoriser('publierdans', 'form', $id_form)) {
    100           // les versions de MSIE ne font pas toutes pareil sur alt/title
    101           // la combinaison suivante semble ok pour tout le monde.
    102           $titles = array(
    103                           "orange" => _T('texte_statut_propose_evaluation'),
    104                           "verte" => _T('texte_statut_publie'),
    105                           "rouge" => _T('texte_statut_refuse'),
    106                           "poubelle" => _T('texte_statut_poubelle'));
    107                 if ($ajax){
    108                   $action = "onmouseover=\"montrer('statutdecalforms_donnee$id');\"";
    109                   $inser_puce =
    110                         // "\n<div class='puce_forms_donnee' id='statut$id'$dir_lang>" .
    111                                 "\n<div class='puce_forms_donnee_fixe' $action>" .
    112                           http_img_pack($puce, $title, "id='imgstatutforms_donnee$id' style='margin: 1px;'") ."</div>"
    113                                 . "\n<div class='puce_forms_donnee_popup' id='statutdecalforms_donnee$id' onmouseout=\"cacher('statutdecalforms_donnee$id');\" style=' margin-left: -".((11*$clip)+1)."px;'>\n"
    114                                 . afficher_script_statut($id, 'forms_donnee', -1, 'puce-orange.gif', 'prop', $titles['orange'], $action)
    115                                 . afficher_script_statut($id, 'forms_donnee', -12, 'puce-verte.gif', 'publie', $titles['verte'], $action)
    116                                 . afficher_script_statut($id, 'forms_donnee', -23, 'puce-rouge.gif', 'refuse', $titles['rouge'], $action)
    117                                 . afficher_script_statut($id, 'forms_donnee', -34, 'puce-poubelle.gif', 'poubelle', $titles['poubelle'], $action)
    118                         . "</div>"
    119                         //. "</div>"
    120                         ;
     88        $p = $pi18n[$id_form];
     89        $puce = array(
     90          'prepa'=>'puce-blanche.gif',
     91          'prop'=>'puce-orange.gif',
     92          'publie'=>'puce-verte.gif',
     93          'refuse'=>'puce-rouge.gif',
     94          'poubelle'=>'puce-poubelle.gif');
     95        $lib = array();
     96        $clip = array();
     97        $c = 0;
     98        $statuts = array("prepa","prop","publie","poubelle","refuse");
     99        foreach($statuts as $s){
     100                $lib[$s] = _T("$p:texte_statut_$s");
     101                if (strlen(trim($lib[$s]))){
     102                        $clip[$s] = $c++;
    121103                }
    122                 else{
    123                   $inser_puce = "\n<div class='puce_forms_donnee' id='statut$id'$dir_lang>".
    124                           http_img_pack($puce, $title, "id='imgstatutforms_donnee$id' style='margin: 1px;'") ."</div>";
    125                         if ($script==NULL){
    126                                 $action = "'".generer_url_ecrire('puce_statut_forms_donnee',"id='+id",true);
    127                                 $script = "<script type='text/javascript'><!--\n";
    128                                 $script .= "$(document).ready(function(){
    129                                         $('div.puce_forms_donnee').mouseover( function() {
    130                                                 if (this.puce_loaded) return;
    131                                                 this.puce_loaded = true;
    132                                                 id = $(this).id();
    133                                                 id = id.substr(6,id.length-1);
    134                                                 $('#statut'+id).load($action,function(){
    135                                                                 $('#statutdecalforms_donnee'+id).show();
    136                                                                 /*$('#statut'+id).mouseover(function(){ $(this).children('.puce_forms_donnee_popup').show(); });*/
    137                                                         });
    138                                                 });
    139                                        
    140                                 })";
    141                                 $script .= "//--></script>";
    142                                 $inser_puce = $script . $inser_puce;
    143                         }
    144                 }
    145         } else {
    146                 $inser_puce = http_img_pack($puce, $title, "id='imgstatutforms_donnee$id' style='margin: 1px;'");
     104                else $clip[$s] = 0;
    147105        }
    148         return $inser_puce;
     106        $width = 11*$c+1;
     107        $inser_puce = http_img_pack($puce[$statut], $lib[$statut], " style='margin: 1px;'$ajax_node");
     108
     109        if (!autoriser('publierdans', 'form', $id_form))
     110                return $inser_puce;
     111
     112        if ($ajax){
     113                $action = "\nonmouseover=\"montrer('statutdecalforms_donnee$id');\"";
     114                $res = "<span class='puce_forms_donnee_fixe'\n$action>"
     115                . $inser_puce
     116                . "</span>"
     117                . "<span class='puce_article_popup' id='statutdecalforms_donnee$id'\nonmouseout=\"cacher('statutdecalforms_donnee$id');\" style='margin-left: -".((11*$clip[$statut])+1)."px;width:{$width}px'>";
     118                foreach($statuts as $s)
     119                        if (strlen(trim($lib[$s])))
     120                        $res .= afficher_script_statut($id, 'forms_donnee', -((11*$clip[$s])+1), $puce[$s], $s, $lib[$s], $action);
     121                $res .= "</span>";
     122                return $res;
     123        }
     124
     125        $nom = "puce_statut_";
     126
     127        if ((! _SPIP_AJAX))
     128          $over ='';
     129        else {
     130                $action = generer_url_ecrire('puce_statut_forms_donnee',"",true);
     131                $action = "if (!this.puce_loaded) { this.puce_loaded = true; prepare_selec_statut('$nom', 'forms_donnee', $id, '$action'); }";
     132                $over = "\nonmouseover=\"$action\"";
     133        }
     134
     135        return  "<span class='puce_article' id='{$nom}forms_donnee$id'$dir_lang$over>"
     136        . $inser_puce
     137        . '</span>';
     138
    149139}
    150140
Note: See TracChangeset for help on using the changeset viewer.