1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/spip_ynh.git synced 2024-09-03 20:25:59 +02:00
spip_ynh/sources/plugins-dist/revisions/base/revisions.php
2015-04-28 17:10:23 +02:00

86 lines
No EOL
2.7 KiB
PHP

<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
function revisions_declarer_tables_interfaces($interface){
$interface['table_des_tables']['versions']='versions';
return $interface;
}
/**
* Declaration des jointures generiques
* @param $tables
* @return
*/
function revisions_declarer_tables_objets_sql($tables){
// jointures sur les mots pour tous les objets
$tables[]['tables_jointures'][]= 'versions';
return $tables;
}
/**
* Table principale spip_versions
*
* @param array $tables_principales
* @return array
*/
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_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)
);
$spip_versions_fragments_key = array(
"PRIMARY KEY" => "id_objet, objet, id_fragment, version_min"
);
$tables_auxiliaires['spip_versions'] = array(
'field' => &$spip_versions,
'key' => &$spip_versions_key);
$tables_auxiliaires['spip_versions_fragments'] = array(
'field' => &$spip_versions_fragments,
'key' => &$spip_versions_fragments_key);
return $tables_auxiliaires;
}
?>