Changeset 54558 in spip-zone for _plugins_/compositions


Ignore:
Timestamp:
Nov 17, 2011, 4:25:18 PM (8 years ago)
Author:
cedric@…
Message:

reorganisation des pages de l'espace prive
declaration/installation/desinstallation
inutile d'avoir une fonction vide pour declarer un pipeline
nettoyage

Location:
_plugins_/compositions/trunk
Files:
2 added
1 deleted
3 edited
2 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/compositions/trunk/compositions_administrations.php

    r54556 r54558  
    99if (!defined("_ECRIRE_INC_VERSION")) return;
    1010
    11 /**
    12  * Declaration des tables principales
    13  *
    14  * @param array $tables_principales
    15  * @return array
    16  */
    17 function compositions_declarer_tables_principales($tables_principales){
    18        
    19         $tables_principales['spip_articles']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
    20         $tables_principales['spip_rubriques']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
    21         $tables_principales['spip_auteurs']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
    22         $tables_principales['spip_breves']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
    23         $tables_principales['spip_mots']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
    24         $tables_principales['spip_syndic']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
    25         $tables_principales['spip_articles']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    26         $tables_principales['spip_rubriques']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    27         $tables_principales['spip_rubriques']['field']['composition_branche_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    28         $tables_principales['spip_auteurs']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    29         $tables_principales['spip_breves']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    30         $tables_principales['spip_mots']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    31         $tables_principales['spip_syndic']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
    32         return $tables_principales;
    33 }
    3411
    3512/**
     
    4017 */
    4118function compositions_upgrade($nom_meta_base_version,$version_cible){
    42         include_spip('inc/meta');
    43         $current_version = 0.0;
    44         if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
    45                         || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    46                 if (version_compare($current_version,'0.1','<')){
    47                         include_spip('base/abstract_sql');
    48                         sql_alter("TABLE spip_articles ADD composition varchar(255) DEFAULT '' NOT NULL");
    49                         sql_alter("TABLE spip_rubriques ADD composition varchar(255) DEFAULT '' NOT NULL");
    50                         ecrire_meta($nom_meta_base_version,$current_version="0.1",'non');
    51                 }
    52                 if (version_compare($current_version,'0.2.0','<')){
    53                         sql_alter("TABLE spip_auteurs ADD composition varchar(255) DEFAULT '' NOT NULL");
    54                         sql_alter("TABLE spip_breves ADD composition varchar(255) DEFAULT '' NOT NULL");
    55                         sql_alter("TABLE spip_mots ADD composition varchar(255) DEFAULT '' NOT NULL");
    56                         sql_alter("TABLE spip_syndic ADD composition varchar(255) DEFAULT '' NOT NULL");
    57                         ecrire_meta($nom_meta_base_version,$current_version="0.2.0",'non');
    58                 }
    59                 if (version_compare($current_version,'0.3.0','<')){
    60                         sql_alter("TABLE spip_articles ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    61                         sql_alter("TABLE spip_rubriques ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    62                         sql_alter("TABLE spip_auteurs ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    63                         sql_alter("TABLE spip_breves ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    64                         sql_alter("TABLE spip_mots ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    65                         sql_alter("TABLE spip_syndic ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    66                         ecrire_meta($nom_meta_base_version,$current_version="0.3.0",'non');
    67                 }
    68                 if (version_compare($current_version,'0.4.0','<')){
    69                         sql_alter("TABLE spip_rubriques ADD composition_branche_lock tinyint(1) DEFAULT 0 NOT NULL");
    70                         ecrire_meta($nom_meta_base_version,$current_version="0.4.0",'non');
    71                 }
     19        include_spip('base/objets');
     20        $tables_objets = array_keys(lister_tables_objets_sql());
     21        $maj = array();
     22        $maj['create'] = array();
     23        foreach($tables_objets as $table){
     24                $maj['create'][] = array('sql_alter',"TABLE $table ADD composition varchar(255) DEFAULT '' NOT NULL");
     25                $maj['create'][] = array('sql_alter',"TABLE $table ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
    7226        }
     27        $maj['create'][] = array('sql_alter',"TABLE spip_rubriques ADD composition_branche_lock tinyint(1) DEFAULT 0 NOT NULL");
     28
     29        $maj['0.5.0'] = array();
     30        foreach($tables_objets as $table){
     31                $maj['0.5.0'][] = array('sql_alter',"TABLE $table ADD composition varchar(255) DEFAULT '' NOT NULL");
     32                $maj['0.5.0'][] = array('sql_alter',"TABLE $table ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
     33        }
     34        $maj['0.5.0'][] = array('sql_alter',"TABLE spip_rubriques ADD composition_branche_lock tinyint(1) DEFAULT 0 NOT NULL");
     35
     36        include_spip('base/upgrade');
     37        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    7338}
    7439
     
    8247        include_spip('inc/meta');
    8348        include_spip('base/abstract_sql');
    84         sql_alter("TABLE spip_articles DROP composition");
    85         sql_alter("TABLE spip_rubriques DROP composition");
    86         sql_alter("TABLE spip_auteurs DROP composition");
    87         sql_alter("TABLE spip_breves DROP composition");
    88         sql_alter("TABLE spip_mots DROP composition");
    89         sql_alter("TABLE spip_syndic DROP composition");
    90         sql_alter("TABLE spip_articles DROP composition_lock");
    91         sql_alter("TABLE spip_rubriques DROP composition_lock");
     49
     50        include_spip('base/objets');
     51        $tables_objets = array_keys(lister_tables_objets_sql());
     52        foreach($tables_objets as $table){
     53                sql_alter("TABLE $table DROP composition");
     54                sql_alter("TABLE $table DROP composition_lock");
     55        }
    9256        sql_alter("TABLE spip_rubriques DROP composition_branche_lock");
    93         sql_alter("TABLE spip_auteurs DROP composition_lock");
    94         sql_alter("TABLE spip_breves DROP composition_lock");
    95         sql_alter("TABLE spip_mots DROP composition_lock");
    96         sql_alter("TABLE spip_syndic DROP composition_lock");
     57
    9758        effacer_meta('compositions');
    9859        effacer_meta($nom_meta_base_version);
  • _plugins_/compositions/trunk/compositions_pipeline.php

    r52816 r54558  
    99if (!defined("_ECRIRE_INC_VERSION")) return;
    1010
    11 // lister les exec ou apparait l'interface de composition et le type correspondant
    12 // peut etre etendu par des plugins
    13 $GLOBALS['compositions_exec']['naviguer'] = 'rubrique';
    14 $GLOBALS['compositions_exec']['articles'] = 'article';
    15 $GLOBALS['compositions_exec']['mots_edit'] = 'mot';
    16 $GLOBALS['compositions_exec']['sites'] = 'site';
    17 $GLOBALS['compositions_exec']['breves_voir'] = 'breve';
    18 $GLOBALS['compositions_exec']['auteur_infos'] = 'auteur';
     11/**
     12 * Declaration des champs sur les objets
     13 *
     14 * @param array $tables
     15 * @return array
     16 */
     17function compositions_declarer_tables_objets_sql($tables){
     18
     19        // champs composition et composition_lock sur tous les objets
     20        // c'est easy
     21        $tables[]['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
     22        $tables[]['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
     23        $tables['spip_rubriques']['field']['composition_branche_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
     24
     25        return $tables;
     26}
     27
    1928
    2029/**
     
    2635 * Autorisation de modifier la composition
    2736 *
    28  * @param <type> $faire
    29  * @param <type> $type
    30  * @param <type> $id
    31  * @param <type> $qui
    32  * @param <type> $opt
    33  * @return <type>
     37 * @param string $faire
     38 * @param string $type
     39 * @param int $id
     40 * @param array $qui
     41 * @param array $opt
     42 * @return bool
    3443 */
    3544function autoriser_styliser_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
     
    91100}
    92101
     102// lister les exec ou apparait l'interface de composition et le type correspondant
     103// peut etre etendu par des plugins
     104$GLOBALS['compositions_exec']['naviguer'] = 'rubrique';
     105$GLOBALS['compositions_exec']['articles'] = 'article';
     106$GLOBALS['compositions_exec']['mots_edit'] = 'mot';
     107$GLOBALS['compositions_exec']['sites'] = 'site';
     108$GLOBALS['compositions_exec']['breves_voir'] = 'breve';
     109$GLOBALS['compositions_exec']['auteur_infos'] = 'auteur';
     110
    93111/**
    94112 * Affichage du formulaire de selection de la composition
     
    122140}
    123141
    124 function compositions_compositions_lister_disponibles($flux){return $flux;}
    125142
    126143?>
  • _plugins_/compositions/trunk/paquet.xml

    r54556 r54558  
    66        compatibilite="[3.0.0-dev;3.0.*]"
    77        logo="images/compositions-64.png"
    8         schema="0.4.0"
     8        schema="0.5.0"
    99        documentation="http://www.spip-contrib.net/?article3777"
    1010>       
     
    1919        <licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL 3</licence>
    2020
    21         <pipeline nom="declarer_tables_principales" inclure="base/compositions.php" />
     21        <pipeline nom="declarer_tables_objets_sql" inclure="compositions_pipeline.php" />
    2222        <pipeline nom="affiche_milieu" inclure="compositions_pipeline.php" />
    2323        <pipeline nom="autoriser" inclure="compositions_pipeline.php" />
    2424        <pipeline nom="styliser" inclure="compositions_pipeline.php" />
    25         <pipeline nom="compositions_lister_disponibles" inclure="compositions_pipeline.php" />
     25        <pipeline nom="compositions_lister_disponibles" action="" />
    2626
    2727        <utilise nom="Z" compatibilite="[1.7.10;[" />
  • _plugins_/compositions/trunk/prive/squelettes/contenu/configurer_compositions.html

    r54553 r54558  
    1 <h1><:compositions:compositions:></h1>
    2 [(#AUTORISER{configurer}|oui)
     1[(#AUTORISER{configurer,composition}|sinon_interdire_acces)]
     2
     3<h1 class="grostitre"><:compositions:compositions:></h1>
    34<div class="ajax">
    45        #FORMULAIRE_CONFIGURER_COMPOSITIONS
    56</div>
    6 ]
Note: See TracChangeset for help on using the changeset viewer.