Changeset 94742 in spip-zone


Ignore:
Timestamp:
Jan 25, 2016, 2:30:12 PM (4 years ago)
Author:
rastapopoulos@…
Message:

On déclare tous les objets géographiques en vrai objet SPIP, avec leur titre, etc.

Location:
_plugins_/geographie/trunk
Files:
5 added
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/geographie/trunk/base/geographie.php

    r90310 r94742  
    11<?php
    2 #include_spip('base/serial');
    3 
    4 function geographie_declarer_tables_principales($tables_principales){
    5         $spip_geo_pays = array(
    6                         "id_pays"       => "smallint NOT NULL",
    7                         "code"  => "varchar(2) default '' NOT NULL",
    8                         "nom"   => "text DEFAULT '' NOT NULL",
    9         );
    10         $spip_geo_pays_key = array(
    11                         "PRIMARY KEY"           => "id_pays"
    12         );
    13         $spip_geo_regions = array(
    14                         "id_region"     => "smallint NOT NULL",
    15                         "id_pays"       => "smallint NOT NULL",
    16                         "nom"   => "tinytext DEFAULT '' NOT NULL",
    17         );
    18         $spip_geo_regions_key = array(
    19                         "PRIMARY KEY"           => "id_region"
    20         );
    21         $spip_geo_departements = array(
    22                         "id_departement"        => "smallint NOT NULL",
    23                         "abbr"  => "varchar(5) default '' NOT NULL",
    24                         "id_region"     => "smallint NOT NULL",
    25                         "nom"   => "tinytext DEFAULT '' NOT NULL",
    26         );
    27         $spip_geo_departements_key = array(
    28                         "PRIMARY KEY"           => "id_departement"
    29         );
    30 
    31         $spip_geo_arrondissements = array(
    32                         "id_arrondissement"     => "bigint(21) NOT NULL",
    33                         "id_departement"        => "smallint NOT NULL",
    34                         "nom"   => "tinytext DEFAULT '' NOT NULL",
    35                         "id_commune"    => "bigint(21) NOT NULL",
    36                         "population"    => "integer DEFAULT 0",
    37                         "superficie"    => "integer DEFAULT 0",
    38                         "densite"       => "integer DEFAULT 0",
    39                         "nb_cantons"    => "integer DEFAULT 0",
    40                         "nb_communes"   => "integer DEFAULT 0",
    41         );
    42         $spip_geo_arrondissements_key = array(
    43                         "PRIMARY KEY"           => "id_arrondissement"
    44         );
    45 
    46         $spip_geo_communes = array(
    47                         "id_commune"    => "bigint(21) NOT NULL",
    48                         "insee" => "char(6) default '' NOT NULL",
    49                         "id_departement"        => "smallint NOT NULL",
    50                         "id_pays"       => "smallint NOT NULL",
    51                         "code_postal"   => "char(5) default '' NOT NULL",
    52                         "nom"   => "tinytext DEFAULT '' NOT NULL",
    53                         "longitude"     => "varchar(15) default '' NOT NULL",
    54                         "latitude"      => "varchar(15) default '' NOT NULL",
    55         );
    56         $spip_geo_communes_key = array(
    57                         "PRIMARY KEY"           => "id_commune",
    58                         "INDEX insee"           => "insee",
    59                         "INDEX id_pays"         => "id_pays"
    60         );
    61 
    62         $tables_principales['spip_geo_pays'] = array('field'=>&$spip_geo_pays,'key'=>$spip_geo_pays_key);
    63         $tables_principales['spip_geo_regions'] = array('field'=>&$spip_geo_regions,'key'=>$spip_geo_regions_key);
    64         $tables_principales['spip_geo_departements'] = array('field'=>&$spip_geo_departements,'key'=>$spip_geo_departements_key);
    65         $tables_principales['spip_geo_arrondissements'] = array('field'=>&$spip_geo_arrondissements,'key'=>$spip_geo_arrondissements_key);
    66         $tables_principales['spip_geo_communes'] = array('field'=>&$spip_geo_communes,'key'=>$spip_geo_communes_key);
    67 
    68         return $tables_principales;
     2// Sécurité
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
    695}
    706
     7/**
     8 * Déclaration des alias de tables et filtres automatiques de champs
     9 *
     10 * @pipeline declarer_tables_interfaces
     11 * @param array $interfaces
     12 *     Déclarations d'interface pour le compilateur
     13 * @return array
     14 *     Déclarations d'interface pour le compilateur
     15 */
    7116function geographie_declarer_tables_interfaces($interface){
    7217        $interface['table_des_tables']['geo_pays'] = 'geo_pays';
     
    7621        $interface['table_des_tables']['geo_communes'] = 'geo_communes';
    7722
    78 
    7923        return $interface;
    8024}
    8125
     26/**
     27 * Déclaration des objets éditoriaux
     28 *
     29 * @pipeline declarer_tables_objets_sql
     30 * @param array $tables
     31 *     Description des tables
     32 * @return array
     33 *     Description complétée des tables
     34 */
     35function geographie_declarer_tables_objets_sql($tables) {
     36        $tables['spip_geo_pays'] = array(
     37                'type' => 'geo_pays',
     38                'principale' => 'oui',
     39                'table_objet_surnoms' => array('geo_pay', 'geopay', 'geopays'), // table_objet('geopays') => 'geo_pays'
     40                'field'=> array(
     41                        'id_pays' => 'smallint NOT NULL',
     42                        'code'    => 'varchar(2) default "" NOT NULL',
     43                        'nom'     => 'text DEFAULT "" NOT NULL',
     44                ),
     45                'key' => array(
     46                        'PRIMARY KEY' => 'id_pays',
     47                ),
     48                'titre' => 'nom AS titre, "" AS lang',
     49                'champs_editables'  => array(''),
     50                'champs_versionnes' => array(''),
     51                'rechercher_champs' => array('code' => 10, 'nom' => 8),
     52                'tables_jointures'  => array(),
     53        );
     54       
     55        $tables['spip_geo_regions'] = array(
     56                'type' => 'geo_region',
     57                'principale' => 'oui',
     58                'table_objet_surnoms' => array('georegion'),
     59                'field'=> array(
     60                        'id_region' => 'smallint NOT NULL',
     61                        'id_pays'   => 'smallint NOT NULL',
     62                        'nom'       => 'tinytext DEFAULT "" NOT NULL',
     63                ),
     64                'key' => array(
     65                        'PRIMARY KEY' => 'id_region',
     66                ),
     67                'titre' => 'nom AS titre, "" AS lang',
     68                'champs_editables'  => array(''),
     69                'champs_versionnes' => array(''),
     70                'rechercher_champs' => array('nom' => 10),
     71                'tables_jointures'  => array(),
     72        );
     73       
     74        $tables['spip_geo_departements'] = array(
     75                'type' => 'geo_departement',
     76                'principale' => 'oui',
     77                'table_objet_surnoms' => array('geodepartement'),
     78                'field'=> array(
     79                        'id_departement' => 'smallint NOT NULL',
     80                        'abbr'           => 'varchar(5) default "" NOT NULL',
     81                        'id_region'      => 'smallint NOT NULL',
     82                        'nom'            => 'tinytext DEFAULT "" NOT NULL',
     83                ),
     84                'key' => array(
     85                        'PRIMARY KEY' => 'id_departement',
     86                ),
     87                'titre' => 'nom AS titre, "" AS lang',
     88                'champs_editables'  => array(''),
     89                'champs_versionnes' => array(''),
     90                'rechercher_champs' => array('nom' => 10, 'abbr' => 5),
     91                'tables_jointures'  => array(),
     92        );
     93       
     94        $tables['spip_geo_arrondissements'] = array(
     95                'type' => 'geo_arrondissement',
     96                'principale' => 'oui',
     97                'table_objet_surnoms' => array('geoarrondissement'),
     98                'field'=> array(
     99                        'id_arrondissement' => 'bigint(21) NOT NULL',
     100                        'id_departement'    => 'smallint NOT NULL',
     101                        'nom'               => 'tinytext DEFAULT "" NOT NULL',
     102                        'id_commune'        => 'bigint(21) NOT NULL',
     103                        'population'        => 'integer DEFAULT 0',
     104                        'superficie'        => 'integer DEFAULT 0',
     105                        'densite'           => 'integer DEFAULT 0',
     106                        'nb_cantons'        => 'integer DEFAULT 0',
     107                        'nb_communes'       => 'integer DEFAULT 0',
     108                ),
     109                'key' => array(
     110                        'PRIMARY KEY' => 'id_arrondissement',
     111                ),
     112                'titre' => 'nom AS titre, "" AS lang',
     113                'champs_editables'  => array(''),
     114                'champs_versionnes' => array(''),
     115                'rechercher_champs' => array('nom' => 10),
     116                'tables_jointures'  => array(),
     117        );
     118       
     119        $tables['spip_geo_communes'] = array(
     120                'type' => 'geo_commune',
     121                'principale' => 'oui',
     122                'table_objet_surnoms' => array('geocommune'),
     123                'field'=> array(
     124                        'id_commune'      => 'bigint(21) NOT NULL',
     125                        'insee'           => 'char(6) default "" NOT NULL',
     126                        'id_departement'  => 'smallint NOT NULL',
     127                        'id_pays'         => 'smallint NOT NULL',
     128                        'code_postal'     => 'char(5) default "" NOT NULL',
     129                        'nom'             => 'tinytext DEFAULT "" NOT NULL',
     130                        'longitude'       => 'varchar(15) default "" NOT NULL',
     131                        'latitude'        => 'varchar(15) default "" NOT NULL',
     132                ),
     133                'key' => array(
     134                        'PRIMARY KEY'   => 'id_commune',
     135                        'INDEX insee'   => 'insee',
     136                        'INDEX id_pays' => 'id_pays'
     137                ),
     138                'titre' => 'nom AS titre, "" AS lang',
     139                'champs_editables'  => array(''),
     140                'champs_versionnes' => array(''),
     141                'rechercher_champs' => array('nom' => 10, 'code_postal' => 5),
     142                'tables_jointures'  => array(),
     143        );
     144       
     145        return $tables;
     146}
    82147
    83148function geographie_lister_tables_noexport($liste){
     
    87152        $liste[] = 'spip_geo_regions';
    88153        $liste[] = 'spip_geo_pays';
     154       
    89155        return $liste;
    90156}
    91157
    92158global $IMPORT_tables_noerase;
    93 $IMPORT_tables_noerase[]='spip_geo_communes';
    94 $IMPORT_tables_noerase[]='spip_geo_arrondissements';
    95 $IMPORT_tables_noerase[]='spip_geo_departements';
    96 $IMPORT_tables_noerase[]='spip_geo_regions';
    97 $IMPORT_tables_noerase[]='spip_geo_pays';
     159$IMPORT_tables_noerase[] = 'spip_geo_communes';
     160$IMPORT_tables_noerase[] = 'spip_geo_arrondissements';
     161$IMPORT_tables_noerase[] = 'spip_geo_departements';
     162$IMPORT_tables_noerase[] = 'spip_geo_regions';
     163$IMPORT_tables_noerase[] = 'spip_geo_pays';
  • _plugins_/geographie/trunk/paquet.xml

    r94738 r94742  
    1515        <licence>GNU/GPL</licence>
    1616       
     17        <pipeline nom="declarer_tables_objets_sql" inclure="base/geographie.php" />
     18        <pipeline nom="declarer_tables_interfaces" inclure="base/geographie.php" />
     19        <!--pipeline nom="declarer_tables_auxiliaires" inclure="base/geographie.php" /-->
    1720        <pipeline nom="lister_tables_noexport" inclure="base/geographie.php" />
    18         <pipeline nom="rechercher_liste_des_champs" inclure="geographie_pipelines.php" />
    19         <pipeline nom="declarer_tables_interfaces" inclure="base/geographie.php" />
    20         <pipeline nom="declarer_tables_principales" inclure="base/geographie.php" />
    2121</paquet>
Note: See TracChangeset for help on using the changeset viewer.