コード例 #1
0
/**
* 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;
}
コード例 #2
0
ファイル: autoinstall.php プロジェクト: milk54/geeklog-japan
/**
* 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;
}