$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>'; }
$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');