Changeset 17716


Ignore:
Timestamp:
09/03/12 15:06:50 (7 years ago)
Author:
mistic100
Message:

consolidate upgrade process

Location:
extensions/SmartAlbums
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/SmartAlbums/main.inc.php

    r17207 r17716  
    1212global $prefixeTable; 
    1313 
    14 define('SMART_PATH', PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/'); 
     14define('SMART_PATH',    PHPWG_PLUGINS_PATH . 'SmartAlbums/'); 
    1515define('CATEGORY_FILTERS_TABLE', $prefixeTable . 'category_filters'); 
    16 define('SMART_ADMIN', get_root_url() . 'admin.php?page=plugin-' . basename(dirname(__FILE__))); 
     16define('SMART_ADMIN',   get_root_url() . 'admin.php?page=plugin-SmartAlbums'); 
     17define('SMART_VERSION', '2.0.3'); 
     18 
    1719 
    1820add_event_handler('invalidate_user_cache', 'smart_make_all_associations'); 
    1921add_event_handler('init', 'smart_init'); 
    2022 
     23if (defined('IN_ADMIN')) 
     24{ 
     25  include_once(SMART_PATH.'include/cat_list.php'); 
     26  add_event_handler('loc_begin_cat_list', 'smart_cat_list'); 
     27  add_event_handler('tabsheet_before_select','smart_tab', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);  
     28  add_event_handler('get_admin_plugin_menu_links', 'smart_admin_menu'); 
     29  add_event_handler('delete_categories', 'smart_delete_categories'); 
     30} 
     31 
    2132include_once(SMART_PATH.'include/functions.inc.php'); 
    2233 
     34 
     35/** 
     36 * update plugin & unserialize conf & load language 
     37 */ 
    2338function smart_init() 
    2439{ 
    25   global $conf; 
     40  global $conf, $pwg_loaded_plugins; 
    2641   
    27   load_language('plugin.lang', SMART_PATH); 
     42  if ( 
     43    $pwg_loaded_plugins['SmartAlbums']['version'] == 'auto' or 
     44    version_compare($pwg_loaded_plugins['SmartAlbums']['version'], SMART_VERSION, '<') 
     45  ) 
     46  { 
     47    include_once(SMART_PATH . 'include/install.inc.php'); 
     48    smart_albums_install(); 
     49     
     50    if ($pwg_loaded_plugins['SmartAlbums']['version'] != 'auto') 
     51    { 
     52      $query = ' 
     53UPDATE '. PLUGINS_TABLE .' 
     54SET version = "'. SMART_VERSION .'" 
     55WHERE id = "SmartAlbums"'; 
     56      pwg_query($query); 
     57       
     58      $pwg_loaded_plugins['SmartAlbums']['version'] = SMART_VERSION; 
     59       
     60      if (defined('IN_ADMIN')) 
     61      { 
     62        $_SESSION['page_infos'][] = 'Smart Albums updated to version '. SMART_VERSION; 
     63      } 
     64    } 
     65  } 
     66   
     67  if (defined('IN_ADMIN')) 
     68  { 
     69    load_language('plugin.lang', SMART_PATH); 
     70  } 
    2871  $conf['SmartAlbums'] = unserialize($conf['SmartAlbums']); 
    2972   
     
    3376    include_once(SMART_PATH.'include/page_items.php'); 
    3477  } 
    35   else if (script_basename() == 'admin') 
    36   { 
    37     include_once(SMART_PATH.'include/cat_list.php'); 
    38      
    39     add_event_handler('loc_begin_cat_list', 'smart_cat_list'); 
    40     add_event_handler('tabsheet_before_select','smart_tab', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);  
    41     add_event_handler('get_admin_plugin_menu_links', 'smart_admin_menu'); 
    42     add_event_handler('delete_categories', 'smart_delete_categories'); 
    43   } 
    4478} 
    4579 
     80/** 
     81 * new tab on album properties page 
     82 */ 
    4683function smart_tab($sheets, $id) 
    4784{ 
     
    6198} 
    6299 
     100 
     101/** 
     102 * admin plugins menu link 
     103 */ 
    63104function smart_admin_menu($menu)  
    64105{ 
  • extensions/SmartAlbums/maintain.inc.php

    r16939 r17716  
    22if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    33 
    4 global $prefixeTable; 
    5 define('smart_table', $prefixeTable . 'category_filters'); 
    6  
    7 define('smart_default_config', serialize(array( 
    8     'update_on_upload' => false, 
    9     'show_list_messages' => true, 
    10     'smart_is_forbidden' => true, 
    11     ))); 
     4include_once(PHPWG_PLUGINS_PATH . 'SmartAlbums/include/install.inc.php'); 
    125 
    136function plugin_install()  
    147{ 
    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); 
     8  smart_albums_install(); 
     9  define('smart_albums_installed', true); 
    3010} 
    3111 
    3212function plugin_activate() 
    3313{  
    34   global $conf; 
    35    
    36   if (!isset($conf['SmartAlbums'])) 
     14  if (!defined('smart_albums_installed')) 
    3715  { 
    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.'";'); 
     16    smart_albums_install(); 
    6317  } 
    6418} 
    6519 
    6620function plugin_uninstall()  
    67  
    68   pwg_query('DROP TABLE `' . smart_table . '`;'); 
     21{ 
     22  global $prefixeTable; 
     23   
     24  pwg_query('DROP TABLE `' . $prefixeTable . 'category_filters`;'); 
    6925  pwg_query('ALTER TABLE `' . IMAGE_CATEGORY_TABLE . '` DROP `smart`;'); 
    7026  pwg_query('DELETE FROM `' . CONFIG_TABLE . '` WHERE param = \'SmartAlbums\' LIMIT 1;'); 
Note: See TracChangeset for help on using the changeset viewer.