source: spip-zone/_core_/plugins/petitions/base/petitions.php @ 50914

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

Au détail près que le fichier de langue des pétitions porte un S non standard...

  • Property svn:executable set to *
File size: 5.1 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2011                                                *
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/**
14 * Interfaces des tables petitions et signatures pour le compilateur
15 *
16 * @param array $interfaces
17 * @return array
18 */
19function petitions_declarer_tables_interfaces($interfaces){
20
21        $interfaces['table_des_tables']['petitions']='petitions';
22        $interfaces['table_des_tables']['signatures']='signatures';
23       
24        $interfaces['exceptions_des_tables']['signatures']['date']='date_time';
25        $interfaces['exceptions_des_tables']['signatures']['nom']='nom_email';
26        $interfaces['exceptions_des_tables']['signatures']['email']='ad_email';
27       
28        $interfaces['tables_jointures']['spip_articles'][]= 'petitions';
29        $interfaces['tables_jointures']['spip_articles'][]= 'signatures';
30
31        $interfaces['exceptions_des_jointures']['petition'] = array('spip_petitions', 'texte');
32        $interfaces['exceptions_des_jointures']['id_signature']= array('spip_signatures', 'id_signature');
33
34        $interfaces['table_des_traitements']['MESSAGE'][]= _TRAITEMENT_RACCOURCIS;
35
36        // Signatures : passage des donnees telles quelles, sans traitement typo
37        // la securite et conformite XHTML de ces champs est assuree par safehtml()
38        foreach(array('NOM_EMAIL','AD_EMAIL','NOM_SITE','URL_SITE','MESSAGE') as $balise)
39                if (!isset($interfaces['table_des_traitements'][$balise]['signatures']))
40                        $interfaces['table_des_traitements'][$balise]['signatures'] = 'safehtml(%s)';
41                else
42                        if (strpos($interfaces['table_des_traitements'][$balise]['signatures'],'safehtml')==false)
43                                $interfaces['table_des_traitements'][$balise]['signatures'] = 'safehtml('.$interfaces['table_des_traitements'][$balise]['signatures'].')';
44
45        return $interfaces;
46}
47
48function petitions_declarer_tables_objets_sql($tables){
49        $tables['spip_petitions'] = array(
50          'url_voir'=>'controler_petition',
51          'url_edit'=>'controler_petition',
52          'editable'=>'non',
53          'principale' => 'oui',
54                'page'=>'', // pas de page editoriale pour une petition
55
56                'texte_retour' => 'icone_retour',
57                'texte_objets' => 'petitions:titre_petitions',
58                'texte_objet'  => 'petitions:titre_petition',
59               
60                'titre' => "texte as titre, '' AS lang",
61
62                'field'=> array(
63                        "id_petition"   => "bigint(21) NOT NULL",
64                        "id_article"    => "bigint(21) DEFAULT '0' NOT NULL",
65                        "email_unique"  => "CHAR (3) DEFAULT '' NOT NULL",
66                        "site_obli"     => "CHAR (3) DEFAULT '' NOT NULL",
67                        "site_unique"   => "CHAR (3) DEFAULT '' NOT NULL",
68                        "message"       => "CHAR (3) DEFAULT '' NOT NULL",
69                        "texte" => "LONGTEXT DEFAULT '' NOT NULL",
70                        "statut"        => "VARCHAR (10) DEFAULT 'publie' NOT NULL",
71                        "maj"   => "TIMESTAMP"
72                ),
73                'key' => array(
74                        "PRIMARY KEY"   => "id_petition",
75                        "UNIQUE id_article"     => "id_article"
76                ),
77                'statut' => array(
78                        array('champ'=>'statut','publie'=>'publie,off','previsu'=>'publie,off','exception'=>array('statut')),
79                ),
80        );
81
82        $tables['spip_signatures'] = array(
83          'url_voir'=>'controler_petition',
84          'url_edit'=>'controler_petition',
85          'editable'=>'non',
86          'principale' => 'oui',
87                'page'=>'', // pas de page editoriale pour une signature
88
89                'texte_retour' => 'icone_retour',
90                'texte_objets' => 'public:signatures_petition',
91                'texte_objet' => 'entree_signature',
92                'info_aucun_objet'=> 'petitions:aucune_signature',
93                'info_1_objet' => 'petitions:une_signature',
94                'info_nb_objets' => 'petitions:nombre_signatures',
95                'titre' => "nom_email as titre, '' AS lang",
96                'date' => 'date_time',
97
98                'field'=> array(
99                        "id_signature"  => "bigint(21) NOT NULL",
100                        "id_petition"   => "bigint(21) DEFAULT '0' NOT NULL",
101#                       "id_article"    => "bigint(21) DEFAULT '0' NOT NULL",
102                        "date_time"     => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
103                        "nom_email"     => "text DEFAULT '' NOT NULL",
104                        "ad_email"      => "text DEFAULT '' NOT NULL",
105                        "nom_site"      => "text DEFAULT '' NOT NULL",
106                        "url_site"      => "text DEFAULT '' NOT NULL",
107                        "message"       => "mediumtext DEFAULT '' NOT NULL",
108                        "statut"        => "varchar(10) DEFAULT '0' NOT NULL",
109                        "maj"   => "TIMESTAMP"
110                ),
111                'key' => array(
112                        "PRIMARY KEY"   => "id_signature",
113                        "KEY id_petition"       => "id_petition",
114#                       "KEY id_article"        => "id_article",
115                        "KEY statut" => "statut"
116                ),
117                'join' => array(
118                        "id_signature"=>"id_signature",
119                        "id_petition"=>"id_petition"
120                ),
121                'tables_jointures'=> array(
122                        'petitions'
123                ),
124                'statut' => array(
125                        array('champ'=>'statut','publie'=>'publie','previsu'=>'publie','exception'=>array('statut','tout')),
126                ),
127                'rechercher_champs' => array(
128                        'nom_email' => 2, 'ad_email' => 4,
129                        'nom_site' => 2, 'url_site' => 4,
130                        'message' => 1
131                ),
132                'icone_objet' => 'petition',
133        );
134
135        return $tables;
136}
137?>
Note: See TracBrowser for help on using the repository browser.