You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

71 lines
2.2 KiB

<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Declarer les interfaces
*
* @param array $interfaces
* @return array
*/
function urls_declarer_tables_interfaces($interfaces) {
$interfaces['table_des_tables']['urls'] = 'urls';
return $interfaces;
}
/**
* Tables de jointures
*
* @param array $tables_auxiliaires
* @return array
*/
function urls_declarer_tables_auxiliaires($tables_auxiliaires) {
$spip_urls = [
// un id parent eventuel, pour discriminer les doublons arborescents
'id_parent' => "bigint(21) DEFAULT '0' NOT NULL",
'url' => 'VARCHAR(255) NOT NULL',
// la table cible
'type' => "varchar(25) DEFAULT 'article' NOT NULL",
// l'id dans la table
'id_objet' => 'bigint(21) NOT NULL',
// pour connaitre la plus recente.
// ATTENTION, pas on update CURRENT_TIMESTAMP implicite
// et pas le nom maj, surinterprete par inc/import_1_3
'date' => "DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL",
// nombre de segments dans url
'segments' => "SMALLINT(3) DEFAULT '1' NOT NULL",
// URL permanente, prioritaire
'perma' => "TINYINT(1) DEFAULT '0' NOT NULL",
// langue des urls : on le nomme langue et pas lang pour eviter les ambiguites avec le champ lang des objets
// qui apparait dans les jointures sans prefixe de table, via le champ titre "titre, lang"
'langue' => "VARCHAR(10) DEFAULT '' NOT NULL",
];
$spip_urls_key = [
'PRIMARY KEY' => 'id_parent, url',
'KEY type' => 'type, id_objet',
'KEY langue' => 'langue',
'KEY url' => 'url',
];
$tables_auxiliaires['spip_urls'] = [
'field' => &$spip_urls,
'key' => &$spip_urls_key
];
return $tables_auxiliaires;
}