Exemplo n.º 1
0
            $file = DISCUZ_ROOT . './source/plugin/' . $dir . '/discuz_plugin_' . $dir . ($modules['extra']['installtype'] ? '_' . $modules['extra']['installtype'] : '') . '.xml';
            if (file_exists($file)) {
                $importtxt = @implode('', file($file));
                $pluginarray = getimportdata('Discuz! Plugin');
                if (!empty($pluginarray['uninstallfile']) && preg_match('/^[\\w\\.]+$/', $pluginarray['uninstallfile'])) {
                    dheader('location: ' . ADMINSCRIPT . '?action=plugins&operation=pluginuninstall&dir=' . $dir . '&installtype=' . $modules['extra']['installtype']);
                }
            }
        }
        loadcache('pluginlanguage_install', 1);
        if (isset($_G['cache']['pluginlanguage_install'][$identifier])) {
            unset($_G['cache']['pluginlanguage_install'][$identifier]);
            save_syscache('pluginlanguage_install', $_G['cache']['pluginlanguage_install']);
        }
        require_once libfile('function/cloudaddons');
        cloudaddons_uninstall($dir . '.plugin', DISCUZ_ROOT . './source/plugin/' . $dir);
        cpmsg('plugins_delete_succeed', "action=plugins", 'succeed');
    }
} elseif ($operation == 'vars') {
    $pluginvarid = $_G['gp_pluginvarid'];
    $pluginvar = DB::fetch_first("SELECT * FROM " . DB::table('common_plugin') . " p, " . DB::table('common_pluginvar') . " pv WHERE p.pluginid='{$pluginid}' AND pv.pluginid=p.pluginid AND pv.pluginvarid='{$pluginvarid}'");
    if (!$pluginvar) {
        cpmsg('pluginvar_not_found', '', 'error');
    }
    if (!submitcheck('varsubmit')) {
        shownav('plugin');
        showsubmenu($lang['plugins_edit'] . ' - ' . $pluginvar['name'], array(array('plugins_list', 'plugins', 0), array('config', 'plugins&operation=edit&pluginid=' . $pluginid . '&anchor=config', 0), array('plugins_config_module', 'plugins&operation=edit&pluginid=' . $pluginid . '&anchor=modules', 0), array('plugins_config_vars', 'plugins&operation=edit&pluginid=' . $pluginid . '&anchor=vars', 1), array('export', 'plugins&operation=export&pluginid=' . $pluginid, 0)));
        $typeselect = '<select name="typenew" onchange="if(this.value.indexOf(\'select\') != -1) $(\'extra\').style.display=\'\'; else $(\'extra\').style.display=\'none\';">';
        foreach (array('number', 'text', 'radio', 'textarea', 'select', 'selects', 'color', 'date', 'datetime', 'forum', 'forums', 'group', 'groups', 'extcredit', 'forum_text', 'forum_textarea', 'forum_radio', 'forum_select', 'group_text', 'group_textarea', 'group_radio', 'group_select') as $type) {
            $typeselect .= '<option value="' . $type . '" ' . ($pluginvar['type'] == $type ? 'selected' : '') . '>' . $lang['plugins_edit_vars_type_' . $type] . '</option>';
        }
Exemplo n.º 2
0
         $tplids = array();
         while ($style = DB::fetch($query)) {
             $tplids[$style['templateid']] = $style['templateid'];
         }
         DB::query("DELETE FROM " . DB::table('common_style') . " WHERE styleid IN ({$ids})");
         DB::query("DELETE FROM " . DB::table('common_stylevar') . " WHERE styleid IN ({$ids})");
         DB::query("UPDATE " . DB::table('forum_forum') . " SET styleid='0' WHERE styleid IN ({$ids})");
         $query = DB::query("SELECT templateid FROM " . DB::table('common_style') . "");
         while ($style = DB::fetch($query)) {
             unset($tplids[$style['templateid']]);
         }
         if ($tplids) {
             require_once libfile('function/cloudaddons');
             $query = DB::query("SELECT directory FROM " . DB::table('common_template') . " WHERE templateid IN (" . dimplode($tplids) . ")");
             while ($tpl = DB::fetch($query)) {
                 cloudaddons_uninstall(basename($tpl['directory']) . '.template', $tpl['directory']);
             }
             DB::query("DELETE FROM " . DB::table('common_template') . " WHERE templateid IN (" . dimplode($tplids) . ")");
         }
     }
 }
 if ($_G['gp_newname']) {
     $styleidnew = DB::insert('common_style', array('name' => $_G['gp_newname'], 'templateid' => 1), 1);
     foreach (array_keys($predefinedvars) as $variable) {
         $substitute = isset($predefinedvars[$variable][2]) ? $predefinedvars[$variable][2] : '';
         DB::insert('common_stylevar', array('styleid' => $styleidnew, 'variable' => $_G['gp_variable'], 'substitute' => $substitute));
     }
 }
 updatecache(array('setting', 'styles'));
 loadcache('style_default', true);
 updatecache('updatediytemplate');