Browse Source

Création des tables de typologie

master
Eric Lupinacci 4 years ago
parent
commit
96774a40cd
  1. 1
      .gitignore
  2. 56
      base/svptype_declarations.php
  3. 14
      lang/paquet-svptype_fr.php
  4. 20
      paquet.xml
  5. 60
      svptype_administrations.php
  6. BIN
      svptype_logo-64.png

1
.gitignore vendored

@ -0,0 +1 @@
*.DS_Store

56
base/svptype_declarations.php

@ -0,0 +1,56 @@
<?php
function svptype_declarer_tables_auxiliaires($tables_auxiliaires) {
// Tables des types de plugins (catégories et tags) : spip_typologies
$typologies = array(
'objet' => "varchar(16) DEFAULT 'plugin_categorie' NOT NULL",
'type' => "varchar(255) DEFAULT '' NOT NULL",
'titre' => "text DEFAULT '' NOT NULL",
'descriptif' => "text DEFAULT '' NOT NULL",
'parent' => "varchar(255) DEFAULT '' NOT NULL",
'profondeur' => "smallint(5) DEFAULT '0' NOT NULL",
);
$typologies_key = array(
'PRIMARY KEY' => 'objet, type',
'KEY objet' => 'objet',
'KEY profondeur' => 'profondeur',
);
$tables_auxiliaires['spip_typologies'] = array(
'field' => &$typologies,
'key' => &$typologies_key
);
// Tables de liens entre plugins et les types de plugins : spip_plugins_typologies
$plugins_typologies = array(
'objet' => "varchar(16) DEFAULT 'plugin_categorie' NOT NULL",
'type' => "varchar(255) DEFAULT '' NOT NULL",
'prefixe' => "varchar(16) DEFAULT 'plugin_categorie' NOT NULL",
);
$plugins_typologies_key = array(
'PRIMARY KEY' => 'objet, type, prefixe',
);
$tables_auxiliaires['spip_plugins_typologies'] = array(
'field' => &$plugins_typologies,
'key' => &$plugins_typologies_key
);
return $tables_auxiliaires;
}
function svptype_declarer_tables_interfaces($interface) {
// Les tables
$interface['table_des_tables']['plugins_typologies'] = 'plugins_typologies';
$interface['table_des_tables']['typologies'] = 'typologies';
// Les jointures
// -- Entre spip_plugins_stats et spip_plugins
$interface['tables_jointures']['spip_plugins'][] = 'plugins_typologies';
return $interface;
}

14
lang/paquet-svptype_fr.php

@ -0,0 +1,14 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/svp_stats/trunk/lang/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// S
'svptype_description' => 'Ce plugin est un module de SVP.
_ Il permet de maintenir les listes de catégories et de tags pour les plugins et de gérer leur affectation à chaque plugin SPIP référencés.',
'svptype_slogan' => 'Module SVP de gestion des catégories et des tags de plugins'
);

20
paquet.xml

@ -0,0 +1,20 @@
<paquet
prefix="svptype"
categorie="outil"
version="0.1.0"
etat="dev"
compatibilite="[3.2.0;3.2.*]"
logo="svptype_logo-64.png"
schema="1"
>
<nom>SVP Typologie</nom>
<!-- Module SVP de gestion des catégories et des tags de plugins -->
<auteur>Eric Lupinacci</auteur>
<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GNU/GPL</licence>
<pipeline nom="declarer_tables_auxiliaires" inclure="base/svptype_declarations.php" />
<pipeline nom="declarer_tables_interfaces" inclure="base/svptype_declarations.php" />
</paquet>

60
svptype_administrations.php

@ -0,0 +1,60 @@
<?php
/**
* Ce fichier contient les fonctions de création, de mise à jour et de suppression
* du schéma de données propres au plugin (tables et configuration).
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Installation du schéma de données propre au plugin et gestion des migrations suivant
* les évolutions du schéma.
*
* Le schéma comprend des tables et des variables de configuration.
*
* @api
* @see controle_declarer_tables_principales()
* @see controle_declarer_tables_interfaces()
*
* @param string $nom_meta_base_version
* Nom de la meta dans laquelle sera rangée la version du schéma
* @param string $version_cible
* Version du schéma de données en fin d'upgrade
*
* @return void
*/
function svptype_upgrade($nom_meta_base_version, $version_cible){
$maj = array();
// Création des tables
$maj['create'] = array(
array('maj_tables', array('spip_typologies', 'spip_plugins_typologies')),
);
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
/**
* Suppression de l'ensemble du schéma de données propre au plugin, c'est-à-dire
* les tables et les variables de configuration.
*
* @api
*
* @param string $nom_meta_base_version
* Nom de la meta dans laquelle sera rangée la version du schéma
*
* @return void
*/
function svptype_vider_tables($nom_meta_base_version) {
// on efface les tables
sql_drop_table('spip_typologies');
sql_drop_table('spip_plugins_typologies');
// on efface la meta du schéma du plugin
effacer_meta($nom_meta_base_version);
}

BIN
svptype_logo-64.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Loading…
Cancel
Save