Changeset 66920 in spip-zone for _plugins_/grappes


Ignore:
Timestamp:
Oct 19, 2012, 8:20:19 AM (7 years ago)
Author:
brunobergot@…
Message:
  • refonte de l'action editer_grappe en accord avec les specs de SPIP 3 (source lecture du code...)
  • ajout d'une date aux grappes
  • ménage : plus besoin du fichier options et du squelette de chargement des sélecteurs
Location:
_plugins_/grappes/trunk
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/grappes/trunk/action/editer_grappe.php

    r50478 r66920  
    1010include_spip('inc/filtres');
    1111
    12 // Modifier le reglage des forums publics de l'article x
    13 // http://doc.spip.org/@action_editer_groupe_mot_dist
    14 function action_editer_grappe_dist()
    15 {
     12function action_editer_grappe_dist($arg=null) {
    1613
    17         $securiser_action = charger_fonction('securiser_action', 'inc');
    18         $id_grappe = intval($securiser_action());
    19 
    20         if (!$id_grappe) {
    21                 $id_grappe = sql_insertq("spip_grappes");
     14        if (is_null($arg)){
     15                $securiser_action = charger_fonction('securiser_action', 'inc');
     16                $arg = $securiser_action();
    2217        }
    2318
    24         // modifier le contenu via l'API
     19        if (!$id_grappe = intval($arg))
     20                $id_grappe = grappe_inserer();
     21
     22        if (!$id_grappe)
     23                return array(0,'');
     24
     25        $err = grappe_modifier($id_grappe);
     26
     27        return array($id_grappe,$err);
     28}
     29
     30
     31/**
     32 * Inserer une nouvelle grappe en base
     33 *
     34 * @return bool
     35 */
     36function grappe_inserer() {
     37
     38        $champs = array('date' => date('Y-m-d H:i:s'));
     39       
     40        // Envoyer aux plugins
     41        $champs = pipeline('pre_insertion',
     42                array(
     43                        'args' => array(
     44                                'table' => 'spip_grappes',
     45                        ),
     46                        'data' => $champs
     47                )
     48        );
     49
     50        $id_grappe = sql_insertq("spip_grappes", $champs);
     51        pipeline('post_insertion',
     52                array(
     53                        'args' => array(
     54                                'table' => 'spip_grappes',
     55                                'id_objet' => $id_grappe
     56                        ),
     57                        'data' => $champs
     58                )
     59        );
     60
     61        return $id_grappe;
     62}
     63
     64/**
     65 * Modifier une grappe
     66 *
     67 * $c est un contenu (par defaut on prend le contenu via _request())
     68 *
     69 * @param int $id_grappe
     70 * @param array|bool $set
     71 * @return string
     72 */
     73function grappe_modifier($id_grappe, $set=false) {
     74       
    2575        include_spip('inc/modifier');
    26 
     76       
    2777        $c = $opt = array();
    2878        foreach (array(
     
    4292                $c['liaisons'] = implode(',',$c['liaisons']);
    4393
    44         revision_grappe($id_grappe, $c);
    45         if ($redirect = _request('redirect')) {
    46                 include_spip('inc/headers');
    47                 redirige_par_entete(parametre_url(urldecode($redirect),
    48                         'id_grappe', $id_grappe, '&'));
    49         } else
    50                 return array($id_grappe,'');
     94        if ($err = objet_modifier_champs('grappe', $id_grappe,
     95                array(
     96                        'nonvide' => array('titre' => _T('info_sans_titre'))
     97                ),
     98                $c))
     99                return $err;
     100
     101        // Modification de la date ?
     102        $c = collecter_requests(array('date'),array(),$set);
     103        include_spip('action/editer_objet');
     104        $err = objet_instituer('grappe',$id_grappe, $c);
     105
     106        return $err;
     107}
     108
     109/**
     110 * Instituer une grappe
     111 *
     112 * @param int $id_grappe
     113 * @param array|bool $c
     114 * @return string
     115 */
     116function grappe_instituer($id_grappe, $c, $calcul_rub=true){
     117        // Envoyer aux plugins
     118        $c = pipeline('pre_edition',
     119                array(
     120                        'args' => array(
     121                                'table' => 'spip_grappes',
     122                                'id_objet' => $id_grappe,
     123                                'action'=>'instituer'
     124                        ),
     125                        'data' => $c
     126                )
     127        );
     128
     129        if (!count($c)) return;
     130
     131        // Envoyer les modifs.
     132
     133        sql_updateq('spip_grappes', $c, "id_grappe=$id_grappe");
     134
     135        // Pipeline
     136        pipeline('post_edition',
     137                array(
     138                        'args' => array(
     139                                'table' => 'spip_grappes',
     140                                'id_objet' => $id_grappe,
     141                                'action'=>'instituer'
     142                        ),
     143                        'data' => $c
     144                )
     145        );
     146
     147        return ''; // pas d'erreur
    51148}
    52149
  • _plugins_/grappes/trunk/base/grappes.php

    r66870 r66920  
    3333                        "id_grappe" => "bigint(21) NOT NULL",
    3434                        "id_admin" => "bigint(21) NOT NULL DEFAULT '0'",
    35                         "titre"         => "varchar(255) NOT NULL DEFAULT ''",
     35                        "titre" => "varchar(255) NOT NULL DEFAULT ''",
    3636                        "descriptif" => "text NOT NULL DEFAULT ''",
    37                         "options"       => "text NOT NULL DEFAULT ''",
    38                         "liaisons"      => "text NOT NULL DEFAULT ''",
     37                        "options" => "text NOT NULL DEFAULT ''",
     38                        "liaisons" => "text NOT NULL DEFAULT ''",
    3939                        "type" => "varchar(255) NOT NULL DEFAULT ''",
    4040                        "visibilite" => "varchar(10) NOT NULL DEFAULT 'public'",
    41                         "maj"           => "TIMESTAMP"
     41                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
     42                        "maj" => "TIMESTAMP"
    4243                ),
    4344                'key' => array(
     
    4546                ),
    4647                'titre' => "titre, '' AS lang",
     48                'date' => "date",
    4749                'page' => 'grappe',
    4850                'url_voir' => 'grappe',
  • _plugins_/grappes/trunk/grappes_administrations.php

    r66877 r66920  
    2424        $maj['0.2.2']  = array(array('sql_alter', 'TABLE spip_grappes_liens CHANGE COLUMN rang rang bigint(21) NOT NULL DEFAULT 0'));
    2525        $maj['0.2.3']  = array(array('sql_updateq',"spip_grappes_liens",array('objet'=>'site'),"objet='syndic'"));
     26        $maj['0.2.4']  = array(array('sql_alter',"TABLE spip_grappes ADD date datetime NOT NULL DEFAULT '0000-00-00 00:00:00'"));
    2627
    2728        include_spip('base/upgrade');
  • _plugins_/grappes/trunk/paquet.xml

    r66877 r66920  
    66        compatibilite="[3.0.0;3.0.99]"
    77        logo="prive/themes/spip/images/grappe-32.png"
    8         schema="0.2.3"
     8        schema="0.2.4"
    99        documentation="http://contrib.spip.net/Plugin-Grappes"
    1010>       
Note: See TracChangeset for help on using the changeset viewer.