Changeset 43418 in spip-zone


Ignore:
Timestamp:
Jan 8, 2011, 5:57:31 PM (10 years ago)
Author:
cedric@…
Message:

Extension organiseur qui regroupe agenda et messagerie du core, a completer

Location:
_core_/plugins/organiseur
Files:
64 added
3 copied

Legend:

Unmodified
Added
Removed
  • _core_/plugins/organiseur/base/organiseur.php

    r43402 r43418  
    44 *  SPIP, Systeme de publication pour l'internet                           *
    55 *                                                                         *
    6  *  Copyright (c) 2001-2009                                                *
     6 *  Copyright (c) 2001-2011                                                *
    77 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    88 *                                                                         *
     
    1111\***************************************************************************/
    1212
     13if (!defined('_ECRIRE_INC_VERSION')) return;
     14
    1315/**
    14  * Interfaces des tables mots et groupes de mots pour le compilateur
     16 * Interfaces des tables agenda et messagerie
    1517 *
    1618 * @param array $interfaces
    1719 * @return array
    1820 */
    19 function mots_declarer_tables_interfaces($interfaces){
    20 
    21         $interfaces['table_des_tables']['mots']='mots';
    22         $interfaces['table_des_tables']['groupes_mots']='groupes_mots';
    23 
    24 
    25         $interfaces['table_date']['groupes_mots'] = 'date';
    26         $interfaces['table_date']['mots'] = 'date';
    27 
    28         $interfaces['table_titre']['mots'] = "titre, '' AS lang";
    29 
    30         $interfaces['tables_jointures']['spip_articles'][]= 'mots_liens';
    31         $interfaces['tables_jointures']['spip_articles'][]= 'mots';
    32        
    33         $interfaces['tables_jointures']['spip_breves'][]= 'mots_liens';
    34         $interfaces['tables_jointures']['spip_breves'][]= 'mots';
    35        
    36         $interfaces['tables_jointures']['spip_documents'][]= 'mots_liens';
    37         $interfaces['tables_jointures']['spip_documents'][]= 'mots';
    38        
    39         $interfaces['tables_jointures']['spip_rubriques'][]= 'mots_liens';
    40         $interfaces['tables_jointures']['spip_rubriques'][]= 'mots';
    41        
    42         $interfaces['tables_jointures']['spip_syndic'][]= 'mots_liens';
    43         $interfaces['tables_jointures']['spip_syndic'][]= 'mots';
    44        
    45         $interfaces['tables_jointures']['spip_syndic_articles'][]= 'mots_liens';
    46         $interfaces['tables_jointures']['spip_syndic_articles'][]= 'mots';
    47        
    48         $interfaces['tables_jointures']['spip_mots'][]= 'mots_liens';
    49        
    50         $interfaces['tables_jointures']['spip_groupes_mots'][]= 'mots';
    51 
    52         $interfaces['exceptions_des_jointures']['type_mot'] = array('spip_mots', 'type');
    53         $interfaces['exceptions_des_jointures']['id_mot_syndic'] = array('spip_mots_liens', 'id_mot');
    54         $interfaces['exceptions_des_jointures']['titre_mot_syndic'] = array('spip_mots', 'titre');
    55         $interfaces['exceptions_des_jointures']['type_mot_syndic'] = array('spip_mots', 'type');
     21function organiseur_declarer_tables_interfaces($interfaces){
     22        $interfaces['table_des_tables']['messages']='messages';
     23        $interfaces['table_titre']['messages']= "titre, '' AS lang";
     24        $interfaces['table_date']['messages'] = 'date_heure';
    5625
    5726        return $interfaces;
     
    5928
    6029/**
    61  * Table principale spip_mots
     30 * Table principale messagerie
    6231 *
    6332 * @param array $tables_principales
    6433 * @return array
    6534 */
    66 function mots_declarer_tables_principales($tables_principales){
     35function organiseur_declarer_tables_principales($tables_principales){
    6736
    68 
    69         $spip_mots = array(
    70                         "id_mot"        => "bigint(21) NOT NULL",
     37        $spip_messages = array(
     38                        "id_message"    => "bigint(21) NOT NULL",
    7139                        "titre" => "text DEFAULT '' NOT NULL",
    72                         "descriptif"    => "text DEFAULT '' NOT NULL",
    7340                        "texte" => "longtext DEFAULT '' NOT NULL",
    74                         "id_groupe"     => "bigint(21) DEFAULT 0 NOT NULL",
    75                         "type"  => "text DEFAULT '' NOT NULL",
     41                        "type"  => "varchar(6) DEFAULT '' NOT NULL",
     42                        "date_heure"    => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     43                        "date_fin"      => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     44                        "rv"    => "varchar(3) DEFAULT '' NOT NULL",
     45                        "statut"        => "varchar(6)  DEFAULT '0' NOT NULL",
     46                        "id_auteur"     => "bigint(21) NOT NULL",
    7647                        "maj"   => "TIMESTAMP");
    7748
    78         $spip_mots_key = array(
    79                         "PRIMARY KEY"   => "id_mot",
    80         );
     49        $spip_messages_key = array(
     50                        "PRIMARY KEY"   => "id_message",
     51                        "KEY id_auteur" => "id_auteur");
    8152
    82         $tables_principales['spip_mots']    =
    83                 array('field' => &$spip_mots, 'key' => &$spip_mots_key);
     53        $tables_principales['spip_messages'] =
     54                array('field' => &$spip_messages, 'key' => &$spip_messages_key);
    8455
    85                
    86         $spip_groupes_mots = array(
    87                         "id_groupe"     => "bigint(21) NOT NULL",
    88                         "titre" => "text DEFAULT '' NOT NULL",
    89                         "descriptif"    => "text DEFAULT '' NOT NULL",
    90                         "texte" => "longtext DEFAULT '' NOT NULL",
    91                         "unseul"        => "varchar(3) DEFAULT '' NOT NULL",
    92                         "obligatoire"   => "varchar(3) DEFAULT '' NOT NULL",
    93                         "tables_liees" => "text DEFAULT '' NOT NULL",
    94                         "minirezo"      => "varchar(3) DEFAULT '' NOT NULL",
    95                         "comite"        => "varchar(3) DEFAULT '' NOT NULL",
    96                         "forum" => "varchar(3) DEFAULT '' NOT NULL",
    97                         "maj"   => "TIMESTAMP");
    98 
    99         $spip_groupes_mots_key = array(
    100                         "PRIMARY KEY"   => "id_groupe");
    101                        
    102         $tables_principales['spip_groupes_mots'] =
    103                 array('field' => &$spip_groupes_mots, 'key' => &$spip_groupes_mots_key);
    104 
     56        $tables_principales['spip_auteurs']["field"]["imessage"] = "VARCHAR(3)";
     57        $tables_principales['spip_auteurs']["field"]["messagerie"] = "VARCHAR(3)";     
    10558
    10659        return $tables_principales;
    10760}
    10861
    109 /**
    110  * Table auxilaire spip_mots_xx
    111  *
    112  * @param array $tables_principales
    113  * @return array
    114  */
    115 function mots_declarer_tables_auxiliaires($tables_auxiliaires){
    116 
    117         $spip_mots_liens = array(
    118                         "id_mot"        => "bigint(21) DEFAULT '0' NOT NULL",
    119                         "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
    120                         "objet" => "VARCHAR (25) DEFAULT '' NOT NULL");
    121 
    122         $spip_mots_liens_key = array(
    123                         "PRIMARY KEY"           => "id_mot,id_objet,objet",
    124                         "KEY id_mot"    => "id_mot");
    125 
    126         $tables_auxiliaires['spip_mots_liens'] =
    127                 array('field' => &$spip_mots_liens, 'key' => &$spip_mots_liens_key);
    128                
    129         return $tables_auxiliaires;
    130 }
    131 
    132 
    133 
    134 
    135 /**
    136  * Declarer le surnom des groupes de mots
    137  *
    138  * @param array $table
    139  * @return array
    140  */
    141 function mots_declarer_tables_objets_surnoms($table){
    142         $table['groupe_mots'] = 'groupes_mots'; # hum
    143         $table['groupe_mot'] = 'groupes_mots'; # hum
    144         $table['groupe'] = 'groupes_mots'; # hum (EXPOSE)
    145         $table['mot'] = 'mots';
    146         return $table;
    147 }
    148 
    149 /**
    150  * Alias de type pour les groupes de mot
    151  * @param array $table
    152  * @return string
    153  */
    154 function mots_declarer_type_surnoms($table) {
    155         $table['groupes_mot'] = 'groupe_mots';
    156         $table['mot-cle'] = 'mot'; // pour les icones...
    157         return $table;
    158 }
    159 
    16062?>
  • _core_/plugins/organiseur/base/organiseur_upgrade.php

    r43406 r43418  
    1111\***************************************************************************/
    1212
     13if (!defined('_ECRIRE_INC_VERSION')) return;
     14
    1315/**
    14  * Installation/maj des tables mots et groupes de mots...
     16 * Installation/maj des tables messagerie
    1517 *
    1618 * @param string $nom_meta_base_version
    1719 * @param string $version_cible
    1820 */
    19 function mots_upgrade($nom_meta_base_version,$version_cible){
     21function organiseur_upgrade($nom_meta_base_version,$version_cible){
    2022        $current_version = 0.0;
    2123        if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
     
    2628                        // creer les tables
    2729                        creer_base();
     30
     31                  sql_alter('TABLE spip_auteurs ADD imessage VARCHAR(3)');
     32                  sql_alter('TABLE spip_auteurs ADD messagerie VARCHAR(3)');
     33
    2834                        // mettre les metas par defaut
    2935                        $config = charger_fonction('config','inc');
    3036                        $config();
    3137                        ecrire_meta($nom_meta_base_version,$current_version=$version_cible);
    32                 }
    33                 // passer a spip_mots_liens
    34                 if (version_compare($current_version, '2.0', '<')) {
    35                         // supprime par defaut les anciennes tables une fois le travail effectue
    36                         mots_maj_tables_liaisons(array(
    37                                 'article', 'breve', 'rubrique', 'syndic', 'forum', // core
    38                                 'auteur', 'document' // autres plugins ?
    39                         ));
    40                         ecrire_meta($nom_meta_base_version,$current_version = '2.0');
    4138                }
    4239
     
    5047 * @param string $nom_meta_base_version
    5148 */
    52 function mots_vider_tables($nom_meta_base_version) {
    53         sql_drop_table("spip_mots");
    54         sql_drop_table("spip_groupes_mots");
    55         sql_drop_table("spip_mots_liens");
    56        
    57         effacer_meta('articles_mots');
    58         effacer_meta('config_precise_groupes');
    59        
     49function organiseur_vider_tables($nom_meta_base_version) {
     50        sql_drop_table("spip_messages");
     51        sql_alter("TABLE spip_auteurs DROP imessage");
     52        sql_alter("TABLE spip_auteurs DROP messagerie");
     53
     54        effacer_meta('messagerie_agenda');
     55
    6056        effacer_meta($nom_meta_base_version);
    6157}
     
    7369  * @return
    7470 **/
    75 function mots_maj_tables_liaisons ($objets, $destination='spip_mots_liens', $supprimer_ancienne_table = true) {
     71function organiseur_maj_tables_liaisons ($objets, $destination='spip_mots_liens', $supprimer_ancienne_table = true) {
    7672        // creer la table spip_mots_liens manquante
    7773        include_spip('base/create');
  • _core_/plugins/organiseur/plugin.xml

    r43402 r43418  
    11<plugin>
    2         <nom>Mots</nom>
     2        <nom>Organiseur</nom>
     3        <icon>prive/themes/spip/images/annonce-24.png</icon>
    34        <auteur>Collectif SPIP</auteur>
    4         <version>2.0</version>
    5         <version_base>2.0</version_base>
     5        <version>0.1.0</version>
     6        <version_base>0.1.0</version_base>
    67        <etat>test</etat>
    7         <description>Mots et Groupes de mots</description>
    8         <prefix>mots</prefix>
    9         <install>base/mots_upgrade.php</install>
     8        <description>Outils de travail &eacute;ditorial en groupe</description>
     9        <prefix>organiseur</prefix>
     10        <install>base/organiseur_upgrade.php</install>
    1011
    11         <bouton id='mots' parent="bando_edition">
    12                 <icone>images/mot-16.png</icone>
    13                 <titre>icone_mots_cles</titre>
    14                 <url>mots_tous</url>
     12        <fonctions>filtres/agenda.php</fonctions>
     13
     14        <bouton id='calendrier' parent="outils_collaboratifs">
     15                <icone>images/calendrier-16.png</icone>
     16                <titre>Agenda interne</titre>
    1517        </bouton>
    16         <bouton id='mot_creer' parent="outils_rapides">
    17                 <icone>images/mot-new-16.png</icone>
    18                 <titre>icone_creation_mots_cles</titre>
    19                 <url>mots_edit</url>
    20                 <args>new=oui</args>
     18        <bouton id='messagerie' parent="outils_collaboratifs">
     19                <icone>images/message-16.png</icone>
     20                <titre>info_messagerie_interne</titre>
    2121        </bouton>
    2222
    23         <pipeline><nom>mots_indexation</nom><action></action></pipeline>
    24         <pipeline><nom>libelle_association_mots</nom><action></action></pipeline>
    25 
    26        
    2723        <pipeline>
    2824                <nom>autoriser</nom>
    29                 <inclure>mots_autoriser.php</inclure>
     25                <inclure>organiseur_autoriser.php</inclure>
    3026        </pipeline>
    3127
    3228        <pipeline>
    33                 <nom>declarer_tables_auxiliaires</nom>
    34                 <inclure>base/mots.php</inclure>
    35         </pipeline>
    36         <pipeline>
    3729                <nom>declarer_tables_principales</nom>
    38                 <inclure>base/mots.php</inclure>
     30                <inclure>base/organiseur.php</inclure>
    3931        </pipeline>
    4032        <pipeline>
    4133                <nom>declarer_tables_interfaces</nom>
    42                 <inclure>base/mots.php</inclure>
    43         </pipeline>
    44         <pipeline>
    45                 <nom>declarer_tables_objets_surnoms</nom>
    46                 <inclure>base/mots.php</inclure>
    47         </pipeline>
    48         <pipeline>
    49                 <nom>declarer_type_surnoms</nom>
    50                 <inclure>base/mots.php</inclure>
     34                <inclure>base/organiseur.php</inclure>
    5135        </pipeline>
    5236
    5337        <pipeline>
    5438                <nom>optimiser_base_disparus</nom>
    55                 <inclure>mots_pipelines.php</inclure>
     39                <inclure>organiseur_pipelines.php</inclure>
     40        </pipeline>
     41        <pipeline>
     42                <nom>lister_tables_noexport</nom>
     43                <inclure>organiseur_pipelines.php</inclure>
    5644        </pipeline>
    5745
    5846        <pipeline>
    5947                <nom>configurer_liste_metas</nom>
    60                 <inclure>mots_pipelines.php</inclure>
     48                <inclure>organiseur_pipelines.php</inclure>
    6149        </pipeline>
    6250        <pipeline>
    6351                <nom>affiche_milieu</nom>
    64                 <inclure>mots_pipelines.php</inclure>
     52                <inclure>organiseur_pipelines.php</inclure>
     53        </pipeline>
     54        <pipeline>
     55                <nom>affiche_droite</nom>
     56                <inclure>organiseur_pipelines.php</inclure>
     57        </pipeline>
     58        <pipeline>
     59                <nom>affiche_auteurs_interventions</nom>
     60                <inclure>organiseur_pipelines.php</inclure>
    6561        </pipeline>
    6662
    67         <pipeline>
    68                 <nom>rechercher_liste_des_champs</nom>
    69                 <inclure>mots_pipelines.php</inclure>
    70         </pipeline>
    71        
    72         <pipeline>
    73                 <nom>rechercher_liste_des_jointures</nom>
    74                 <inclure>mots_pipelines.php</inclure>
    75         </pipeline>
    76        
    77         <pipeline>
    78                 <nom>declarer_url_objets</nom>
    79                 <inclure>mots_pipelines.php</inclure>
    80         </pipeline>
    81        
    82         <pipeline>
    83                 <nom>post_edition</nom>
    84                 <inclure>mots_pipelines.php</inclure>
    85         </pipeline>
    86        
    87         <pipeline>
    88                 <nom>libeller_logo</nom>
    89                 <inclure>mots_pipelines.php</inclure>
    90         </pipeline>
    91 
     63        <pipeline><nom>agenda_rendu_evenement</nom><action></action></pipeline>
    9264</plugin>
Note: See TracChangeset for help on using the changeset viewer.