[10819] | 1 | <?php |
---|
| 2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
| 3 | |
---|
[12648] | 4 | include_once(PHPWG_PLUGINS_PATH.'Back2Front/functions.inc.php'); |
---|
[10852] | 5 | |
---|
[12361] | 6 | function plugin_install() |
---|
| 7 | { |
---|
| 8 | global $prefixeTable; |
---|
[10819] | 9 | |
---|
[12361] | 10 | /* create table for recto/verso pairs | stores original verso categories */ |
---|
| 11 | pwg_query("CREATE TABLE IF NOT EXISTS `" . $prefixeTable . "image_verso` ( |
---|
[10819] | 12 | `image_id` mediumint(8) unsigned NOT NULL DEFAULT '0', |
---|
[10821] | 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`) |
---|
[12361] | 17 | ) DEFAULT CHARSET=utf8;"); |
---|
[10821] | 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 . "` |
---|
[12361] | 39 | VALUES ('back2front', '".$versos_cat['id'].",click,none,top,".serialize(array('default'=>null)).",1', 'Configuration for Back2Front plugin');"); |
---|
[10819] | 40 | } |
---|
| 41 | |
---|
[11219] | 42 | function plugin_activate() |
---|
| 43 | { |
---|
| 44 | global $conf; |
---|
| 45 | |
---|
[12648] | 46 | |
---|
| 47 | $conf['back2front'] = explode(',', $conf['back2front']); |
---|
| 48 | |
---|
| 49 | if (!isset($conf['back2front'][3])) |
---|
[12361] | 50 | { |
---|
[12648] | 51 | $conf['back2front'][3] = 'top'; |
---|
| 52 | $conf['back2front'][4] = serialize(array('default'=>null)); |
---|
| 53 | } |
---|
| 54 | if (!isset($conf['back2front'][5])) |
---|
[12361] | 55 | { |
---|
[12648] | 56 | $conf['back2front'][5] = true; |
---|
[11219] | 57 | } |
---|
[12648] | 58 | |
---|
| 59 | conf_update_param('back2front', implode (',', $conf['back2front'])); |
---|
[11219] | 60 | } |
---|
| 61 | |
---|
| 62 | |
---|
[10821] | 63 | function plugin_uninstall() { |
---|
[12361] | 64 | global $conf, $prefixeTable; |
---|
[10821] | 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 | */ |
---|
[10819] | 73 | |
---|
| 74 | $query = "SELECT * FROM `" . $prefixeTable . "image_verso`;"; |
---|
[10821] | 75 | $images_versos = pwg_query($query); |
---|
| 76 | |
---|
| 77 | while ($item = pwg_db_fetch_assoc($images_versos)) |
---|
[10819] | 78 | { |
---|
[10852] | 79 | back2front_restaure_categories($item); |
---|
[10819] | 80 | } |
---|
[10821] | 81 | |
---|
[10852] | 82 | pwg_query("DROP TABLE `" . $prefixeTable . "image_verso`;"); |
---|
[10821] | 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); |
---|
[10819] | 89 | } |
---|
| 90 | ?> |
---|