6 changed files with 151 additions and 0 deletions
@ -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; |
||||
} |
@ -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' |
||||
); |
@ -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> |
@ -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); |
||||
} |
After Width: | Height: | Size: 6.7 KiB |
Loading…
Reference in new issue