source: extensions/SmartAlbums/maintain.inc.php @ 16939

Last change on this file since 16939 was 16939, checked in by mistic100, 12 years ago

add option to block permissions recalculation

File size: 1.9 KB
Line 
1<?php
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4global $prefixeTable;
5define('smart_table', $prefixeTable . 'category_filters');
6
7define('smart_default_config', serialize(array(
8    'update_on_upload' => false,
9    'show_list_messages' => true,
10    'smart_is_forbidden' => true,
11    )));
12
13function plugin_install() 
14{
15  /* create table to store filters */
16        pwg_query(
17'CREATE TABLE IF NOT EXISTS `' . smart_table . '` (
18  `category_id` smallint(5) unsigned NOT NULL,
19  `type` varchar(16) NOT NULL,
20  `cond` varchar(16) NULL,
21  `value` text
22) ENGINE=MyISAM DEFAULT CHARSET=utf8
23;');
24 
25  /* add a collumn to image_category_table */
26  pwg_query('ALTER TABLE `' . IMAGE_CATEGORY_TABLE . '` ADD `smart` ENUM(\'true\', \'false\') NOT NULL DEFAULT \'false\';');
27     
28  /* config parameter */
29  conf_update_param('SmartAlbums', smart_default_config);
30}
31
32function plugin_activate()
33{ 
34  global $conf;
35 
36  if (!isset($conf['SmartAlbums']))
37  {
38    conf_update_param('SmartAlbums', smart_default_config);
39  }
40  else
41  {
42    $new_conf = unserialize($conf['SmartAlbums']);
43    // new param in 2.0.2
44    if (!isset($new_conf['smart_is_forbidden']))
45    {
46      $new_conf['smart_is_forbidden'] = true;
47      conf_update_param('SmartAlbums', smart_default_config);
48    }
49  }
50 
51  // some filters renamed in 2.0
52  $name_changes = array(
53    'the' => 'the_post',
54    'before' => 'before_post',
55    'after' => 'after_post',
56    'the_crea' => 'the_taken',
57    'before_crea' => 'before_taken',
58    'after_crea' => 'after_taken',
59    );
60  foreach ($name_changes as $old => $new)
61  {
62    pwg_query('UPDATE ' . smart_table . ' SET cond = "'.$new.'" WHERE cond = "'.$old.'";');
63  }
64}
65
66function plugin_uninstall() 
67{ 
68  pwg_query('DROP TABLE `' . smart_table . '`;');
69  pwg_query('ALTER TABLE `' . IMAGE_CATEGORY_TABLE . '` DROP `smart`;');
70  pwg_query('DELETE FROM `' . CONFIG_TABLE . '` WHERE param = \'SmartAlbums\' LIMIT 1;');
71}
72
73?>
Note: See TracBrowser for help on using the repository browser.