1 | <?php |
---|
2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
3 | |
---|
4 | // Configuration par défaut |
---|
5 | define('default_config' , serialize(array( |
---|
6 | 'menubar_mode' => array( |
---|
7 | 'link' => 0, |
---|
8 | 'block' => 1 |
---|
9 | ), |
---|
10 | 'menubar_link' => array( |
---|
11 | 'menu' => 1, |
---|
12 | 'specials' => 0 |
---|
13 | ), |
---|
14 | 'menubar_block' => array( |
---|
15 | 'number' => 5 |
---|
16 | ) |
---|
17 | ))); |
---|
18 | |
---|
19 | // Installtion |
---|
20 | function plugin_install() { |
---|
21 | global $prefixeTable; |
---|
22 | |
---|
23 | pwg_query("CREATE TABLE `" . $prefixeTable . "contests` ( |
---|
24 | `id` INT NOT NULL AUTO_INCREMENT , |
---|
25 | `name` VARCHAR( 255 ) NOT NULL , |
---|
26 | `date_begin` DATE NOT NULL , |
---|
27 | `date_end` DATE NOT NULL , |
---|
28 | `status` VARCHAR( 255 ) NOT NULL , |
---|
29 | `visible` TINYINT(1) NOT NULL , |
---|
30 | `logo` VARCHAR( 255 ) NULL , |
---|
31 | `banner` VARCHAR( 255 ) NULL , |
---|
32 | `summary` TEXT NULL , |
---|
33 | `presentation` TEXT NULL , |
---|
34 | `rules` TEXT NULL , |
---|
35 | `prices` TEXT NULL , |
---|
36 | `final` TEXT NULL , |
---|
37 | PRIMARY KEY ( `id` ) |
---|
38 | );"); |
---|
39 | |
---|
40 | pwg_query("CREATE TABLE `" . $prefixeTable . "contests_results` ( |
---|
41 | `image_id` INT NOT NULL , |
---|
42 | `contest_id` INT NOT NULL , |
---|
43 | `rank` INT NOT NULL , |
---|
44 | `author` VARCHAR( 255 ) NOT NULL , |
---|
45 | `comment` TEXT NULL, |
---|
46 | UNIQUE ( `image_id` , `contest_id` ) |
---|
47 | );"); |
---|
48 | |
---|
49 | pwg_query("INSERT INTO " . CONFIG_TABLE . "(param,value,comment) VALUES('ContestResults', '" . default_config . "', 'Parametres du plugin ContestResults');"); |
---|
50 | } |
---|
51 | |
---|
52 | // Activation |
---|
53 | function plugin_activate(){ |
---|
54 | global $conf, $prefixeTable; |
---|
55 | |
---|
56 | // compatibilité avec les versions < 1.1 (ajout d'une entrée de configuration) |
---|
57 | if (!isset($conf['ContestResults'])) { |
---|
58 | pwg_query("INSERT INTO " . CONFIG_TABLE . "(param,value,comment) VALUES('ContestResults', '" . default_config . "', 'Parametres du plugin ContestResults');"); |
---|
59 | } |
---|
60 | |
---|
61 | // compatibilité avec les versions < 1.2 (suppression option d'affichage) |
---|
62 | $field = pwg_query("SHOW COLUMNS FROM `" . $prefixeTable . "contests` LIKE 'presentation_display'"); |
---|
63 | if (pwg_db_num_rows($field)) { |
---|
64 | pwg_query("ALTER TABLE `" . $prefixeTable . "contests` DROP `presentation_display`"); |
---|
65 | pwg_query("ALTER TABLE `" . $prefixeTable . "contests` DROP `rules_display`"); |
---|
66 | pwg_query("ALTER TABLE `" . $prefixeTable . "contests` DROP `prices_display`"); |
---|
67 | pwg_query("ALTER TABLE `" . $prefixeTable . "contests` DROP `final_display`"); |
---|
68 | } |
---|
69 | } |
---|
70 | |
---|
71 | // Désinstallation |
---|
72 | function plugin_uninstall() { |
---|
73 | global $prefixeTable; |
---|
74 | |
---|
75 | pwg_query("DROP TABLE `" . $prefixeTable . "contests`;"); |
---|
76 | pwg_query("DROP TABLE `" . $prefixeTable . "contests_results`;"); |
---|
77 | pwg_query("DELETE FROM " . CONFIG_TABLE . " WHERE `param` = 'ContestResults';"); |
---|
78 | } |
---|
79 | ?> |
---|