[6768] | 1 | <?php |
---|
| 2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
| 3 | |
---|
[9200] | 4 | // Configuration par défaut |
---|
[6770] | 5 | define('default_config' , serialize(array( |
---|
[6768] | 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 | ) |
---|
[6770] | 17 | ))); |
---|
[6768] | 18 | |
---|
[9200] | 19 | // Installtion |
---|
| 20 | function plugin_install() { |
---|
[6768] | 21 | global $prefixeTable; |
---|
| 22 | |
---|
[9200] | 23 | pwg_query("CREATE TABLE `" . $prefixeTable . "contests` ( |
---|
[6768] | 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 , |
---|
[9200] | 36 | `final` TEXT NULL |
---|
[6768] | 37 | PRIMARY KEY ( `id` ) |
---|
[9200] | 38 | );"); |
---|
[6768] | 39 | |
---|
[9200] | 40 | pwg_query("CREATE TABLE `" . $prefixeTable . "contests_results` ( |
---|
[6768] | 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` ) |
---|
[9200] | 47 | );"); |
---|
[6768] | 48 | |
---|
[9200] | 49 | pwg_query("INSERT INTO " . CONFIG_TABLE . "(param,value,comment) VALUES('ContestResults', '" . default_config . "', 'Parametres du plugin ContestResults');"); |
---|
[6768] | 50 | } |
---|
| 51 | |
---|
[9200] | 52 | // Activation |
---|
[6768] | 53 | function plugin_activate(){ |
---|
[9200] | 54 | global $conf, $prefixeTable; |
---|
[6782] | 55 | |
---|
[9200] | 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');"); |
---|
[6768] | 59 | } |
---|
[9200] | 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 | } |
---|
[6768] | 69 | } |
---|
| 70 | |
---|
[9200] | 71 | // Désinstallation |
---|
| 72 | function plugin_uninstall() { |
---|
[6768] | 73 | global $prefixeTable; |
---|
| 74 | |
---|
[9200] | 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';"); |
---|
[6768] | 78 | } |
---|
| 79 | ?> |
---|