Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/ecole/plugins/auto/tri_par_rubrique/ |
<?php /** * Fichier gérant l'installation et désinstallation du plugin Tri des articles par rubrique * * @plugin Tri des articles par rubrique * @copyright 2019 * @author nicod_ * @licence GNU/GPL * @package SPIP\Tri_par_rubrique\Installation */ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Declaration des champs dans la table spip_rubriques * * @param array $tables_principales * * @return array */ function tri_par_rubrique_declarer_tables_principales($tables_principales){ $tables_principales['spip_rubriques']['field']['trirub_articles'] = "varchar(20) DEFAULT 'date' NOT NULL DEFAULT ''"; $tables_principales['spip_rubriques']['field']['trirub_articles_inverse'] = "tinyint(1) DEFAULT 1 NOT NULL DEFAULT 0"; return $tables_principales; } /** * Declaration des champs éditables et versionnables de la table spip_rubriques * * @param array $tables * * @return array */ function tri_par_rubrique_declarer_tables_objets_sql($tables) { $tables['spip_rubriques']['champs_editables'][] = 'trirub_articles'; $tables['spip_rubriques']['champs_editables'][] = 'trirub_articles_inverse'; $tables['spip_rubriques']['champs_versionnes'][] = 'trirub_articles'; $tables['spip_rubriques']['champs_versionnes'][] = 'trirub_articles_inverse'; return $tables; } /** * Fonction d'installation et de mise à jour du plugin Tri des articles par rubrique. * * @param string $nom_meta_base_version * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP * @param string $version_cible * Version du schéma de données dans ce plugin (déclaré dans paquet.xml) * * @return void **/ function tri_par_rubrique_upgrade($nom_meta_base_version, $version_cible) { $maj = array(); // Configuration par défaut à la première activation du plugin $defaut_config = array( 'trirub_articles' => 'date', 'trirub_articles_inverse' => 1 ); $maj['create'] = array( array('maj_tables', array('spip_rubriques')), array('ecrire_config', 'tri_par_rubrique', $defaut_config) ); // On ajoute la configuration par défaut du plugin $maj['2.0.0'] = array( array('maj200_tri_par_rubrique', $defaut_config) ); // On modifie les valeurs par défaut des champs $maj['2.1.0'] = array( array('maj210_tri_par_rubrique', $defaut_config) ); include_spip('base/upgrade'); maj_plugin($nom_meta_base_version, $version_cible, $maj); } /** * Fonction de désinstallation du plugin Tri des articles par rubrique. * * @param string $nom_meta_base_version * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP * * @return void **/ function tri_par_rubrique_vider_tables($nom_meta_base_version) { include_spip('inc/meta'); include_spip('base/abstract_sql'); sql_alter("TABLE spip_rubriques DROP trirub_articles"); sql_alter("TABLE spip_rubriques DROP trirub_articles_inverse"); effacer_config('tri_par_rubrique'); effacer_meta($nom_meta_base_version); } /** * Migration du schéma 1.0.0 au 2.0.0. * * On ajoute la configuration par défaut du plugin si une configuration n'existe pas déjà. * * @param array $defaut_config Configuration par défaut du plugin. * * @return void */ function maj200_tri_par_rubrique($defaut_config) { // On initialise la configuration ajoutée avec celle par défaut include_spip('inc/config'); $config = lire_config('tri_par_rubrique', array()); // Mise à jour de la configuration par défaut si il n'y a pas de configuration existante et suppression de la // variable tri global devenue inutile. if (!isset($config['trirub_articles'])) { $config['trirub_articles'] = $defaut_config['trirub_articles']; } if (!isset($config['trirub_articles_inverse'])) { $config['trirub_articles_inverse'] = $defaut_config['trirub_articles_inverse']; } if (isset($config['appliquer_tri_global'])) { unset($config['appliquer_tri_global']); } ecrire_config('tri_par_rubrique', $config); } /** * Migration du schéma 2.0.0 au 2.1.0. * * On modifie les valeurs par défaut des champs (null) * * @return void */ function maj210_tri_par_rubrique() { sql_alter('TABLE spip_rubriques CHANGE trirub_articles trirub_articles varchar(20) NOT NULL DEFAULT ""'); sql_alter('TABLE spip_rubriques CHANGE trirub_articles_inverse trirub_articles_inverse tinyint(1) NOT NULL DEFAULT 0'); }