Changeset 53859 in spip-zone


Ignore:
Timestamp:
Oct 30, 2011, 4:06:48 PM (8 years ago)
Author:
zonepro@…
Message:

Et voilà la fiche auteur !

Location:
_plugins_/sel
Files:
10 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/sel/base/structure.php

    r45448 r53859  
    11<?php
     2
     3/* Déclaration des tables et jointures :
     4sel_declarer_tables_interfaces -> SPIP 2
     5sel_declarer_tables_principales -> SPIP 2
     6sel_declarer_tables_objets_sql -> SPIP 3
     7sel_declarer_tables_auxiliaires -> SPIP 2 et 3
     8*/
     9
    210function sel_declarer_tables_interfaces($interface) {
    3         $interface['table_des_tables']['auteurs_extension'] = 'auteurs_extension';
     11// DECLARATION TABLES POUR SPIP 2
     12
     13        // Déclaration de nommage des tables
     14        // ---------------------------------
     15       
     16        $interface['table_des_tables']['sels'] = 'sels';
     17        $interface['table_des_tables']['organisations'] = 'organisations';
    418        $interface['table_des_tables']['annonces'] = 'annonces';
    519        $interface['table_des_tables']['echanges'] = 'echanges';
    6         $interface['table_des_tables']['sels'] = 'sels';
    720        $interface['table_des_tables']['themes'] = 'themes';
    821        $interface['table_des_tables']['parametres'] = 'parametres';
    9        
     22
     23        // Déclaration des relations 1 - N
     24        // -------------------------------             
    1025        // syntaxe table_jointure [table source (avec sa clé primaire)][champ] = [table cible (avec clé étrangère)]
    11         $interface['tables_jointures']['spip_auteurs'][] = 'auteurs_extension';
    12         $interface['tables_jointures']['spip_sels'][] = 'auteurs_extension';
    1326        $interface['tables_jointures']['spip_auteurs'][] = 'annonces'; 
    1427        $interface['tables_jointures']['spip_offreurs'][] = 'echanges';  // vers le champ "id_offreur" d'une vue spip_offreurs  de spip_auteurs
    1528        $interface['tables_jointures']['spip_demandeurs'][] = 'echanges'; // vers le champ "id_demandeur" d'une vue spip_demandeurs  de spip_auteurs
    1629        $interface['tables_jointures']['spip_valideurs'][] = 'echanges';  // vers le champ "id_valideur" d'une vue spip_valideurs de spip_auteurs
    17         $interface['tables_jointures']['spip_annonces'][] = 'echanges';
    18         $interface['tables_jointures']['spip_themes']['id_theme'] = 'themes_annonces';
    19         $interface['tables_jointures']['spip_annonces']['id_annonce'] = 'themes_annonces';
    20         $interface['tables_jointures']['spip_themes'][] = 'echanges';   
    21         $interface['tables_jointures']['spip_annonces'][] = 'echanges'; // cette clé étrangère pourra être NULL (pas forcément d'annonce de référence à la saisie d'un échange)
    22 
     30        $interface['tables_jointures']['spip_annonces'][] = 'echanges'; // cette clé étrangère pourra être NULL (pas forcément d'annonce de référence à la saisie d'un échange)
     31
     32
     33        // Déclaration des relations N - N
     34        // -------------------------------
     35        // syntaxe : ['tables_jointures']['table principale (avec sa clé primaire)'] = 'table_auxiliaire (clé étrangère)'.
     36        $interface['tables_jointures']['spip_auteurs'][] = 'auteurs_sels';
     37        $interface['tables_jointures']['spip_sels'][] = 'auteurs_sels';
     38
     39        $interface['tables_jointures']['spip_auteurs'][] = 'auteurs_organisations';
     40        $interface['tables_jointures']['spip_sels'][] = 'auteurs_organisations';       
     41        $interface['tables_jointures']['spip_organisations'][] = 'auteurs_organisations';
     42
     43        $interface['tables_jointures']['spip_themes'][] = 'themes_annonces';
     44        $interface['tables_jointures']['spip_annonces'][] = 'themes_annonces'; 
     45       
    2346        // $interface['table_des_traitements']['NOM_DU_CHAMP']['table'] = _TRAITEMENT_TYPO;
    2447        return $interface;
     
    2851
    2952function sel_declarer_tables_principales($tables_principales) {
     53// TABLES PRINCIPALES - OBJETS POUR SPIP 2
    3054
    3155/* Cette fonction se compose de 3 parties :
     
    4367// ------------------------
    4468
    45         $spip_auteurs_extension = array(
    46                 "id_auteur_extension" => "BIGINT(21) NOT NULL",
    47                 "id_auteur" => "BIGINT(21) NOT NULL",
    48                 "id_sel"  =>  "BIGINT(21) DEFAULT NULL",
    49                 "num_adhesion_sel"   => "VARCHAR(10) DEFAULT NULL",
    50                 "cotiz_euros1_sel" => "INT(10) DEFAULT NULL",
    51                 "cotiz_euros_sel"   => "INT(10) DEFAULT NULL",
    52                 "recup_katalog_sel" => "VARCHAR(10) DEFAULT NULL", // "internet", "permanence" ou "poste"
    53                 "etat_compte" => "VARCHAR(20) DEFAULT NULL", // "actif" ou "inactif"
    54                 "etat_compte_depuis"   => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", // = format datetime 2011-03-14 22:20:33
    55                 "adresse1"  => "VARCHAR(70) NOT NULL DEFAULT ''",
    56                 "adresse2" => "VARCHAR(70) DEFAULT NULL",
    57                 "code_postal" => "VARCHAR(15) NOT NULL DEFAULT ''",
    58                 "ville" => "VARCHAR(255) NOT NULL DEFAULT ''",
    59                 "pays" => "VARCHAR(150) NOT NULL DEFAULT 'France'",
    60                 "tel1" => "VARCHAR(15) NOT NULL DEFAULT ''",
    61                 "tel2" => "VARCHAR(15) DEFAULT NULL",
    62                 "statut_katalog" => "SMALLINT(3) UNSIGNED NOT NULL DEFAULT '1'", // 1= utilisateur non certifié, 2= certifié, 3=admin local, 4=admin global
    63                 "moyen_echange" => "VARCHAR(5) NOT NULL DEFAULT '0'", // sel, jeu, les2
    64                 "si_correspondance" => "SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0'", // 0 = n'est pas correspondant local, le numéro de département sinon
    65                 "couverture_correspondance" => "TEXT DEFAULT NULL" // précision sur la couverture géographique (si plusieurs départements par exemple)
    66         );
    67 
    6869        $spip_sels = array(
    6970                "id_sel" => "BIGINT(21) NOT NULL",
    70                 "nom" => "BIGINT(21) NOT NULL",
     71                "nom" => "VARCHAR(255) NOT NULL DEFAULT ''",
    7172                "id_sel"  =>  "BIGINT(21) DEFAULT NULL",
    7273                "num_adhesion_sel"   => "VARCHAR(10) DEFAULT NULL",
    7374                "etat_compte" => "VARCHAR(20) DEFAULT NULL", // "actif" ou "inactif"
    7475                "etat_compte_depuis"   => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", //= format datetime 2011-03-14 22:20:33
    75                 "adresse1"  => "VARCHAR(70) NOT NULL DEFAULT ''",
    76                 "adresse2" => "VARCHAR(70) DEFAULT NULL",
    77                 "code_postal" => "VARCHAR(15) NOT NULL DEFAULT ''",
     76                "adresse1"  => "TINYTEXT NOT NULL",
     77                "adresse2" => "TINYTEXT DEFAULT NULL",
     78                "code_postal" => "VARCHAR(20) NOT NULL DEFAULT ''",
    7879                "ville" => "VARCHAR(255) NOT NULL DEFAULT ''",
    7980                "pays" => "VARCHAR(150) NOT NULL DEFAULT 'France'",
    80                 "tel1" => "VARCHAR(25) NOT NULL DEFAULT ''",
    81                 "tel2" => "VARCHAR(25) DEFAULT NULL",
    82                 "email" => "VARCHAR(255) DEFAULT NULL",
     81                "tel1" => "VARCHAR(50) NOT NULL DEFAULT ''",
     82                "tel2" => "VARCHAR(50) DEFAULT NULL",
     83                "email" => "TINYTEXT DEFAULT NULL",
    8384                "nom_unite" => "VARCHAR(255) DEFAULT NULL", // basilic, piaf, bouchon...
    8485                "credit_ouverture" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'", // chiffre : valeur à créditer à tout ouverture de comte. prévoir question : à prélever sur le compte d'un SEL ou corne d'abondance ?
    8586                "validation_echange" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'", // permettre la validation implicite d'un échange saisi par un membre ? si oui, nombre de jours laissé avant validation automatique, 0 sinon
    86                 "cotisation_unite" => "VARCHAR(25) NOT NULL DEFAULT ''", // combinaison de 3 chaînes :
     87                "cotisation_unite" => "VARCHAR(30) NOT NULL DEFAULT ''", // combinaison de 3 chaînes :
    8788                /*
    8889                1. existe-t-il une cotisation en unités ?
     
    106107                "id_annonce" => "BIGINT(21) NOT NULL",
    107108                "titre" => "VARCHAR(255) NOT NULL DEFAULT ''",
    108                 "statut" => "VARCHAR(30) NOT NULL DEFAULT 'offre'", // offre, demande, partage
    109                 "nature" => "VARCHAR(30) NOT NULL DEFAULT 'service'", // service, savoir (=stage), objet
     109                "direction_echange" => "VARCHAR(10) NOT NULL DEFAULT 'offre'", // offre, demande, partage
     110                "nature" => "VARCHAR(10) NOT NULL DEFAULT 'service'", // service, savoir (=stage), bien
    110111                "id_auteur" => "BIGINT(21) NOT NULL", // auteur de l'annonce
    111112                "date_saisie" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", //= format datetime 2011-03-14 22:20:33
     
    114115                "date_debut" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'",  // date de début, pour événement à date fixe ou libre = format timestamp 2011-03-14 22:20:33
    115116                "date_fin" => "DATETIME DEFAULT NULL",   // date de fin spécifiée uniquement pour les offres à dates fixes = format timestamp 2011-03-14 22:20:33
    116                 "adresse1"  => "VARCHAR(70) NOT NULL DEFAULT ''",
    117                 "adresse2" => "VARCHAR(70) DEFAULT NULL",
    118                 "code_postal" => "VARCHAR(15) NOT NULL DEFAULT ''",
     117                "adresse1"  => "TINYTEXT NOT NULL",
     118                "adresse2" => "TINYTEXT DEFAULT NULL",
     119                "code_postal" => "VARCHAR(20) NOT NULL DEFAULT ''",
    119120                "ville" => "VARCHAR(255) NOT NULL DEFAULT ''",
    120                 "pays" => "VARCHAR(150) NOT NULL DEFAULT 'France'",
    121                 "adresse2" => "VARCHAR(70) DEFAULT NULL",
     121                "pays" => "VARCHAR(150) NOT NULL DEFAULT ''",
    122122                "transport"  => "TEXT DEFAULT NULL",
    123123                "repas"  => "TEXT DEFAULT NULL",
    124124                "hebergement"  => "TEXT DEFAULT NULL",
    125                 "nom_referent" => "VARCHAR(255) NOT NULL DEFAULT ''",
    126                 "tel1_referent" => "VARCHAR(25) DEFAULT NULL",
    127                 "tel2_referent" => "VARCHAR(25) DEFAULT NULL",
    128                 "email_referent" => "VARCHAR(255) DEFAULT NULL",
    129                 "nom_autre" => "VARCHAR(255) DEFAULT NULL",
    130                 "tel1_autre" => "VARCHAR(25) DEFAULT NULL",
    131                 "tel2_autre" => "VARCHAR(25) DEFAULT NULL",
    132                 "email_autre" => "VARCHAR(255) DEFAULT NULL",
     125                "nom_referent" => "VARCHAR(255) DEFAULT NULL", // si l'auteur n'est pas le référent
     126                "tel1_referent" => "VARCHAR(50) DEFAULT NULL",
     127                "tel2_referent" => "VARCHAR(50) DEFAULT NULL",
     128                "email_referent" => "TINYTEXT DEFAULT NULL",
     129                "statut" => "VARCHAR(10) NOT NULL DEFAULT ''", // pour l'éventuelle gestion d'une modération a priori des annonces
    133130                "total_unite" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'",
    134131                "si_unite_heure" => "SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0'",
    135                 "total_euros" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'",
    136                 "justificatif_euros" => "VARCHAR(255) DEFAULT NULL" // ce champ devra être rempli si des frais en euros sont indiqués
     132                "total_fiduc" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'",
     133                "justification_fiduc" => "TINYTEXT DEFAULT NULL", // ce champ devra être rempli si des frais en euros sont indiqués
     134                "commentaires"  => "TEXT DEFAULT NULL"
    137135        );
    138136               
     
    143141                "offreur_ext"  => "VARCHAR(255) DEFAULT NULL",
    144142                "offreur_sel_ext"   => "VARCHAR(255) DEFAULT NULL",
    145                 "titre" => "VARCHAR(150) NOT NULL DEFAULT ''",
     143                "titre" => "VARCHAR(255) NOT NULL DEFAULT ''",
    146144                "date_echange"  => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // = format datetime 2011-03-14 22:20:33
    147145                "saisi_par" => "VARCHAR(150) NOT NULL DEFAULT 'offreur'", // 'offreur', 'demandeur' ou 'automatique'
     
    153151                "valeur" => "INT(10) NOT NULL DEFAULT '0'",
    154152                "date_validation"  => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP",
    155                 "valide_par" => "BIGINT(21) DEFAULT NULL", // vers id_auteur
     153                "id_valideur" => "BIGINT(21) DEFAULT NULL", // vers id_auteur
    156154                "commentaires"  => "TEXT DEFAULT NULL"
    157 
    158155        );
    159156
     
    163160                "id_secteur" => "BIGINT(21) NOT NULL",
    164161                "nom" => "VARCHAR(255) NOT NULL DEFAULT ''",
    165                 "descriptif" => "TEXT DEFAULT NULL",
    166         );
    167 
     162                "descriptif" => "TEXT DEFAULT NULL"
     163        );
     164
     165        $spip_organisations = array(
     166                "id_organisation" => "BIGINT(21) NOT NULL",
     167                "nom" => "VARCHAR(255) NOT NULL DEFAULT ''",
     168                "description" => "TEXT DEFAULT NULL"
     169        );     
     170
     171       
     172// Cette table a un statut intermédiaire entre principale et auxiliaire.
     173// Comme table auxiliaire, elle décrit :
     174// - une relation d'appartenance N/N (binaire) auteur / sel ou sel / organisation (adhésion du SEL à un intersel, participation à un atelier Selidaire, etc...)
     175// - une relation de correspondace N/N (ternaire) d'un adhérent pour son SEL vis à vis d'une organisation (RDS, etc...) : donc auteur / sel / organisation
     176// Elle sert de table principale pour toutes les informations relatives à l'adhésion individuelle à un SEL (auteur / sel) : numéro et date d'adhésion, mode de récupération de catalogue, etc...
     177
     178       
     179        $spip_correspondances = array(
     180                "id_correspondance" => "BIGINT(21) NOT NULL",
     181                "id_auteur"     => "BIGINT(21) NOT NULL DEFAULT '0'",
     182                "id_sel"        => "BIGINT(21) NOT NULL DEFAULT '0'",
     183                "num_adhesion"   => "VARCHAR(10) NOT NULL DEFAULT ''",
     184                "cotisation_fiduc1" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // date de première cotisation
     185                "cotisation_fiduc" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // date de dernière cotisation
     186                "recupere_catalogue" => "VARCHAR(10) NOT NULL DEFAULT ''", //permanence, internet, poste
     187                "etat_compte" => "VARCHAR(10) NOT NULL DEFAULT ''", //actif / inactif
     188                "etat_compte_depuis" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", //actif / inactif
     189                "id_organisation"       => "BIGINT(21) NOT NULL DEFAULT '0'"
     190        );
     191
     192       
    168193        $spip_parametres = array(
    169194                "id_parametre" => "BIGINT(21) NOT NULL",
     
    174199                "signature" => "VARCHAR(100) NOT NULL DEFAULT ''",
    175200                "acces_inscription" => "VARCHAR(100) NOT NULL DEFAULT ''",
    176                 "pagination" => "INT(3) UNSIGNED NOT NULL DEFAULT '10'",
     201                "pagination" => "INT(3) UNSIGNED NOT NULL DEFAULT '10'"
    177202        );
    178203       
     
    180205// --------
    181206
    182         $spip_auteurs_extension_key = array(
    183                 "PRIMARY KEY" => "id_auteur_extension",
    184                 "KEY" => "id_auteur",
    185                 "KEY" => "si_correspondance",
    186                 "KEY" => "num_adhesion_sel"
    187         );
    188 
    189207        $spip_sels_key = array(
    190208                "PRIMARY KEY" => "id_sel",
    191                 "KEY" => "nom, ville"
     209                "KEY" => "nom"
    192210        );
    193211
     
    210228        );
    211229
     230        $spip_organisations_key = array(
     231                "PRIMARY KEY" => "id_organisation",
     232        );
     233
     234        $spip_correspondances_key = array(
     235                "PRIMARY KEY"   => "id_correspondance"
     236        );     
     237       
    212238        $spip_parametres_key = array(
    213239                "PRIMARY KEY" => "id_parametre"
     
    217243// -------------------
    218244
    219         $tables_principales['spip_auteurs_extension'] =
    220         array('field' => &$spip_auteurs_extension, 'key' => &$spip_auteurs_extension_key);
    221 
     245        $tables_principales['spip_auteurs']['field']['adresse1'] = "TINYTEXT NOT NULL";
     246        $tables_principales['spip_auteurs']['field']['adresse2'] = "TINYTEXT DEFAULT NULL";
     247        $tables_principales['spip_auteurs']['field']['code_postal'] = "VARCHAR(20) NOT NULL DEFAULT ''";
     248        $tables_principales['spip_auteurs']['field']['ville'] = "VARCHAR(255) NOT NULL DEFAULT ''";
     249        $tables_principales['spip_auteurs']['field']['pays'] = "VARCHAR(255) NOT NULL DEFAULT ''";
     250        $tables_principales['spip_auteurs']['field']['tel1'] = "VARCHAR(50) NOT NULL DEFAULT ''";
     251        $tables_principales['spip_auteurs']['field']['tel2'] = "VARCHAR(50) DEFAULT NULL";
     252        $tables_principales['spip_auteurs']['field']['commentaires'] = "TEXT DEFAULT NULL";
     253
     254       
    222255        $tables_principales['spip_sels'] =
    223256        array('field' => &$spip_sels, 'key' => &$spip_sels_key);       
     
    232265        array('field' => &$spip_themes, 'key' => &$spip_themes_key);
    233266
     267        $tables_principales['spip_organisations'] =
     268        array('field' => &$spip_organisations, 'key' => &$spip_organisations_key);
     269
     270        $tables_principales['spip_correspondances'] =
     271        array('field' => &$spip_correspondances, 'key' => &$spip_correspondances_key); 
     272       
    234273        $tables_principales['spip_parametres'] =
    235274        array('field' => &$spip_parametres, 'key' => &$spip_parametres_key);
     
    238277}
    239278
     279
     280function sel_declarer_tables_objets_sql($tables){
     281// TABLES PRINCIPALES - OBJETS POUR SPIP 3
     282
     283        $tables['spip_auteurs']['field']['adresse1'] = "TINYTEXT NOT NULL";
     284        $tables['spip_auteurs']['field']['adresse2'] = "TINYTEXT DEFAULT NULL";
     285        $tables['spip_auteurs']['field']['code_postal'] = "VARCHAR(20) NOT NULL DEFAULT ''";
     286        $tables['spip_auteurs']['field']['ville'] = "VARCHAR(255) NOT NULL DEFAULT ''";
     287        $tables['spip_auteurs']['field']['pays'] = "VARCHAR(255) NOT NULL DEFAULT ''";
     288        $tables['spip_auteurs']['field']['tel1'] = "VARCHAR(50) NOT NULL DEFAULT ''";
     289        $tables['spip_auteurs']['field']['tel2'] = "VARCHAR(50) NOT NULL DEFAULT ''";
     290        $tables['spip_auteurs']['field']['commentaires'] = "TEXT DEFAULT NULL";
     291
     292    $tables['spip_sels'] = array(
     293
     294        'principale' => "oui",
     295        'field'=> array(
     296                        "id_sel" => "BIGINT(21) NOT NULL",
     297                        "nom" => "VARCHAR(255) NOT NULL DEFAULT ''",
     298                        "num_adhesion"   => "VARCHAR(10) DEFAULT NULL",
     299                        "etat_compte" => "VARCHAR(20) DEFAULT NULL", // "actif" ou "inactif"
     300                        "etat_compte_depuis"   => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", //= format datetime 2011-03-14 22:20:33
     301                        "adresse1"  => "TINYTEXT NOT NULL",
     302                        "adresse2" => "TINYTEXT DEFAULT NULL",
     303                        "code_postal" => "VARCHAR(20) NOT NULL DEFAULT ''",
     304                        "ville" => "VARCHAR(255) NOT NULL DEFAULT ''",
     305                        "pays" => "VARCHAR(150) NOT NULL DEFAULT 'France'",
     306                        "tel1" => "VARCHAR(50) NOT NULL DEFAULT ''",
     307                        "tel2" => "VARCHAR(50) DEFAULT NULL",
     308                        "email" => "TINYTEXT DEFAULT NULL",
     309                        "nom_unite" => "VARCHAR(255) DEFAULT NULL", // basilic, piaf, bouchon...
     310                        "credit_ouverture" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'", // chiffre : valeur à créditer à tout ouverture de comte. prévoir question : à prélever sur le compte d'un SEL ou corne d'abondance ?
     311                        "validation_echange" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'", // permettre la validation implicite d'un échange saisi par un membre ? si oui, nombre de jours laissé avant validation automatique, 0 sinon
     312                        "cotisation_unite" => "VARCHAR(30) NOT NULL DEFAULT ''", // combinaison de 3 chaînes
     313                        "cotisation_montant_taux" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'" // un chiffre à prélever, à prendre en valeur ou en pourcentage
     314                        /*
     315                        cotisation_unite : combinaison de 3 chaînes :
     316                        1. existe-t-il une cotisation en unités ?
     317                        - sans, forfait, pourcnt
     318                        2. sur les comptes actifs ou tous les comptes ?
     319                        - tous, actf (tous les comptes, les comptes actifs uniquement)
     320                        3. A quelle fréquence ?
     321                        - 12 (tous les mois), 4 (une fois par trimestre), 2 (toues les 6 mois, 2 fois / an), 1 (une foisl'année)
     322                        Exemple de chaîne générée : pourcntactf01, ou forfaittous01
     323                        4. A prévoir en plus : sur les comptes positifs uniquement
     324                        */     
     325                       
     326        ),
     327        'key' => array(
     328                        "PRIMARY KEY" => "id_sel",
     329                        "KEY" => "nom"
     330        ),
     331    );
     332       
     333       
     334    $tables['spip_annonces'] = array(
     335        'principale' => "oui",
     336        'field'=> array(
     337                        "id_annonce" => "BIGINT(21) NOT NULL",
     338                        "titre" => "VARCHAR(255) NOT NULL DEFAULT ''",
     339                        "direction_echange" => "VARCHAR(10) NOT NULL DEFAULT 'offre'", // offre, demande, partage
     340                        "nature" => "VARCHAR(10) NOT NULL DEFAULT 'service'", // service, savoir (=stage), bien
     341                        "id_auteur" => "BIGINT(21) NOT NULL", // auteur de l'annonce
     342                        "date_saisie" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", //= format datetime 2011-03-14 22:20:33
     343                        "description" => "TEXT NOT NULL",
     344                        "nombre_personnes" => "SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'",     
     345                        "date_debut" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'",  // date de début, pour événement à date fixe ou libre = format timestamp 2011-03-14 22:20:33
     346                        "date_fin" => "DATETIME DEFAULT NULL",   // date de fin spécifiée uniquement pour les offres à dates fixes = format timestamp 2011-03-14 22:20:33
     347                        "adresse1"  => "TINYTEXT NOT NULL",
     348                        "adresse2" => "TINYTEXT DEFAULT NULL",
     349                        "code_postal" => "VARCHAR(20) NOT NULL DEFAULT ''",
     350                        "ville" => "VARCHAR(255) NOT NULL DEFAULT ''",
     351                        "pays" => "VARCHAR(150) NOT NULL DEFAULT ''",
     352                        "transport"  => "TEXT DEFAULT NULL",
     353                        "repas"  => "TEXT DEFAULT NULL",
     354                        "hebergement"  => "TEXT DEFAULT NULL",
     355                        "nom_referent" => "VARCHAR(255) DEFAULT NULL", // si l'auteur n'est pas le référent
     356                        "tel1_referent" => "VARCHAR(50) DEFAULT NULL",
     357                        "tel2_referent" => "VARCHAR(50) DEFAULT NULL",
     358                        "email_referent" => "TINYTEXT DEFAULT NULL",
     359                        "statut" => "VARCHAR(10) NOT NULL DEFAULT ''", // pour l'éventuelle gestion d'une modération a priori des annonces
     360                        "total_unite" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'",
     361                        "si_unite_heure" => "SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0'",
     362                        "total_fiduc" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'",
     363                        "justification_fiduc" => "TINYTEXT DEFAULT NULL", // ce champ devra être rempli si des frais en euros sont indiqués
     364                        "commentaires"  => "TEXT DEFAULT NULL"
     365        ),
     366        'key' => array(
     367                        "PRIMARY KEY" => "id_annonce",
     368                        "KEY" => "titre",
     369                        "KEY" => "id_auteur",
     370                        "KEY" => "date_debut"
     371        ),
     372    );
     373       
     374
     375    $tables['spip_echanges'] = array(
     376        'principale' => "oui",
     377        'field'=> array(
     378                        "id_echange" => "BIGINT(21) NOT NULL",
     379                        "id_offreur" => "BIGINT(21) DEFAULT NULL", // vers id_offreur (= id_auteur) de la vue sur spip_auteurs
     380                        "offreur_ext"  => "VARCHAR(255) DEFAULT NULL",
     381                        "offreur_sel_ext"   => "VARCHAR(255) DEFAULT NULL",
     382                        "titre" => "VARCHAR(255) NOT NULL DEFAULT ''",
     383                        "date_echange"  => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // = format datetime 2011-03-14 22:20:33
     384                        "saisi_par" => "VARCHAR(150) NOT NULL DEFAULT 'offreur'", // 'offreur', 'demandeur' ou 'automatique'
     385                        "date_saisie" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", //  = format timestamp 2011-03-14 22:20:33
     386                        "nature"   => "VARCHAR(20) NOT NULL DEFAULT 'echange'",  // 'echange', 'cotizunite', 'cloturecompte'
     387                        "id_demandeur"  =>  "BIGINT(21) DEFAULT NULL", // vers id_demandeur (= id_auteur) de la vue sur spip_auteurs
     388                        "demandeur_ext"  =>  "VARCHAR(255) DEFAULT NULL",
     389                        "demandeur_sel_ext" => "VARCHAR(255) DEFAULT NULL",
     390                        "valeur" => "INT(10) NOT NULL DEFAULT '0'",
     391                        "date_validation"  => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP",
     392                        "id_valideur" => "BIGINT(21) DEFAULT NULL", // vers id_auteur
     393                        "commentaires"  => "TEXT DEFAULT NULL"
     394        ),
     395        'key' => array(
     396                        "PRIMARY KEY" => "id_echange",
     397                        "KEY" => "id_offreur",
     398                        "KEY" => "id_demandeur"
     399        ),
     400    );
     401       
     402    $tables['spip_themes'] = array(
     403        'principale' => "oui",
     404        'field'=> array(
     405                        "id_theme" => "BIGINT(21) NOT NULL",
     406                        "id_parent" => "BIGINT(21) NOT NULL DEFAULT '0'", // 0 si theme racine
     407                        "id_secteur" => "BIGINT(21) NOT NULL",
     408                        "nom" => "VARCHAR(255) NOT NULL DEFAULT ''",
     409                        "descriptif" => "TEXT DEFAULT NULL"
     410        ),
     411        'key' => array(
     412                        "PRIMARY KEY" => "id_theme",
     413                        "KEY" => "id_parent"
     414        ),
     415    ); 
     416 
     417// Une organisation est un groupe exterieur avec lequel les sélistes et les sels locaux sont en relation (adhésion ou correspondance).
     418// Ce peut être : un intersel régional, un atelier selidaire, RdS, etc...
     419
     420    $tables['spip_organisations'] = array(
     421        'principale' => "oui",
     422        'field'=> array(
     423                        "id_organisation" => "BIGINT(21) NOT NULL",
     424                        "nom" => "VARCHAR(255) NOT NULL DEFAULT ''",
     425                        "description" => "TEXT DEFAULT NULL"
     426        ),
     427        'key' => array(
     428                        "PRIMARY KEY" => "id_organisation"
     429        ),
     430    );
     431
     432// Cette table a un statut intermédiaire entre principale et auxiliaire.
     433// Comme table auxiliaire, elle décrit :
     434// - une relation d'appartenance N/N (binaire) auteur / sel ou sel / organisation (adhésion du SEL à un intersel, participation à un atelier Selidaire, etc...)
     435// - une relation de correspondace N/N (ternaire) d'un adhérent pour son SEL vis à vis d'une organisation (RDS, etc...) : donc auteur / sel / organisation
     436// Elle sert de table principale pour toutes les informations relatives à l'adhésion individuelle à un SEL (auteur / sel) : numéro et date d'adhésion, mode de récupération de catalogue, etc...
     437
     438       
     439        $tables['spip_correspondances'] = array(
     440        'principale' => "oui",
     441        'field'=> array(
     442                        "id_correspondance" => "BIGINT(21) NOT NULL",
     443                        "id_auteur"     => "BIGINT(21) NOT NULL DEFAULT '0'",
     444                        "id_sel"        => "BIGINT(21) NOT NULL DEFAULT '0'",
     445                        "num_adhesion"   => "VARCHAR(10) NOT NULL DEFAULT ''",
     446                        "cotisation_fiduc1" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // date de première cotisation
     447                        "cotisation_fiduc" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // date de dernière cotisation
     448                        "recupere_catalogue" => "VARCHAR(10) NOT NULL DEFAULT ''", //permanence, internet, poste
     449                        "etat_compte" => "VARCHAR(10) NOT NULL DEFAULT ''", //actif / inactif
     450                        "etat_compte_depuis" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", //actif / inactif
     451                        "id_organisation"       => "BIGINT(21) NOT NULL DEFAULT '0'"
     452                ),
     453        'key' => array(
     454                        "PRIMARY KEY"   => "id_correspondance"
     455        ),
     456        );
     457
     458       
     459        $tables['spip_parametres'] = array(
     460            'principale' => "oui",
     461        'field'=> array(
     462                        "id_parametre" => "BIGINT(21) NOT NULL",
     463                        "cible" => "VARCHAR(100) NOT NULL DEFAULT ''",
     464                        "liste_diffusion" => "VARCHAR(100) NOT NULL DEFAULT ''",
     465                        "expediteur" => "VARCHAR(100) NOT NULL DEFAULT ''",
     466                        "www" => "VARCHAR(100) NOT NULL DEFAULT ''",
     467                        "signature" => "VARCHAR(100) NOT NULL DEFAULT ''",
     468                        "acces_inscription" => "VARCHAR(100) NOT NULL DEFAULT ''",
     469                        "pagination" => "INT(3) UNSIGNED NOT NULL DEFAULT '10'"
     470                ),
     471        'key' => array(
     472                        "PRIMARY KEY" => "id_parametre"
     473        ),             
     474        );     
     475       
     476        return $tables;
     477
     478}
     479
     480
     481
    240482function sel_declarer_tables_auxiliaires($tables_auxiliaires){
     483// TABLES AUXILIAIRES POUR SPIP 2 ET 3
     484
    241485        $spip_themes_annonces = array(
    242486                "id_theme"      => "BIGINT(21) NOT NULL",
    243487                "id_annonce"    => "BIGINT(21) NOT NULL"
    244488        );
    245        
     489
    246490        $spip_themes_annonces_key = array(
    247491                "PRIMARY KEY"   => "id_theme, id_annonce",
    248492                "KEY id_annonce" => "id_annonce"
    249         );
     493        );     
    250494       
    251495        $tables_auxiliaires['spip_themes_annonces'] = array(
  • _plugins_/sel/plugin.xml

    r45413 r53859  
    1919        </multi>
    2020        </nom>
     21        <categorie>edition</categorie>
    2122    <!-- Auteur du plugin -->
    2223    <auteur> [Val&eacute;rie Journet-Texier->http://valerie.journet.free.fr], [Perline->http://perline.org/] </auteur>
    2324    <version>0.1</version>
    24     <version_base>0.1</version_base>
     25    <version_base>0.1</version_base>
     26        <licence>GNU/GPL</licence> <!-- dans paquet.xml, reporté ici par cohérence, mais pas forcément lu -->
    2527    <etat>test</etat>
    26     <icon>img_pack/sel-vignette.png</icon>
     28    <icon>prive/themes/spip/images/sel-128.png</icon>
    2729    <description>
    2830        <multi>
    2931        [fr]
    30         Ce plugin est destin&eacute; &agrave; la gestion int&eacute;grale d'un syst&egrave;me d'&eacute;change local (SEL).
     32        Ce plugin est destin&eacute; &agrave; la gestion int&eacute;grale d'un ou plusieurs syst&egrave;me d'&eacute;change local (SEL).
    3133        Que ce soit un SEl qui travaille sur des &eacute;changes simples, des &eacute;changes d'objets, des &eacute;changes de savoir, un SEL de stages, un SEL d 'h&eacute;bergement ou tout autre syst&egrave;.
    3234        Que ce soit un SEL qui fonctionne avec un carnet d'&eacute;change, un syst&egrave;me de JEU.
    33         Il est destin&eacute; &agrave; tout type de SEL.
     35        Il est destin&eacute; &agrave; tout type de SEL, de séliste et de joueur.
    3436        La publication en ligne des annonces, avec cr&eacute;ation, changement ou suppression est pr&eacute;vue.
    3537        La publication autonome du catalogue, &agrave; partir des annonces en ligne, est pr&eacute;vue.
     
    4446    <prefix>sel</prefix>
    4547
    46     <!-- precise le fichier a charger ?haque recalcul, partie publique-->
    4748    <fonctions>sel_fonctions.php</fonctions>
    48     <!-- precise le fichier a charger ?haque appel de la page, partie publique -->
    4949    <options>sel_options.php</options>
    5050
    5151    <!-- Chemin du fichier d'installation et de mise ?our -->
    52     <install>base/sel_install.php</install>
     52    <install>sel_administrations.php</install>
    5353
    5454    <!-- ensemble des pipelines :
     
    6969
    7070        <pipeline>
    71                 <nom>declarer_tables_auxiliaires</nom>
     71                <nom>declarer_tables_auxiliaires</nom> 
    7272                <inclure>base/structure.php</inclure>
    7373        </pipeline>
     74
     75        <pipeline>
     76                <nom>autoriser</nom>
     77                <inclure>pipelines/sel_autorisations.php</inclure>
     78        </pipeline>
     79
     80        <pipeline>
     81                <nom>editer_contenu_objet</nom>
     82                <inclure>pipelines/complement_editer_auteur.php"</inclure>
     83        </pipeline>
     84
    7485       
    7586   <!-- precise les dependances vis-vis de d'autres plugins (ou de spip), voir plus bas <necessite id="nomplugin" version="[versionminimale;versionmax]" />--> 
    7687        <necessite id="SPIP" version='[2.0.0;]' />
    77         <utilise id="cfg" version='[1.15.2;]' />
     88        <!--utilise id="cfg" version='[1.15.2;]' /-->
    7889
    79 
    80    <!-- indique un zip externe necessaire
    81       branche 1.9.3 ?artir de spip svn 98xx
    82       id indique le r?rtoire o?st charg?e zip,  /lib/nom
    83    <necessite id="lib:nom" src="http://url-complete-du/fichier.zip" /> -->
    84 
    85    <!-- Indique si le plugin concerne tout le site ou seulement l'espace priv?
    86        <chemin dir="./repertoire_public" type="public">
    87        <chemin dir="./repertoire_prive" type="prive">
    88        <chemin dir="./repertoire_ouvert" >
    89         -->
    90    <bouton id='mon_bouton_1' parent=''>
    91        <icone>images/xml-valid-24.png</icone>
    92        <titre>Valider le site</titre>
    93        <url>w3c_go_home</url> <!-- nom de l'exec, facultatif, par defaut prend l'id -->
     90       
     91        <!-- ERGONOMIE DANS ESPACE PRIVE A REVOIR ET UNIFORMISER AVEC PAQUET.XML -->
     92   <bouton id='xxxxx' parent=''>
     93       <icone>images/xxxxx-24.png</icone>
     94       <titre>xxxxx</titre>
     95       <url>xxxxx</url> <!-- nom de l'exec, facultatif, par defaut prend l'id -->
    9496       <args>type=resume&id=1</args>
    9597   </bouton>
    9698
    9799   <onglet id='mon_onglet_1' parent='configuration'>
    98        <icone>images/img-24.png</icone>
     100       <icone>images/xxxxx-24.png</icone>
    99101       <titre>Onglet dans configuration</titre>
    100102       <url>mon_onglet</url> <!-- nom de l'exec, facultatif, par defaut prend l'id -->
  • _plugins_/sel/sel_options.php

    r44868 r53859  
     1<?php
     2
     3
     4// spip 2 $GLOBALS['meta'][version_installee] = 15828
     5// spip 3 $GLOBALS['meta'][version_installee] >= 18407
     6
     7// include_spip('inc_version');
     8$spip_branche_principale = substr($GLOBALS[spip_version_branche], 0, 1);
     9
     10// NOTE : spip_version_branche n'est pas trouvé depuis ce fichier
     11// défini dans /spip/ecrire/inc_version.php (ligne 412)
     12?>
Note: See TracChangeset for help on using the changeset viewer.