source: spip-zone/_core_/plugins/urls_etendues/base/urls.php @ 119525

Last change on this file since 119525 was 119525, checked in by spip.franck@…, 3 months ago

Bonne année "urls_etendues"

File size: 2.3 KB
Line 
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
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17/**
18 * Declarer les interfaces
19 *
20 * @param array $interfaces
21 * @return array
22 */
23function 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 */
35function 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}
Note: See TracBrowser for help on using the repository browser.