* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
-if (!defined('_ECRIRE_INC_VERSION')) return;
+/**
+ * Déclarations relatives à la base de données
+ *
+ * @package SPIP\Revisions\Pipelines
+ **/
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
-function revisions_declarer_tables_interfaces($interface){
+/**
+ * Déclarer les interfaces des tables versions pour le compilateur
+ *
+ * @pipeline declarer_tables_interfaces
+ * @param array $interface
+ * Déclarations d'interface pour le compilateur
+ * @return array
+ * Déclarations d'interface pour le compilateur
+ */
+function revisions_declarer_tables_interfaces($interface) {
- $interface['table_des_tables']['versions']='versions';
+ $interface['table_des_tables']['versions'] = 'versions';
return $interface;
}
/**
- * Declaration des jointures generiques
- * @param $tables
- * @return
+ * Déclaration des jointures génériques
+ *
+ * @pipeline declarer_tables_objets_sql
+ * @param array $tables
+ * Description des tables
+ * @return array
+ * Description complétée des tables
*/
-function revisions_declarer_tables_objets_sql($tables){
+function revisions_declarer_tables_objets_sql($tables) {
// jointures sur les mots pour tous les objets
- $tables[]['tables_jointures'][]= 'versions';
+ $tables[]['tables_jointures'][] = 'versions';
return $tables;
}
+
/**
- * Table principale spip_versions
+ * Déclarer les tables versions et fragments
*
- * @param array $tables_principales
+ * @pipeline declarer_tables_auxiliaires
+ * @param array $tables_auxiliaires
+ * Description des tables
* @return array
+ * Description complétée des tables
*/
-function revisions_declarer_tables_auxiliaires($tables_auxiliaires){
-
- $spip_versions = array (
- "id_version" => "bigint(21) DEFAULT 0 NOT NULL",
- "id_objet" => "bigint(21) DEFAULT 0 NOT NULL",
- "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
- "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
- "id_auteur" => "VARCHAR(23) DEFAULT '' NOT NULL", # stocke aussi IP(v6)
- "titre_version" => "text DEFAULT '' NOT NULL",
- "permanent" => "char(3) DEFAULT '' NOT NULL",
- "champs" => "text DEFAULT '' NOT NULL"
+function revisions_declarer_tables_auxiliaires($tables_auxiliaires) {
+
+ $spip_versions = array(
+ 'id_version' => 'bigint(21) DEFAULT 0 NOT NULL',
+ 'id_objet' => 'bigint(21) DEFAULT 0 NOT NULL',
+ 'objet' => "VARCHAR (25) DEFAULT '' NOT NULL",
+ 'date' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
+ 'id_auteur' => "VARCHAR(23) DEFAULT '' NOT NULL", # stocke aussi IP(v6)
+ 'titre_version' => "text DEFAULT '' NOT NULL",
+ 'permanent' => "char(3) DEFAULT '' NOT NULL",
+ 'champs' => "text DEFAULT '' NOT NULL"
);
- $spip_versions_key = array (
- "PRIMARY KEY" => "id_version, id_objet, objet",
- "KEY id_version" => "id_version",
- "KEY id_objet" => "id_objet",
- "KEY objet" => "objet");
+ $spip_versions_key = array(
+ 'PRIMARY KEY' => 'id_version, id_objet, objet',
+ 'KEY id_version' => 'id_version',
+ 'KEY id_objet' => 'id_objet',
+ 'KEY objet' => 'objet'
+ );
+ $spip_versions_join = array(
+ 'id_version' => 'id_version',
+ 'id_objet' => 'id_objet',
+ 'objet' => 'objet',
+ 'id_auteur' => 'id_auteur',
+ );
$spip_versions_fragments = array(
- "id_fragment" => "int unsigned DEFAULT '0' NOT NULL",
- "version_min" => "int unsigned DEFAULT '0' NOT NULL",
- "version_max" => "int unsigned DEFAULT '0' NOT NULL",
- "id_objet" => "bigint(21) NOT NULL",
- "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
- "compress" => "tinyint NOT NULL",
- "fragment" => "longblob" # ici c'est VRAIMENT un blob (on y stocke du gzip)
+ 'id_fragment' => "int unsigned DEFAULT '0' NOT NULL",
+ 'version_min' => "int unsigned DEFAULT '0' NOT NULL",
+ 'version_max' => "int unsigned DEFAULT '0' NOT NULL",
+ 'id_objet' => 'bigint(21) NOT NULL',
+ 'objet' => "VARCHAR (25) DEFAULT '' NOT NULL",
+ 'compress' => 'tinyint NOT NULL',
+ 'fragment' => 'longblob' # ici c'est VRAIMENT un blob (on y stocke du gzip)
);
$spip_versions_fragments_key = array(
- "PRIMARY KEY" => "id_objet, objet, id_fragment, version_min"
+ 'PRIMARY KEY' => 'id_objet, objet, id_fragment, version_min'
);
$tables_auxiliaires['spip_versions'] = array(
'field' => &$spip_versions,
- 'key' => &$spip_versions_key);
+ 'key' => &$spip_versions_key,
+ 'join' => &$spip_versions_join
+ );
$tables_auxiliaires['spip_versions_fragments'] = array(
'field' => &$spip_versions_fragments,
- 'key' => &$spip_versions_fragments_key);
+ 'key' => &$spip_versions_fragments_key
+ );
return $tables_auxiliaires;
}
-
-?>
\ No newline at end of file