[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / compositions_v2 / base / compositions.php
diff --git a/www/plugins/auto/compositions_v2/base/compositions.php b/www/plugins/auto/compositions_v2/base/compositions.php
new file mode 100644 (file)
index 0000000..df88119
--- /dev/null
@@ -0,0 +1,100 @@
+<?php
+/*
+ * Plugin Compositions
+ * (c) 2007-2009 Cedric Morin
+ * Distribue sous licence GPL
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/**
+ * Declaration des tables principales
+ *
+ * @param array $tables_principales
+ * @return array
+ */
+function compositions_declarer_tables_principales($tables_principales){
+       
+       $tables_principales['spip_articles']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
+       $tables_principales['spip_rubriques']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
+       $tables_principales['spip_auteurs']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
+       $tables_principales['spip_breves']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
+       $tables_principales['spip_mots']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
+       $tables_principales['spip_syndic']['field']['composition'] = "varchar(255) DEFAULT '' NOT NULL";
+       $tables_principales['spip_articles']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       $tables_principales['spip_rubriques']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       $tables_principales['spip_rubriques']['field']['composition_branche_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       $tables_principales['spip_auteurs']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       $tables_principales['spip_breves']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       $tables_principales['spip_mots']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       $tables_principales['spip_syndic']['field']['composition_lock'] = "tinyint(1) DEFAULT 0 NOT NULL";
+       return $tables_principales;
+}
+
+/**
+ * Upgrade des tables
+ * 
+ * @param string $nom_meta_base_version
+ * @param string $version_cible
+ */
+function compositions_upgrade($nom_meta_base_version,$version_cible){
+       include_spip('inc/meta');
+       $current_version = 0.0;
+       if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
+                       || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
+               if (version_compare($current_version,'0.1','<')){
+                       include_spip('base/abstract_sql');
+                       sql_alter("TABLE spip_articles ADD composition varchar(255) DEFAULT '' NOT NULL");
+                       sql_alter("TABLE spip_rubriques ADD composition varchar(255) DEFAULT '' NOT NULL");
+                       ecrire_meta($nom_meta_base_version,$current_version="0.1",'non');
+               }
+               if (version_compare($current_version,'0.2.0','<')){
+                       sql_alter("TABLE spip_auteurs ADD composition varchar(255) DEFAULT '' NOT NULL");
+                       sql_alter("TABLE spip_breves ADD composition varchar(255) DEFAULT '' NOT NULL");
+                       sql_alter("TABLE spip_mots ADD composition varchar(255) DEFAULT '' NOT NULL");
+                       sql_alter("TABLE spip_syndic ADD composition varchar(255) DEFAULT '' NOT NULL");
+                       ecrire_meta($nom_meta_base_version,$current_version="0.2.0",'non');
+               }
+               if (version_compare($current_version,'0.3.0','<')){
+                       sql_alter("TABLE spip_articles ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       sql_alter("TABLE spip_rubriques ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       sql_alter("TABLE spip_auteurs ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       sql_alter("TABLE spip_breves ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       sql_alter("TABLE spip_mots ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       sql_alter("TABLE spip_syndic ADD composition_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       ecrire_meta($nom_meta_base_version,$current_version="0.3.0",'non');
+               }
+               if (version_compare($current_version,'0.4.0','<')){
+                       sql_alter("TABLE spip_rubriques ADD composition_branche_lock tinyint(1) DEFAULT 0 NOT NULL");
+                       ecrire_meta($nom_meta_base_version,$current_version="0.4.0",'non');
+               }
+       }
+}
+
+
+/**
+ * Desinstallation
+ *
+ * @param string $nom_meta_base_version
+ */
+function compositions_vider_tables($nom_meta_base_version) {
+       include_spip('inc/meta');
+       include_spip('base/abstract_sql');
+       sql_alter("TABLE spip_articles DROP composition");
+       sql_alter("TABLE spip_rubriques DROP composition");
+       sql_alter("TABLE spip_auteurs DROP composition");
+       sql_alter("TABLE spip_breves DROP composition");
+       sql_alter("TABLE spip_mots DROP composition");
+       sql_alter("TABLE spip_syndic DROP composition");
+       sql_alter("TABLE spip_articles DROP composition_lock");
+       sql_alter("TABLE spip_rubriques DROP composition_lock");
+       sql_alter("TABLE spip_rubriques DROP composition_branche_lock");
+       sql_alter("TABLE spip_auteurs DROP composition_lock");
+       sql_alter("TABLE spip_breves DROP composition_lock");
+       sql_alter("TABLE spip_mots DROP composition_lock");
+       sql_alter("TABLE spip_syndic DROP composition_lock");
+       effacer_meta('compositions');
+       effacer_meta($nom_meta_base_version);
+}
+?>
\ No newline at end of file