Changeset 53859 in spip-zone
- Timestamp:
- Oct 30, 2011, 4:06:48 PM (9 years ago)
- Location:
- _plugins_/sel
- Files:
-
- 10 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/sel/base/structure.php
r45448 r53859 1 1 <?php 2 3 /* Déclaration des tables et jointures : 4 sel_declarer_tables_interfaces -> SPIP 2 5 sel_declarer_tables_principales -> SPIP 2 6 sel_declarer_tables_objets_sql -> SPIP 3 7 sel_declarer_tables_auxiliaires -> SPIP 2 et 3 8 */ 9 2 10 function 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'; 4 18 $interface['table_des_tables']['annonces'] = 'annonces'; 5 19 $interface['table_des_tables']['echanges'] = 'echanges'; 6 $interface['table_des_tables']['sels'] = 'sels';7 20 $interface['table_des_tables']['themes'] = 'themes'; 8 21 $interface['table_des_tables']['parametres'] = 'parametres'; 9 22 23 // Déclaration des relations 1 - N 24 // ------------------------------- 10 25 // 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';13 26 $interface['tables_jointures']['spip_auteurs'][] = 'annonces'; 14 27 $interface['tables_jointures']['spip_offreurs'][] = 'echanges'; // vers le champ "id_offreur" d'une vue spip_offreurs de spip_auteurs 15 28 $interface['tables_jointures']['spip_demandeurs'][] = 'echanges'; // vers le champ "id_demandeur" d'une vue spip_demandeurs de spip_auteurs 16 29 $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 23 46 // $interface['table_des_traitements']['NOM_DU_CHAMP']['table'] = _TRAITEMENT_TYPO; 24 47 return $interface; … … 28 51 29 52 function sel_declarer_tables_principales($tables_principales) { 53 // TABLES PRINCIPALES - OBJETS POUR SPIP 2 30 54 31 55 /* Cette fonction se compose de 3 parties : … … 43 67 // ------------------------ 44 68 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:3355 "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 global63 "moyen_echange" => "VARCHAR(5) NOT NULL DEFAULT '0'", // sel, jeu, les264 "si_correspondance" => "SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0'", // 0 = n'est pas correspondant local, le numéro de département sinon65 "couverture_correspondance" => "TEXT DEFAULT NULL" // précision sur la couverture géographique (si plusieurs départements par exemple)66 );67 68 69 $spip_sels = array( 69 70 "id_sel" => "BIGINT(21) NOT NULL", 70 "nom" => " BIGINT(21) NOT NULL",71 "nom" => "VARCHAR(255) NOT NULL DEFAULT ''", 71 72 "id_sel" => "BIGINT(21) DEFAULT NULL", 72 73 "num_adhesion_sel" => "VARCHAR(10) DEFAULT NULL", 73 74 "etat_compte" => "VARCHAR(20) DEFAULT NULL", // "actif" ou "inactif" 74 75 "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 ''", 78 79 "ville" => "VARCHAR(255) NOT NULL DEFAULT ''", 79 80 "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", 83 84 "nom_unite" => "VARCHAR(255) DEFAULT NULL", // basilic, piaf, bouchon... 84 85 "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 ? 85 86 "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 : 87 88 /* 88 89 1. existe-t-il une cotisation en unités ? … … 106 107 "id_annonce" => "BIGINT(21) NOT NULL", 107 108 "titre" => "VARCHAR(255) NOT NULL DEFAULT ''", 108 " statut" => "VARCHAR(30) NOT NULL DEFAULT 'offre'", // offre, demande, partage109 "nature" => "VARCHAR( 30) NOT NULL DEFAULT 'service'", // service, savoir (=stage), objet109 "direction_echange" => "VARCHAR(10) NOT NULL DEFAULT 'offre'", // offre, demande, partage 110 "nature" => "VARCHAR(10) NOT NULL DEFAULT 'service'", // service, savoir (=stage), bien 110 111 "id_auteur" => "BIGINT(21) NOT NULL", // auteur de l'annonce 111 112 "date_saisie" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", //= format datetime 2011-03-14 22:20:33 … … 114 115 "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 115 116 "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 ''", 119 120 "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 ''", 122 122 "transport" => "TEXT DEFAULT NULL", 123 123 "repas" => "TEXT DEFAULT NULL", 124 124 "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 133 130 "total_unite" => "INT(5) UNSIGNED NOT NULL DEFAULT '0'", 134 131 "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" 137 135 ); 138 136 … … 143 141 "offreur_ext" => "VARCHAR(255) DEFAULT NULL", 144 142 "offreur_sel_ext" => "VARCHAR(255) DEFAULT NULL", 145 "titre" => "VARCHAR( 150) NOT NULL DEFAULT ''",143 "titre" => "VARCHAR(255) NOT NULL DEFAULT ''", 146 144 "date_echange" => "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'", // = format datetime 2011-03-14 22:20:33 147 145 "saisi_par" => "VARCHAR(150) NOT NULL DEFAULT 'offreur'", // 'offreur', 'demandeur' ou 'automatique' … … 153 151 "valeur" => "INT(10) NOT NULL DEFAULT '0'", 154 152 "date_validation" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", 155 " valide_par" => "BIGINT(21) DEFAULT NULL", // vers id_auteur153 "id_valideur" => "BIGINT(21) DEFAULT NULL", // vers id_auteur 156 154 "commentaires" => "TEXT DEFAULT NULL" 157 158 155 ); 159 156 … … 163 160 "id_secteur" => "BIGINT(21) NOT NULL", 164 161 "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 168 193 $spip_parametres = array( 169 194 "id_parametre" => "BIGINT(21) NOT NULL", … … 174 199 "signature" => "VARCHAR(100) NOT NULL DEFAULT ''", 175 200 "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'" 177 202 ); 178 203 … … 180 205 // -------- 181 206 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 189 207 $spip_sels_key = array( 190 208 "PRIMARY KEY" => "id_sel", 191 "KEY" => "nom , ville"209 "KEY" => "nom" 192 210 ); 193 211 … … 210 228 ); 211 229 230 $spip_organisations_key = array( 231 "PRIMARY KEY" => "id_organisation", 232 ); 233 234 $spip_correspondances_key = array( 235 "PRIMARY KEY" => "id_correspondance" 236 ); 237 212 238 $spip_parametres_key = array( 213 239 "PRIMARY KEY" => "id_parametre" … … 217 243 // ------------------- 218 244 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 222 255 $tables_principales['spip_sels'] = 223 256 array('field' => &$spip_sels, 'key' => &$spip_sels_key); … … 232 265 array('field' => &$spip_themes, 'key' => &$spip_themes_key); 233 266 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 234 273 $tables_principales['spip_parametres'] = 235 274 array('field' => &$spip_parametres, 'key' => &$spip_parametres_key); … … 238 277 } 239 278 279 280 function 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 240 482 function sel_declarer_tables_auxiliaires($tables_auxiliaires){ 483 // TABLES AUXILIAIRES POUR SPIP 2 ET 3 484 241 485 $spip_themes_annonces = array( 242 486 "id_theme" => "BIGINT(21) NOT NULL", 243 487 "id_annonce" => "BIGINT(21) NOT NULL" 244 488 ); 245 489 246 490 $spip_themes_annonces_key = array( 247 491 "PRIMARY KEY" => "id_theme, id_annonce", 248 492 "KEY id_annonce" => "id_annonce" 249 ); 493 ); 250 494 251 495 $tables_auxiliaires['spip_themes_annonces'] = array( -
_plugins_/sel/plugin.xml
r45413 r53859 19 19 </multi> 20 20 </nom> 21 <categorie>edition</categorie> 21 22 <!-- Auteur du plugin --> 22 23 <auteur> [Valérie Journet-Texier->http://valerie.journet.free.fr], [Perline->http://perline.org/] </auteur> 23 24 <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 --> 25 27 <etat>test</etat> 26 <icon> img_pack/sel-vignette.png</icon>28 <icon>prive/themes/spip/images/sel-128.png</icon> 27 29 <description> 28 30 <multi> 29 31 [fr] 30 Ce plugin est destiné à la gestion intégrale d'un système d'échange local (SEL).32 Ce plugin est destiné à la gestion intégrale d'un ou plusieurs système d'échange local (SEL). 31 33 Que ce soit un SEl qui travaille sur des échanges simples, des échanges d'objets, des échanges de savoir, un SEL de stages, un SEL d 'hébergement ou tout autre systè. 32 34 Que ce soit un SEL qui fonctionne avec un carnet d'échange, un système de JEU. 33 Il est destiné à tout type de SEL .35 Il est destiné à tout type de SEL, de séliste et de joueur. 34 36 La publication en ligne des annonces, avec création, changement ou suppression est prévue. 35 37 La publication autonome du catalogue, à partir des annonces en ligne, est prévue. … … 44 46 <prefix>sel</prefix> 45 47 46 <!-- precise le fichier a charger ?haque recalcul, partie publique-->47 48 <fonctions>sel_fonctions.php</fonctions> 48 <!-- precise le fichier a charger ?haque appel de la page, partie publique -->49 49 <options>sel_options.php</options> 50 50 51 51 <!-- Chemin du fichier d'installation et de mise ?our --> 52 <install> base/sel_install.php</install>52 <install>sel_administrations.php</install> 53 53 54 54 <!-- ensemble des pipelines : … … 69 69 70 70 <pipeline> 71 <nom>declarer_tables_auxiliaires</nom> 71 <nom>declarer_tables_auxiliaires</nom> 72 72 <inclure>base/structure.php</inclure> 73 73 </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 74 85 75 86 <!-- precise les dependances vis-vis de d'autres plugins (ou de spip), voir plus bas <necessite id="nomplugin" version="[versionminimale;versionmax]" />--> 76 87 <necessite id="SPIP" version='[2.0.0;]' /> 77 < utilise id="cfg" version='[1.15.2;]' />88 <!--utilise id="cfg" version='[1.15.2;]' /--> 78 89 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 --> 94 96 <args>type=resume&id=1</args> 95 97 </bouton> 96 98 97 99 <onglet id='mon_onglet_1' parent='configuration'> 98 <icone>images/ img-24.png</icone>100 <icone>images/xxxxx-24.png</icone> 99 101 <titre>Onglet dans configuration</titre> 100 102 <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.