source: spip-zone/_plugins_/encarts/base/encarts.php @ 44059

Last change on this file since 44059 was 44059, checked in by marcimat@…, 9 years ago

Prendre en compte la coloration des <encart> partout !

File size: 2.6 KB
Line 
1<?php
2/*
3 * Plugin Encarts
4 * (c) 2011 Camille Lafitte, Cyril Marion
5 * Distribue sous licence GPL
6 *
7 */
8
9include_spip('inc/meta');
10include_spip('base/create');
11
12function encarts_declarer_tables_interfaces($interface){
13        include_spip('encarts_fonctions');
14
15        $interface['table_des_tables']['encarts'] = 'encarts';
16       
17        $interface['tables_jointures']['spip_articles'][]= 'encarts';
18        $interface['tables_jointures']['spip_articles']['id_article']= 'encarts_liens';
19        $interface['tables_jointures']['spip_encarts'][]= 'articles';
20        // peut etre faut il plus de déclarations pour lier un encart à des articles ?
21       
22        return $interface;
23}
24
25function encarts_declarer_tables_principales($tables_principales){
26
27        //-- Table encarts ------------------------------------------
28        $encarts = array(
29                "id_encart"     => "bigint(21) NOT NULL auto_increment",
30                "date"                  => "datetime NOT NULL default '0000-00-00 00:00:00'",
31                "titre"                 => "tinytext DEFAULT '' NOT NULL",
32                "texte"                 => "text DEFAULT '' NOT NULL",
33                "maj"                   => "TIMESTAMP"
34                );
35        $encarts_key = array(
36                "PRIMARY KEY"   => "id_encart"
37                );
38        $tables_principales['spip_encarts'] =
39                array('field' => &$encarts,'key' => &$encarts_key,'join' => array('id_encart'=>'id_encart'));
40
41        return $tables_principales;
42
43}
44
45function encarts_declarer_tables_auxiliaires($tables_auxiliaires){
46
47        //-- Table encarts_liens ------------------------------------------
48        $encarts_liens = array(
49                "id_encart"     => "bigint(21) NOT NULL auto_increment",
50                "id_objet"              => "bigint(21) NOT NULL default '0'",
51                "objet"                 => "varchar(25) NOT NULL default ''",
52                "vu"                    => "enum('non','oui') NOT NULL default 'non'"
53                );
54        $encarts_liens_key = array(
55                "PRIMARY KEY"   => "id_encart, id_objet, objet"
56                );
57        $tables_auxiliaires['spip_encarts_liens'] =
58                array('field' => &$encarts_liens, 'key' => &$encarts_liens_key);
59       
60        return $tables_auxiliaires;
61}
62
63function encarts_upgrade($nom_meta_base_version,$version_cible){
64        $current_version = "0.0";
65        if (isset($GLOBALS['meta'][$nom_meta_base_version])) {
66                $current_version = $GLOBALS['meta'][$nom_meta_base_version];
67                spip_log('Version actuelle : '.$current_version,'encarts');
68        }
69        if ($current_version=="0.0") {
70                creer_base();
71                ecrire_meta($nom_meta_base_version, $current_version=$version_cible);
72                spip_log('Base de donnees encarts correctement creee','encarts');
73        }
74}
75
76function encarts_vider_tables($nom_meta_base_version) {
77        sql_drop_table("spip_encarts");
78        sql_drop_table("spip_encarts_liens");
79
80        spip_log('Plugin encarts correctement desinstalle.','encarts');
81        effacer_meta($nom_meta_base_version);
82}
83
84
85?>
Note: See TracBrowser for help on using the repository browser.