source: extensions/ConcoursPhoto/maintain.inc.php @ 4080

Last change on this file since 4080 was 3905, checked in by tiico, 15 years ago

Initial submit for plugin ConcoursPhoto (Possibility to add a competition on category with selected criterias and generation of the competition's result).
Functionnal version. Admin pages must be checked for informations/errors notifications

File size: 6.3 KB
Line 
1<?php
2/*
3 * Plugin Name: ConcoursPhoto
4 * File :  maintain.inc.php 
5 */
6
7if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
8
9
10function plugin_install()
11{
12        global $prefixeTable, $conf;
13
14        $query = 'SHOW TABLES LIKE "' . $prefixeTable . 'concours"';
15        $result = pwg_query($query);
16        if (!mysql_fetch_row($result))
17        {
18        // Concours description
19                $q = 'CREATE TABLE `' . $prefixeTable . 'concours` (
20                                `id` smallint(5) NOT NULL,
21                                `create_date` datetime NOT NULL,
22                                `name` text NOT NULL,
23                                `descr` varchar(255) default NULL,
24                                `begin_date` datetime NOT NULL,
25                                `end_date` datetime NOT NULL,
26                                `category` smallint(5) default NULL,
27                                `groups` varchar(255) default NULL,
28                               
29                                PRIMARY KEY  (`id`)
30                                ) DEFAULT CHARSET=utf8;';
31                pwg_query($q);
32
33        // Concours description detail (criterias)
34                $q = 'CREATE TABLE `' . $prefixeTable . 'concours_detail` (
35                                `id` smallint(5) NOT NULL,
36                                `id_concours` smallint(5) NOT NULL,
37                                `criteria_id` smallint(5) NOT NULL,
38                                `name` text NOT NULL,
39                                `descr` varchar(255) default NULL,
40                                `min_value` int default 0,
41                                `max_value` int default 0,
42                                `ponderation` int default 1,
43                                `uppercriteria` smallint(5) default NULL,
44                               
45                                PRIMARY KEY  (`id`),
46                                FOREIGN KEY (`id_concours`) REFERENCES ' . $prefixeTable . 'concours(id)
47                                ) DEFAULT CHARSET=utf8;';
48                pwg_query($q);
49
50
51        // Concours notation (by users)
52                $q = 'CREATE TABLE `' . $prefixeTable . 'concours_data` (
53                                `id` smallint(5) NOT NULL,
54                                `id_concours` smallint(5) NOT NULL,
55                                `user_id` smallint(5) NOT NULL,
56                                `create_date` datetime NOT NULL,
57                                `img_id` smallint(5) NOT NULL,
58                                `datas` longtext default NULL,
59                                `comment` longtext default NULL,                               
60                                PRIMARY KEY  (`id`)
61                                ) DEFAULT CHARSET=utf8;';
62                pwg_query($q);
63               
64        // Concours result (synthesis)
65                $q = 'CREATE TABLE `' . $prefixeTable . 'concours_result` (
66                                `id_concours` smallint(5) NOT NULL,
67                                `img_id` smallint(5) NOT NULL,
68                                `date` datetime NOT NULL,
69                                `note` float default 0,
70                                `datas` longtext default NULL,
71                                `file_name` longtext default NULL,
72                                PRIMARY KEY  (`img_id`),
73                                FOREIGN KEY (`id_concours`) REFERENCES ' . $prefixeTable . 'concours(id)                               
74                                ) DEFAULT CHARSET=utf8;';
75                pwg_query($q);
76               
77        // Default values  insertion
78    $q = "INSERT INTO `" . $prefixeTable . "concours`
79                                ( `id`,
80                                `create_date`,
81                                `name`,
82                                `descr`,
83                                `begin_date`,
84                                `end_date`,
85                                `category`,
86                                `groups`)
87                        VALUES (0, now(), 'Default', 'default values', now(), now(), NULL, NULL);";
88    pwg_query($q);
89
90    // Default values for criterias (concours_id=0)
91    $q = "INSERT INTO `" . $prefixeTable . "concours_detail`
92                                (`id`,
93                                `id_concours` ,
94                                `criteria_id` ,
95                                `name`,
96                                `descr`,
97                                `min_value`,
98                                `max_value`,
99                                `ponderation` ,
100                                `uppercriteria`)
101                        VALUES (1, 0, 1, 'Artistique', 'Artistique', 0, 10, 1, NULL),
102                         (2, 0, 2, 'Respect du sujet', 'Sujet en rapport avec le theme', 0, 1, 1, 1),
103                         (3, 0, 3, 'Sujet bien identifié', 'Sans ambiguite', 0, 2, 1, 1),
104                         (4, 0, 4, 'Traitement du sujet', 'Expression/Attitude/mouvement', 0, 2, 1, 1),
105                         (5, 0, 5, 'Mise en valeur du sujet', 'Cadrage/Harmonie de la composition/Esthetique de l\'image/Choix de l\'eclairage', 0, 5, 1, 1),
106
107                         (6, 0, 6, 'Technique', 'Technique', 0, 6, 1, NULL),
108                         (7, 0, 7, 'Nettete de l\'image', 'Etagement des plans/Pique de l\'image', 0, 3, 1, 6),
109                         (8, 0, 8, 'Rendu des couleurs (ou gris)', 'Teintes/Staurations', 0, 1, 1, 6),
110                         (9, 0, 9, 'Exposition', 'Equilibre hautes/basses lumieres', 0, 2, 1, 6),
111
112                         (10, 0, 10, 'Coup de coeur', 'coup de coeur', 0, 4, 1, NULL),
113                         (11, 0, 11, 'Emotion spontanee', 'emotion spontanee', 0, 2, 1, 10),
114                         (12, 0, 12, 'Adhesion au choix artistique', 'Adhesion au choix artistique', 0, 2, 1, 10);";
115                         
116    pwg_query($q);
117
118    $q = '
119    INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
120    VALUES ("concoursphoto","","Configuration Concours Photo")
121    ;';
122
123    pwg_query($q);
124   
125   
126/*     
127        // TEST INSERTION INTO DB (Goupe test =1)
128    $q = "INSERT INTO `" . $prefixeTable . "concours`
129                                ( `id`,
130                                `create_date`,
131                                `name`,
132                                `descr`,
133                                `begin_date`,
134                                `end_date`,
135                                `category`,
136                                `groups`)
137                        VALUES (1, now(), 'Test', 'Test Concours', now(), '2019-09-02 18:08:00', 2, 1);";
138    pwg_query($q);
139       
140    $q = "INSERT INTO `" . $prefixeTable . "concours_data`
141                                (`id` ,
142                                `id_concours` ,
143                                `user_id` ,
144                                `create_date` ,
145                                `img_id` ,
146                                `datas` )
147                        VALUES (1, 1, 3, now(), 54, \"2=1;3=1;4=2;5=3;7=1;8=0;9=0,5;11=1,5;12=2\");";
148    pwg_query($q);
149    $q = "INSERT INTO `" . $prefixeTable . "concours_detail`
150                                (`id`,
151                                `id_concours` ,
152                                `criteria_id` ,
153                                `name`,
154                                `descr`,
155                                `min_value`,
156                                `max_value`,
157                                `ponderation` ,
158                                `uppercriteria`)
159                        VALUES (13, 1, 1, 'Artistique', 'Artistique', 0, 10, 1, NULL),
160                         (14, 1, 2, 'Respect du sujet', 'Sujet en rapport avec le theme', 0, 1, 1, 1),
161                         (15, 1, 3, 'Sujet bien identifié', 'Sans ambiguite', 0, 2, 1, 1),
162                         (16, 1, 4, 'Traitement du sujet', 'Expression/Attitude/mouvement', 0, 2, 1, 1),
163                         (17, 1, 5, 'Mise en valeur du sujet', 'Cadrage/Harmonie de la composition/Esthetique de l\'image/Choix de l\'eclairage', 0, 5, 1, 1),
164
165                         (18, 1, 6, 'Technique', 'Technique', 0, 6, 1, NULL),
166                         (19, 1, 7, 'Nettete de l\'image', 'Etagement des plans/Pique de l\'image', 0, 3, 1, 6),
167                         (20, 1, 8, 'Rendu des couleurs (ou gris)', 'Teintes/Staurations', 0, 1, 1, 6),
168                         (21, 1, 9, 'Exposition', 'Equilibre hautes/basses lumieres', 0, 2, 1, 6),
169
170                         (22, 1, 10, 'Coup de coeur', 'coup de coeur', 0, 4, 1, NULL),
171                         (23, 1, 11, 'Emotion spontanee', 'emotion spontanee', 0, 2, 1, 10),
172                         (24, 1, 12, 'Adhesion au choix artistique', 'Adhesion au choix artistique', 0, 2, 1, 10);";
173                         
174    pwg_query($q);
175        // END TEST INSERTION
176*/
177       
178        }
179
180}
181
182function plugin_activate()
183{
184  global $prefixeTable;
185
186}
187
188function plugin_uninstall()
189{
190    global $prefixeTable;
191
192        $q = 'DROP TABLE ' . $prefixeTable . 'concours,
193        ' . $prefixeTable . 'concours_detail,
194        ' . $prefixeTable . 'concours_data,
195        ' . $prefixeTable . 'concours_result    ;';
196    pwg_query($q);
197
198    $q = '
199      DELETE FROM '.CONFIG_TABLE.'
200      WHERE param="concoursphoto" LIMIT 1
201    ;';
202    pwg_query($q);
203
204}
205
206
207?>
Note: See TracBrowser for help on using the repository browser.