Changeset 17658


Ignore:
Timestamp:
Aug 29, 2012, 5:33:08 PM (8 years ago)
Author:
mistic100
Message:

consolidate upgrade process

Location:
extensions/ContactForm
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • extensions/ContactForm/include/functions.inc.php

    r17518 r17658  
    4848    ));
    4949  }
    50 }
    51 
    52 /**
    53  * admin plugins menu link
    54  */
    55 function contact_form_admin_menu($menu)
    56 {
    57   array_push($menu, array(
    58     'URL' => CONTACT_FORM_ADMIN,
    59     'NAME' => 'Contact Form',
    60   ));
    61   return $menu;
    6250}
    6351
  • extensions/ContactForm/main.inc.php

    r17518 r17658  
    1111if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
    1212
    13 define('CONTACT_FORM_PATH',   PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/');
    14 define('CONTACT_FORM_ADMIN',  get_root_url() . 'admin.php?page=plugin-' . basename(dirname(__FILE__)));
     13define('CONTACT_FORM_PATH',   PHPWG_PLUGINS_PATH . 'ContactForm/');
     14define('CONTACT_FORM_ADMIN',  get_root_url() . 'admin.php?page=plugin-ContactForm');
    1515define('CONTACT_FORM_PUBLIC', get_absolute_root_url() . make_index_url(array('section' => 'contact')) . '/');
     16define('CONTACT_FORM_VERSION', '2.4.d');
    1617
    1718
    1819add_event_handler('init', 'contact_form_init');
     20
    1921add_event_handler('loc_end_section_init', 'contact_form_section_init');
    2022add_event_handler('loc_end_index', 'contact_form_page');
    2123add_event_handler('blockmanager_apply', 'contact_form_applymenu', EVENT_HANDLER_PRIORITY_NEUTRAL+10);
     24
    2225if (defined('IN_ADMIN'))
    2326{
     
    2831
    2932
     33/**
     34 * update & unserialize conf & load language & init emails
     35 */
    3036function contact_form_init()
    3137{
    32   global $conf, $template;
     38  global $conf, $template,  $pwg_loaded_plugins;
     39 
     40  if (
     41    $pwg_loaded_plugins['ContactForm']['version'] == 'auto' or
     42    version_compare($pwg_loaded_plugins['ContactForm']['version'], CONTACT_FORM_VERSION, '<')
     43  )
     44  {
     45    include_once(CONTACT_FORM_PATH . 'include/install.inc.php');
     46    contact_form_install();
     47   
     48    if ($pwg_loaded_plugins['ContactForm']['version'] != 'auto')
     49    {
     50      $query = '
     51UPDATE '. PLUGINS_TABLE .'
     52SET version = "'. CONTACT_FORM_VERSION .'"
     53WHERE id = "ContactForm"';
     54      pwg_query($query);
     55     
     56      $pwg_loaded_plugins['ContactForm']['version'] = CONTACT_FORM_VERSION;
     57     
     58      if (defined('IN_ADMIN'))
     59      {
     60        $_SESSION['page_infos'][] = 'ContactForm updated to version '. CONTACT_FORM_VERSION;
     61      }
     62    }
     63  }
     64 
    3365  $conf['ContactForm'] = unserialize($conf['ContactForm']);
    34  
    3566  load_language('plugin.lang', CONTACT_FORM_PATH);
    3667 
     
    4374}
    4475
     76/**
     77 * admin plugins menu link
     78 */
     79function contact_form_admin_menu($menu)
     80{
     81  array_push($menu, array(
     82    'URL' => CONTACT_FORM_ADMIN,
     83    'NAME' => 'Contact Form',
     84  ));
     85  return $menu;
     86}
     87
    4588?>
  • extensions/ContactForm/maintain.inc.php

    r17498 r17658  
    22if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
    33
    4 define('contact_form_default_config',
    5   serialize(array(
    6     'cf_must_initialize' => true,
    7     'cf_menu_link' => true,
    8     'cf_subject_prefix' => '%gallery_title%',
    9     'cf_default_subject' => 'A comment on your site',
    10     'cf_allow_guest' => true,
    11     'cf_mandatory_mail' => true,
    12     'cf_mandatory_name' => true,
    13     'cf_redirect_delay' => 5,
    14     'cf_mail_type' => 'text/html',
    15     'cf_admin_mails' => array(),
    16     ))
    17   );
    18 
     4include_once(PHPWG_PLUGINS_PATH . 'ContactForm/include/install.inc.php');
    195
    206function plugin_install()
    217{
    22   conf_update_param('ContactForm', contact_form_default_config);
    23   conf_update_param('ContactForm_before', null);
    24   conf_update_param('ContactForm_after', null);
     8  contact_form_install();
     9  define('contact_form_installed', true);
    2510}
    2611
    2712function plugin_activate()
    2813{
    29   global $conf;
    30 
    31   if (!isset($conf['ContactForm']))
     14  if (!defined('contact_form_installed'))
    3215  {
    33     plugin_install();
    34   }
    35   else
    36   {
    37     $new_conf = unserialize($conf['ContactForm']);
    38    
    39     // migration 2.4 -> 2.5
    40     if (!isset($new_conf['cf_must_initialize']))
    41     {
    42       $new_conf['cf_must_initialize'] = false;
    43       $new_conf['cf_default_subject'] = 'A comment on your site';
    44       $new_conf['cf_mail_type'] = 'text/html';
    45       unset($new_conf['comment'], $new_conf['cf_redirect_delay']);
    46       unset($new_conf['cf_separator'], $new_conf['cf_separator_length']);
    47      
    48       foreach ($new_conf['cf_admin_mails'] as $email => $data)
    49       {
    50         $new_conf['cf_admin_mails'][] = array(
    51           'email' => $email,
    52           'name' => $data['NAME'],
    53           'active' => $data['ACTIVE'],
    54           );
    55         unset($new_conf['cf_admin_mails'][ $email ]);
    56       }
    57      
    58       conf_update_param('ContactForm', serialize($new_conf));
    59       conf_update_param('ContactForm_before', stripslashes($conf['persoformtop']));
    60       conf_update_param('ContactForm_after', stripslashes($conf['persoformbottom']));
    61      
    62       pwg_query('DELETE FROM `'. CONFIG_TABLE .'` WHERE param IN("persoformtop", "persoformbottom") LIMIT 2;');
    63     }
     16    contact_form_install();
    6417  }
    6518}
Note: See TracChangeset for help on using the changeset viewer.