Changeset 86139 in spip-zone


Ignore:
Timestamp:
Nov 17, 2014, 10:48:35 PM (5 years ago)
Author:
cedric@…
Message:

Debut implementation de #FORMULAIRE_ADMIN_MAGNET pour ajouter des boutons d'admin d'un article dans la page (ergo sur la page de l'article, ou liste d'articles avec chacun son bouton...)

Location:
_plugins_/magnet
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/magnet/magnet_fonctions.php

    r85907 r86139  
    3131        }
    3232}
     33
     34/**
     35 * Generer les boutons pour d'admin magnet selon les droits du visiteur
     36 *
     37 * @param object $p
     38 * @return object
     39 */
     40function balise_BOUTONS_ADMIN_MAGNET_dist($p) {
     41        if (($_id = interprete_argument_balise(1,$p))===NULL)
     42                $_id = champ_sql('id_article', $p);
     43
     44        $_objet = "'article'";
     45
     46                $p->code = "
     47'<'.'?php
     48        if (isset(\$GLOBALS[\'visiteur_session\'][\'statut\'])
     49          AND \$GLOBALS[\'visiteur_session\'][\'statut\']==\'0minirezo\'
     50                AND (\$id = '.intval($_id).')
     51                AND     include_spip(\'inc/autoriser\')
     52                AND autoriser(\'administrermagnet\',$_objet,\$id)) {
     53                        echo \"<div class=\'boutons spip-admin actions magnet\'>\"
     54                        . magnet_html_boutons_admin($_objet,\$id)
     55                        . \"</div>\";
     56                }
     57?'.'>'";
     58
     59        $p->interdire_scripts = false;
     60        return $p;
     61}
     62
    3363
    3464/**
     
    6696}
    6797
     98
     99/**
     100 * Generer le HTML des boutons d'admin magnet
     101 *
     102 * @param $objet
     103 * @param $id_objet
     104 * @param string $class
     105 * @return string
     106 */
     107function magnet_html_boutons_admin($objet, $id_objet, $class=""){
     108        $magnet_rang = magnet_rang($objet, $id_objet);
     109        $ur_action = generer_action_auteur("magnetize",$objet."-".$id_objet."-".($magnet_rang?"off":"on"),self());
     110        $balise_img = chercher_filtre("balise_img");
     111        $bclass = $class . " magnet ";
     112        if ($magnet_rang) {
     113                $bclass .= "magnetized";
     114                $label = "($magnet_rang) <span>Enlever</span>";
     115                $bouton = bouton_action($label,$ur_action,$bclass);
     116                if ($magnet_rang>1){
     117                        $ur_action = generer_action_auteur("magnetize",$objet."-".$id_objet."-"."up",self());
     118                        $bouton = bouton_action($balise_img(_DIR_PLUGIN_MAGNET."magnet-up-24.png","monter"),$ur_action, $class ." magnet-up") . $bouton;
     119                }
     120                if ($magnet_rang<magnet_count($objet)){
     121                        $ur_action = generer_action_auteur("magnetize",$objet."-".$id_objet."-"."down",self());
     122                        $bouton = bouton_action($balise_img(_DIR_PLUGIN_MAGNET."magnet-down-24.png","monter"),$ur_action, $class ." magnet-down") . $bouton;
     123                }
     124        }
     125        else {
     126                $bclass .= "demagnetized";
     127                $label = "<span>Aimanter</span>";
     128                $bouton = bouton_action($label,$ur_action,$bclass);
     129        }
     130
     131        return $bouton;
     132}
     133
     134
    68135/**
    69136 * Ajouter un bouton pour magnetiser/demagnetiser un article
     
    73140function magnet_formulaire_admin($flux){
    74141        if ($flux['args']['contexte']['objet']=='article'
    75           AND $id_objet = intval($flux['args']['contexte']['id_objet'])){
    76                 $objet = $flux['args']['contexte']['objet'];
    77                 $magnet_rang = magnet_rang($objet, $id_objet);
    78                 $ur_action = generer_action_auteur("magnetize",$objet."-".$id_objet."-".($magnet_rang?"off":"on"),self());
    79                 $balise_img = chercher_filtre("balise_img");
    80                 $class = "spip-admin-boutons magnet ";
    81                 if ($magnet_rang) {
    82                         $class .= "magnetized";
    83                         $label = "($magnet_rang) <span>Enlever</span>";
    84                         $bouton = bouton_action($label,$ur_action,$class);
    85                         if ($magnet_rang>1){
    86                                 $ur_action = generer_action_auteur("magnetize",$objet."-".$id_objet."-"."up",self());
    87                                 $bouton = bouton_action($balise_img(_DIR_PLUGIN_MAGNET."magnet-up-24.png","monter"),$ur_action,"spip-admin-boutons magnet-up") . $bouton;
    88                         }
    89                         if ($magnet_rang<magnet_count($objet)){
    90                                 $ur_action = generer_action_auteur("magnetize",$objet."-".$id_objet."-"."down",self());
    91                                 $bouton = bouton_action($balise_img(_DIR_PLUGIN_MAGNET."magnet-down-24.png","monter"),$ur_action,"spip-admin-boutons magnet-down") . $bouton;
    92                         }
    93                 }
    94                 else {
    95                         $class .= "demagnetized";
    96                         $label = "<span>Aimanter</span>";
    97                         $bouton = bouton_action($label,$ur_action,$class);
    98                 }
    99                 $bouton .= " ";
     142          AND $objet = $flux['args']['contexte']['objet']
     143          AND $id_objet = intval($flux['args']['contexte']['id_objet'])
     144          AND isset($GLOBALS['visiteur_session']['statut'])
     145                AND $GLOBALS['visiteur_session']['statut']=='0minirezo'
     146          AND include_spip('inc/autoriser')
     147          AND autoriser('administrermagnet',$objet,$id_objet)){
     148                $bouton = magnet_html_boutons_admin($objet, $id_objet,"spip-admin-boutons spip-admin-boutons-magnet") . " ";
    100149                $p = strpos($flux['data'],"<a");
    101150                $flux['data'] = substr_replace($flux['data'],$bouton,$p,0);
  • _plugins_/magnet/paquet.xml

    r85908 r86139  
    22        prefix="magnet"
    33        categorie="outil"
    4         version="0.2.1"
     4        version="0.3.0"
    55        etat="test"
    66        compatibilite="[3.0.0;["
Note: See TracChangeset for help on using the changeset viewer.