1 | <?php |
---|
2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
3 | |
---|
4 | include_once(PHPWG_PLUGINS_PATH.'Back2Front/functions.inc.php'); |
---|
5 | |
---|
6 | function plugin_install() |
---|
7 | { |
---|
8 | global $prefixeTable; |
---|
9 | |
---|
10 | /* create table for recto/verso pairs | stores original verso categories */ |
---|
11 | pwg_query("CREATE TABLE IF NOT EXISTS `" . $prefixeTable . "image_verso` ( |
---|
12 | `image_id` mediumint(8) unsigned NOT NULL DEFAULT '0', |
---|
13 | `verso_id` mediumint(8) unsigned NOT NULL DEFAULT '0', |
---|
14 | `categories` varchar(128) NULL, |
---|
15 | PRIMARY KEY (`image_id`), |
---|
16 | UNIQUE KEY (`verso_id`) |
---|
17 | ) DEFAULT CHARSET=utf8;"); |
---|
18 | |
---|
19 | /* create a virtual category to store versos */ |
---|
20 | $versos_cat = create_virtual_category('Back2Front private album'); |
---|
21 | $versos_cat = array( |
---|
22 | 'id' => $versos_cat['id'], |
---|
23 | 'comment' => 'Used by Back2Front to store backsides.', |
---|
24 | 'status' => 'private', |
---|
25 | 'visible' => 'false', |
---|
26 | 'commentable' => 'false', |
---|
27 | ); |
---|
28 | mass_updates( |
---|
29 | CATEGORIES_TABLE, |
---|
30 | array( |
---|
31 | 'primary' => array('id'), |
---|
32 | 'update' => array_diff(array_keys($versos_cat), array('id')) |
---|
33 | ), |
---|
34 | array($versos_cat) |
---|
35 | ); |
---|
36 | |
---|
37 | /* config parameter */ |
---|
38 | pwg_query("INSERT INTO `" . CONFIG_TABLE . "` |
---|
39 | VALUES ('back2front', '".$versos_cat['id'].",click,none,top,".serialize(array('default'=>null)).",1', 'Configuration for Back2Front plugin');"); |
---|
40 | } |
---|
41 | |
---|
42 | function plugin_activate() |
---|
43 | { |
---|
44 | global $conf; |
---|
45 | |
---|
46 | |
---|
47 | $conf['back2front'] = explode(',', $conf['back2front']); |
---|
48 | |
---|
49 | if (!isset($conf['back2front'][3])) |
---|
50 | { |
---|
51 | $conf['back2front'][3] = 'top'; |
---|
52 | $conf['back2front'][4] = serialize(array('default'=>null)); |
---|
53 | } |
---|
54 | if (!isset($conf['back2front'][5])) |
---|
55 | { |
---|
56 | $conf['back2front'][5] = true; |
---|
57 | } |
---|
58 | |
---|
59 | conf_update_param('back2front', implode (',', $conf['back2front'])); |
---|
60 | } |
---|
61 | |
---|
62 | |
---|
63 | function plugin_uninstall() { |
---|
64 | global $conf, $prefixeTable; |
---|
65 | |
---|
66 | $conf['back2front'] = explode(',',$conf['back2front']); |
---|
67 | |
---|
68 | /* versos must be restored to their original categories |
---|
69 | criterias : |
---|
70 | - verso 'versos' cat only => restore verso to original categories |
---|
71 | - otherwise nothing is changed |
---|
72 | */ |
---|
73 | |
---|
74 | $query = "SELECT * FROM `" . $prefixeTable . "image_verso`;"; |
---|
75 | $images_versos = pwg_query($query); |
---|
76 | |
---|
77 | while ($item = pwg_db_fetch_assoc($images_versos)) |
---|
78 | { |
---|
79 | back2front_restaure_categories($item); |
---|
80 | } |
---|
81 | |
---|
82 | pwg_query("DROP TABLE `" . $prefixeTable . "image_verso`;"); |
---|
83 | pwg_query("DELETE FROM `" . CONFIG_TABLE . "` WHERE param = 'back2front';"); |
---|
84 | pwg_query("DELETE FROM `" . CATEGORIES_TABLE ."`WHERE id = ".$conf['back2front'][0].";"); |
---|
85 | |
---|
86 | /* rebuild categories cache */ |
---|
87 | include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); |
---|
88 | invalidate_user_cache(true); |
---|
89 | } |
---|
90 | ?> |
---|