/** * Initialize Navigation Manager plugin configuration * * Creates the database entries for the configuation if they don't already * exist. Initial values will be taken from $_MYCALJP2_CONF if available (e.g. from * an old config.php), uses $_MYCALJP2_DEFAULT otherwise. * * @return boolean true: success; false: an error occurred * */ function plugin_initconfig_mycaljp() { global $_GROUPS, $_TABLES, $_MYCALJP2_CONF, $_MYCALJP2_DEFAULT; if (is_array($_MYCALJP2_CONF) && count($_MYCALJP2_CONF) > 1) { $_MYCALJP2_DEFAULT = array_merge($_MYCALJP2_DEFAULT, $_MYCALJP2_CONF); } $c = config::get_instance(); $n = 'mycaljp'; $o = 1; if ($c->group_exists($n)) { return true; } $c->add('sg_main', NULL, 'subgroup', 0, 0, NULL, 0, true, $n); // ---------------------------------- $c->add('fs_main', NULL, 'fieldset', 0, 0, NULL, 0, true, $n); $c->add('headertitleyear', $_MYCALJP2_DEFAULT['headertitleyear'], 'text', 0, 0, 0, $o++, true, $n); $c->add('headertitlemonth', $_MYCALJP2_DEFAULT['headertitlemonth'], 'text', 0, 0, 0, $o++, true, $n); $c->add('titleorder', $_MYCALJP2_DEFAULT['titleorder'], 'select', 0, 0, 13, $o++, true, $n); $c->add('sunday', $_MYCALJP2_DEFAULT['sunday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('monday', $_MYCALJP2_DEFAULT['monday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('tuesday', $_MYCALJP2_DEFAULT['tuesday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('wednesday', $_MYCALJP2_DEFAULT['wednesday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('thursday', $_MYCALJP2_DEFAULT['thursday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('friday', $_MYCALJP2_DEFAULT['friday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('saturday', $_MYCALJP2_DEFAULT['saturday'], 'text', 0, 0, 0, $o++, true, $n); $c->add('showholiday', $_MYCALJP2_DEFAULT['showholiday'], 'select', 0, 0, 1, $o++, true, $n); $c->add('checkjpholiday', $_MYCALJP2_DEFAULT['checkjpholiday'], 'select', 0, 0, 1, $o++, true, $n); $c->add('enablesrblocks', $_MYCALJP2_DEFAULT['enablesrblocks'], 'select', 0, 0, 1, $o++, true, $n); $c->add('showstoriesintro', $_MYCALJP2_DEFAULT['showstoriesintro'], 'select', 0, 0, 1, $o++, true, $n); $c->add('use_theme', $_MYCALJP2_DEFAULT['use_theme'], 'select', 0, 0, 0, $o++, true, $n); $c->add('template', $_MYCALJP2_DEFAULT['template'], 'select', 0, 0, NULL, $o++, true, $n); $c->add('date_format', $_MYCALJP2_DEFAULT['date_format'], 'text', 0, 0, 0, $o++, true, $n); $c->add('supported_contents', $_MYCALJP2_DEFAULT['supported_contents'], '%text', 0, 0, NULL, $o++, true, $n); $c->add('enabled_contents', $_MYCALJP2_DEFAULT['enabled_contents'], '%text', 0, 0, NULL, $o++, true, $n); // ---------------------------------- $c->add('fs_staticpages', NULL, 'fieldset', 0, 1, NULL, 0, true, $n); $c->add('sp_type', $_MYCALJP2_DEFAULT['sp_type'], 'select', 0, 1, 14, $o++, true, $n); $c->add('sp_except', $_MYCALJP2_DEFAULT['sp_except'], 'text', 0, 1, 0, $o++, true, $n); if (function_exists('COM_versionCompare')) { MYCALJP_update_ConfValues_addTabs(); } $new_group_id = MYCALJP_helper_get_new_group_id(); // ---------------------------------- $c->add('tab_mycaljp_block', NULL, 'tab', 0, 2, NULL, 0, true, $n, 2); $c->add('fs_block_settings', NULL, 'fieldset', 0, 2, NULL, 0, true, $n, 2); $c->add('block_enable', $_MYCALJP2_DEFAULT['block_enable'], 'select', 0, 2, 0, $o++, true, $n, 2); $c->add('block_isleft', $_MYCALJP2_DEFAULT['block_isleft'], 'select', 0, 2, 0, $o++, true, $n, 2); $c->add('block_order', $_MYCALJP2_DEFAULT['block_order'], 'text', 0, 2, 0, $o++, true, $n, 2); $c->add('block_topic_option', $_MYCALJP2_DEFAULT['block_topic_option'], 'select', 0, 2, 15, $o++, true, $n, 2); $c->add('block_topic', $_MYCALJP2_DEFAULT['block_topic'], '%select', 0, 2, NULL, $o++, true, $n, 2); // ---------------------------------- $c->add('fs_block_permissions', NULL, 'fieldset', 0, 3, NULL, 0, true, $n, 2); $c->add('block_group_id', $new_group_id, 'select', 0, 3, NULL, $o++, true, $n, 2); $c->add('block_permissions', $_MYCALJP2_DEFAULT['block_permissions'], '@select', 0, 3, 16, $o++, true, $n, 2); return true; }
/** * Upgrade the plugin * * @return boolean true (= success) * */ function MYCALJP_upgrade() { global $_CONF, $_TABLES; $pi_name = 'mycaljp'; $installed_version = DB_getItem($_TABLES['plugins'], 'pi_version', "pi_name = '{$pi_name}'"); $func = "plugin_chkVersion_{$pi_name}"; $code_version = $func(); if ($installed_version == $code_version) { return true; } $func = "plugin_compatible_with_this_version_{$pi_name}"; if (!$func($pi_name)) { return 3002; } if (version_compare($installed_version, '2.1.0') < 0) { require_once $_CONF['path'] . 'plugins/mycaljp/install_defaults.php'; plugin_initconfig_mycaljp(); } if (version_compare($installed_version, '2.1.3') < 0) { require_once $_CONF['path'] . 'plugins/mycaljp/install_defaults.php'; require_once $_CONF['path_system'] . 'classes/config.class.php'; $c = config::get_instance(); $conf_vals = $c->get_config('mycaljp'); $c->del('template', 'mycaljp'); $c->add('template', $_MYCALJP2_DEFAULT['template'], 'select', 0, 0, NULL, 0, true, 'mycaljp'); $c->set('template', $conf_vals['template'], 'mycaljp'); // MYCALJP_updateSortOrder(); } if (version_compare($installed_version, '2.1.4') < 0) { require_once $_CONF['path'] . 'plugins/mycaljp/install_defaults.php'; require_once $_CONF['path_system'] . 'classes/config.class.php'; if (function_exists('COM_versionCompare')) { MYCALJP_update_ConfValues_addTabs(); } // MYCALJP_updateSortOrder(); } if (version_compare($installed_version, '2.2.0') < 0) { // Delete Old Site Calendar Blocks since now dynamic blocks DB_query("DELETE FROM {$_TABLES['blocks']} WHERE phpblockfn = 'phpblock_mycaljp2'"); require_once $_CONF['path'] . 'plugins/mycaljp/install_defaults.php'; require_once $_CONF['path_system'] . 'classes/config.class.php'; MYCALJP_update_ConfValues_2_1_4(); MYCALJP_updateSortOrder(); } $func = "plugin_autoinstall_{$pi_name}"; $inst_parms = $func($pi_name); $pi_gl_version = $inst_parms['info']['pi_gl_version']; // Update the version numbers DB_query("UPDATE {$_TABLES['plugins']} " . "SET pi_version = '{$code_version}', pi_gl_version = '{$pi_gl_version}' " . "WHERE pi_name = '{$pi_name}'"); COM_errorLog(ucfirst($pi_name) . " plugin was successfully updated to version {$code_version}."); return true; }