Changeset 65634 in spip-zone


Ignore:
Timestamp:
Sep 6, 2012, 6:23:08 PM (7 years ago)
Author:
marcimat@…
Message:

Les bonnes puces statuts sur les réponses de formulaire.

Ce code est vilain des puces. Faudrait améliorer ça pour la 3.1 avec la connaissance du parent :)

Location:
_plugins_/formidable/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/trunk/exec/puce_statut_formulaires.php

    r37315 r65634  
    2828        ajax_retour($puce_statut($id,$statut,$id_formulaire,$type, true));
    2929}
     30
    3031?>
  • _plugins_/formidable/trunk/paquet.xml

    r65632 r65634  
    22        prefix="formidable"
    33        categorie="communication"
    4         version="1.3.0"
     4        version="1.3.1"
    55        etat="dev"
    66        compatibilite="[3.0.0-dev;3.0.99]"
  • _plugins_/formidable/trunk/prive/objets/liste/formulaires_reponses.html

    r65632 r65634  
    2222        <BOUCLE_reponses(FORMULAIRES_REPONSES){id_formulaire}{id_auteur?}{statut?}{tri #ENV{order,date},#GET{defaut_tri}}{pagination #ENV{nb,10}}>
    2323                <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
    24                         <td class="statut">[(#ID_FORMULAIRES_REPONSE|puce_changement_statut{#STATUT, #ID_FORMULAIRE, formulaires_reponse, true})]</td>
     24                        <td class="statut">[(#ID_FORMULAIRES_REPONSE|puce_changement_statut{#STATUT, #ID_FORMULAIRE, formulaires_reponse})]</td>
    2525                        <td class="date">[(#DATE|affdate_jourcourt|concat{#DATE|affdate{", H:i"}})]</td>
    2626                        <td class="auteur">
  • _plugins_/formidable/trunk/puce_statut/formulaires_reponse.php

    r65632 r65634  
    77**/
    88
     9/**
     10 * Retourne le contenu d'une puce avec changement de statut possible
     11 * si on en a l'autorisation, sinon simplement l'image de la puce
     12 *
     13 * @param int $id
     14 *     Identifiant de l'objet
     15 * @param string $statut
     16 *     Statut actuel de l'objet
     17 * @param int $id_parent
     18 *     Identifiant du parent, un formulaire
     19 * @param string $type
     20 *     Type d'objet
     21 * @param bool $ajax
     22 *     Indique s'il ne faut renvoyer que le coeur du menu car on est
     23 *     dans une requete ajax suite à un post de changement rapide
     24 * @param bool $menu_rapide
     25 *     Indique si l'on peut changer le statut, ou si on l'affiche simplement
     26 * @return string
     27 *     Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
     28**/
     29function puce_statut_formulaires_reponse_dist($id, $statut, $id_parent, $type='article', $ajax = false, $menu_rapide=_ACTIVER_PUCE_RAPIDE) {
    930
    10 /**
    11  * Déclare les états d'une puce statut d'une réponse de formulaire.
    12  *
    13  * [TODO] Migrer en 3...
    14 **/
    15 /*
    16 function puce_statut_formulaires_reponse_dist($id, $statut, $id_rubrique, $type='formulaires_reponse', $ajax=false){
    17         global $lang_objet;
    18        
    19         static $coord = array(
    20                 'publie' => 1,
    21                 'prop' => 0,
    22                 'poubelle' => 2
    23         );
     31        $src = statut_image($type, $statut);
     32        if (!$src)
     33                return $src;
    2434
    25         $lang_dir = lang_dir($lang_objet);
    26         $ajax_node = " id='imgstatut$type$id'";
    27         $inser_puce = puce_statut($statut, " width='9' height='9' style='margin: 1px;'$ajax_node");
     35        if (!$id
     36          OR !_SPIP_AJAX
     37          OR !$menu_rapide
     38          OR !autoriser('instituer', $type, $id)) {
     39          $ajax_node ='';
     40        }
     41        else
     42                $ajax_node = " class='imgstatut$type$id'";
    2843
    29         if (!autoriser('instituer', 'formulaires_reponse', $id)
    30                 or !_ACTIVER_PUCE_RAPIDE
    31         )
     44        $inser_puce = http_img_pack($src,statut_titre($type, $statut),$ajax_node);
     45
     46        if (!$ajax_node)
    3247                return $inser_puce;
    3348
    34         $titles = array(
    35                 "orange" => _T('texte_statut_propose_evaluation'),
    36                 "verte" => _T('texte_statut_publie'),
    37                 "poubelle" => _T('texte_statut_poubelle')
    38         );
    39        
    40         $clip = 1 + (11 * $coord[$statut]);
     49        $table = table_objet_sql($type);
     50        $desc = lister_tables_objets_sql($table);
     51        if (!isset($desc['statut_textes_instituer']))
     52                return $inser_puce;
    4153
     54        $coord = array_flip(array_keys($desc['statut_textes_instituer']));
     55        if (!isset($coord[$statut]))
     56                return $inser_puce;
     57
     58        $unit = 8/*widh de img*/+4/*padding*/;
     59        $margin = 4; /* marge a gauche + droite */
     60        $zero = 1 /*border*/ + $margin/2 + 2 /*padding*/;
     61        $clip = $zero+ ($unit*$coord[$statut]);
    4262        if ($ajax){
    43                 return  "<span class='puce_article_fixe'>"
     63
     64                $width = $unit*count($desc['statut_textes_instituer'])+$margin;
     65                $out = "<span class='puce_objet_fixe $type'>"
    4466                . $inser_puce
    4567                . "</span>"
    46                 . "<span class='puce_article_popup' id='statutdecal$type$id' style='width:33px; margin-left: -$clip"."px;'>"
    47                   . afficher_script_statut($id, $type, -1, 'puce-orange.gif', 'prop', $titles['orange'])
    48                   . afficher_script_statut($id, $type, -12, 'puce-verte.gif', 'publie', $titles['verte'])
    49                   . afficher_script_statut($id, $type, -23, 'puce-poubelle.gif', 'poubelle', $titles['poubelle'])
    50                   . "</span>";
     68                . "<span class='puce_objet_popup $type statutdecal$type$id' style='width:{$width}px;margin-left:-{$clip}px;'>";
     69                $i=0;
     70                foreach($desc['statut_textes_instituer'] as $s=>$t){
     71                        $out .= afficher_script_statut($id, $type, -$zero-$i++*$unit, statut_image($type,$s), $s, _T($t));
     72                }
     73                $out .= "</span>";
     74                return $out;
    5175        }
     76        else {
    5277
    53         $nom = "puce_statut_";
     78                $nom = "puce_statut_";
     79          $action = generer_url_ecrire('puce_statut_formulaires',"",true);
     80          $action = "if (!this.puce_loaded) { this.puce_loaded = true; prepare_selec_statut(this, '$nom', '$type', '$id', '$action'); }";
     81          $over = " onmouseover=\"$action\"";
    5482
    55         if ((! _SPIP_AJAX) AND $type != 'formulaires_reponse')
    56           $over ='';
    57         else {
    58                 $action = generer_url_ecrire('puce_statut_formulaires',"",true);
    59                 $action = "if (!this.puce_loaded) { this.puce_loaded = true; prepare_selec_statut('$nom', '$type', '$id', '$action'); }";
    60                 $over = "\nonmouseover=\"$action\"";
     83                $lang_dir = lang_dir(isset($GLOBALS['lang_objet']) ? $GLOBALS['lang_objet'] : "");
     84                return  "<span class='puce_objet $type' id='$nom$type$id' dir='$lang_dir'$over>"
     85                . $inser_puce
     86                . '</span>';
    6187        }
     88}
    6289
    63         return  "<span class='puce_article' id='$nom$type$id' dir='$lang_dir'$over>"
    64         . $inser_puce
    65         . '</span>';
    66 }
    67 */
     90
Note: See TracChangeset for help on using the changeset viewer.