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

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

on transforme les codes <encart> et </encart> en <span class="encart"> et </span>; merci marcimat ;-);

File size: 2.9 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        // application du filtre pour le style des encarts
23        $interface['table_des_traitements']['TEXTE']['articles'] = 
24                str_replace('%s', 'style_encarts(%s)', (isset($interface['table_des_traitements']['TEXTE']['articles'] ) ? $interface['table_des_traitements']['TEXTE']['articles'] : $interface['table_des_traitements']['TEXTE'][0] ));
25
26        return $interface;
27}
28
29function encarts_declarer_tables_principales($tables_principales){
30
31        //-- Table encarts ------------------------------------------
32        $encarts = array(
33                "id_encart"     => "bigint(21) NOT NULL auto_increment",
34                "date"                  => "datetime NOT NULL default '0000-00-00 00:00:00'",
35                "titre"                 => "tinytext DEFAULT '' NOT NULL",
36                "texte"                 => "text DEFAULT '' NOT NULL",
37                "maj"                   => "TIMESTAMP"
38                );
39        $encarts_key = array(
40                "PRIMARY KEY"   => "id_encart"
41                );
42        $tables_principales['spip_encarts'] =
43                array('field' => &$encarts,'key' => &$encarts_key,'join' => array('id_encart'=>'id_encart'));
44
45        return $tables_principales;
46
47}
48
49function encarts_declarer_tables_auxiliaires($tables_auxiliaires){
50
51        //-- Table encarts_liens ------------------------------------------
52        $encarts_liens = array(
53                "id_encart"     => "bigint(21) NOT NULL auto_increment",
54                "id_objet"              => "bigint(21) NOT NULL default '0'",
55                "objet"                 => "varchar(25) NOT NULL default ''",
56                "vu"                    => "enum('non','oui') NOT NULL default 'non'"
57                );
58        $encarts_liens_key = array(
59                "PRIMARY KEY"   => "id_encart, id_objet, objet"
60                );
61        $tables_auxiliaires['spip_encarts_liens'] =
62                array('field' => &$encarts_liens, 'key' => &$encarts_liens_key);
63       
64        return $tables_auxiliaires;
65}
66
67function encarts_upgrade($nom_meta_base_version,$version_cible){
68        $current_version = "0.0";
69        if (isset($GLOBALS['meta'][$nom_meta_base_version])) {
70                $current_version = $GLOBALS['meta'][$nom_meta_base_version];
71                spip_log('Version actuelle : '.$current_version,'encarts');
72        }
73        if ($current_version=="0.0") {
74                creer_base();
75                ecrire_meta($nom_meta_base_version, $current_version=$version_cible);
76                spip_log('Base de donnees encarts correctement creee','encarts');
77        }
78}
79
80function encarts_vider_tables($nom_meta_base_version) {
81        sql_drop_table("spip_encarts");
82        sql_drop_table("spip_encarts_liens");
83
84        spip_log('Plugin encarts correctement desinstalle.','encarts');
85        effacer_meta($nom_meta_base_version);
86}
87
88
89?>
Note: See TracBrowser for help on using the repository browser.