[SPIP] v3.2.7-->v3.2.9
[lhc/web/www.git] / www / plugins-dist / urls_etendues / base / urls.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2020 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) {
14 return;
15 }
16
17 /**
18 * Declarer les interfaces
19 *
20 * @param array $interfaces
21 * @return array
22 */
23 function urls_declarer_tables_interfaces($interfaces) {
24 $interfaces['table_des_tables']['urls'] = 'urls';
25
26 return $interfaces;
27 }
28
29 /**
30 * Tables de jointures
31 *
32 * @param array $tables_auxiliaires
33 * @return array
34 */
35 function urls_declarer_tables_auxiliaires($tables_auxiliaires) {
36
37 $spip_urls = array(
38 // un id parent eventuel, pour discriminer les doublons arborescents
39 "id_parent" => "bigint(21) DEFAULT '0' NOT NULL",
40 "url" => "VARCHAR(255) NOT NULL",
41 // la table cible
42 "type" => "varchar(25) DEFAULT 'article' NOT NULL",
43 // l'id dans la table
44 "id_objet" => "bigint(21) NOT NULL",
45 // pour connaitre la plus recente.
46 // ATTENTION, pas on update CURRENT_TIMESTAMP implicite
47 // et pas le nom maj, surinterprete par inc/import_1_3
48 "date" => "DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL",
49 // nombre de segments dans url
50 "segments" => "SMALLINT(3) DEFAULT '1' NOT NULL",
51 // URL permanente, prioritaire
52 "perma" => "TINYINT(1) DEFAULT '0' NOT NULL",
53 // langue des urls : on le nomme langue et pas lang pour eviter les ambiguites avec le champ lang des objets
54 // qui apparait dans les jointures sans prefixe de table, via le champ titre "titre, lang"
55 'langue' => "VARCHAR(10) DEFAULT '' NOT NULL",
56
57 );
58
59 $spip_urls_key = array(
60 "PRIMARY KEY" => "id_parent, url",
61 "KEY type" => "type, id_objet",
62 'KEY langue' => 'langue',
63 'KEY url' => 'url',
64 );
65
66 $tables_auxiliaires['spip_urls'] = array(
67 'field' => &$spip_urls,
68 'key' => &$spip_urls_key
69 );
70
71 return $tables_auxiliaires;
72 }