⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.php

📁 在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布XOOPS 2.09中文版 XOOPS 2.09x 版主要是PHP5升级、bug修正和安全补正: 1 全面兼容PHP 5.
💻 PHP
📖 第 1 页 / 共 2 页
字号:
	}	if ($op == 'showmod') {		$config_handler =& xoops_gethandler('config');		$mod = isset($_GET['mod']) ? intval($_GET['mod']) : 0;		if (empty($mod)) {			header('Location: admin.php?fct=preferences');			exit();		}		$config =& $config_handler->getConfigs(new Criteria('conf_modid', $mod));		$count = count($config);		if ($count < 1) {			redirect_header('admin.php?fct=preferences', 1);		}		include_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php';		$form = new XoopsThemeForm(_MD_AM_MODCONFIG, 'pref_form', 'admin.php?fct=preferences');		$module_handler =& xoops_gethandler('module');		$module =& $module_handler->get($mod);		if (file_exists(XOOPS_ROOT_PATH.'/modules/'.$module->getVar('dirname').'/language/'.$xoopsConfig['language'].'/modinfo.php')) {			include_once XOOPS_ROOT_PATH.'/modules/'.$module->getVar('dirname').'/language/'.$xoopsConfig['language'].'/modinfo.php';		}		// if has comments feature, need comment lang file		if ($module->getVar('hascomments') == 1) {			include_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/comment.php';		}		// RMV-NOTIFY		// if has notification feature, need notification lang file		if ($module->getVar('hasnotification') == 1) {			include_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/notification.php';		}		$modname = $module->getVar('name');		if ($module->getInfo('adminindex')) {			$form->addElement(new XoopsFormHidden('redirect', XOOPS_URL.'/modules/'.$module->getVar('dirname').'/'.$module->getInfo('adminindex')));		}		for ($i = 0; $i < $count; $i++) {			$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')).'<br /><br /><span style="font-weight:normal;">'.constant($config[$i]->getVar('conf_desc')).'</span>';			switch ($config[$i]->getVar('conf_formtype')) {			case 'textarea':				$myts =& MyTextSanitizer::getInstance();				if ($config[$i]->getVar('conf_valuetype') == 'array') {					// this is exceptional.. only when value type is arrayneed a smarter way for this					$ele = ($config[$i]->getVar('conf_value') != '') ? new XoopsFormTextArea($title, $config[$i]->getVar('conf_name'), $myts->htmlspecialchars(implode('|', $config[$i]->getConfValueForOutput())), 5, 50) : new XoopsFormTextArea($title, $config[$i]->getVar('conf_name'), '', 5, 50);				} else {					$ele = new XoopsFormTextArea($title, $config[$i]->getVar('conf_name'), $myts->htmlspecialchars($config[$i]->getConfValueForOutput()), 5, 50);				}				break;			case 'select':				$ele = new XoopsFormSelect($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput());				$options =& $config_handler->getConfigOptions(new Criteria('conf_id', $config[$i]->getVar('conf_id')));				$opcount = count($options);				for ($j = 0; $j < $opcount; $j++) {					$optval = defined($options[$j]->getVar('confop_value')) ? constant($options[$j]->getVar('confop_value')) : $options[$j]->getVar('confop_value');					$optkey = defined($options[$j]->getVar('confop_name')) ? constant($options[$j]->getVar('confop_name')) : $options[$j]->getVar('confop_name');					$ele->addOption($optval, $optkey);				}				break;			case 'select_multi':				$ele = new XoopsFormSelect($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput(), 5, true);				$options =& $config_handler->getConfigOptions(new Criteria('conf_id', $config[$i]->getVar('conf_id')));				$opcount = count($options);				for ($j = 0; $j < $opcount; $j++) {					$optval = defined($options[$j]->getVar('confop_value')) ? constant($options[$j]->getVar('confop_value')) : $options[$j]->getVar('confop_value');					$optkey = defined($options[$j]->getVar('confop_name')) ? constant($options[$j]->getVar('confop_name')) : $options[$j]->getVar('confop_name');					$ele->addOption($optval, $optkey);				}				break;			case 'yesno':				$ele = new XoopsFormRadioYN($title, $config[$i]->getVar('conf_name'), $config[$i]->getConfValueForOutput(), _YES, _NO);				break;			case 'group':				include_once XOOPS_ROOT_PATH.'/class/xoopslists.php';				$ele = new XoopsFormSelectGroup($title, $config[$i]->getVar('conf_name'), false, $config[$i]->getConfValueForOutput(), 1, false);				break;			case 'group_multi':				include_once XOOPS_ROOT_PATH.'/class/xoopslists.php';				$ele = new XoopsFormSelectGroup($title, $config[$i]->getVar('conf_name'), false, $config[$i]->getConfValueForOutput(), 5, true);				break;			// RMV-NOTIFY: added 'user' and 'user_multi'			case 'user':				include_once XOOPS_ROOT_PATH.'/class/xoopslists.php';				$ele = new XoopsFormSelectUser($title, $config[$i]->getVar('conf_name'), false, $config[$i]->getConfValueForOutput(), 1, false);				break;			case 'user_multi':				include_once XOOPS_ROOT_PATH.'/class/xoopslists.php';				$ele = new XoopsFormSelectUser($title, $config[$i]->getVar('conf_name'), false, $config[$i]->getConfValueForOutput(), 5, true);				break;			case 'password':				$myts =& MyTextSanitizer::getInstance();				$ele = new XoopsFormPassword($title, $config[$i]->getVar('conf_name'), 50, 255, $myts->htmlspecialchars($config[$i]->getConfValueForOutput()));				break;			case 'textbox':			default:				$myts =& MyTextSanitizer::getInstance();				$ele = new XoopsFormText($title, $config[$i]->getVar('conf_name'), 50, 255, $myts->htmlspecialchars($config[$i]->getConfValueForOutput()));				break;			}			$hidden = new XoopsFormHidden('conf_ids[]', $config[$i]->getVar('conf_id'));			$form->addElement($ele);			$form->addElement($hidden);			unset($ele);			unset($hidden);		}		$form->addElement(new XoopsFormHidden('op', 'save'));		$form->addElement(new XoopsFormButton('', 'button', _GO, 'submit'));		xoops_cp_header();		$form->display();		xoops_cp_footer();		exit();	}	if ($op == 'save') {		require_once(XOOPS_ROOT_PATH.'/class/template.php');		$xoopsTpl = new XoopsTpl();		$xoopsTpl->clear_all_cache();		// regenerate admin menu file		xoops_module_write_admin_menu(xoops_module_get_admin_menu());		$count = count($conf_ids);		$tpl_updated = false;		$theme_updated = false;		$startmod_updated = false;		$lang_updated = false;		if ($count > 0) {			for ($i = 0; $i < $count; $i++) {				$config =& $config_handler->getConfig($conf_ids[$i]);				$new_value =& ${$config->getVar('conf_name')};				if (is_array($new_value) || $new_value != $config->getVar('conf_value')) {					// if language has been changed					if (!$lang_updated && $config->getVar('conf_catid') == XOOPS_CONF && $config->getVar('conf_name') == 'language') {						// regenerate admin menu file						$xoopsConfig['language'] = ${$config->getVar('conf_name')};						xoops_module_write_admin_menu(xoops_module_get_admin_menu());						$lang_updated = true;					}					// if default theme has been changed					if (!$theme_updated && $config->getVar('conf_catid') == XOOPS_CONF && $config->getVar('conf_name') == 'theme_set') {						$member_handler =& xoops_gethandler('member');						$member_handler->updateUsersByField('theme', ${$config->getVar('conf_name')});						$theme_updated = true;					}					// if default template set has been changed					if (!$tpl_updated && $config->getVar('conf_catid') == XOOPS_CONF && $config->getVar('conf_name') == 'template_set') {						// clear cached/compiled files and regenerate them if default theme has been changed						if ($xoopsConfig['template_set'] != ${$config->getVar('conf_name')}) {							$newtplset = ${$config->getVar('conf_name')};														// clear all compiled and cachedfiles							$xoopsTpl->clear_compiled_tpl();							// generate compiled files for the new theme							// block files only for now..							$tplfile_handler =& xoops_gethandler('tplfile');							$dtemplates =& $tplfile_handler->find('default', 'block');							$dcount = count($dtemplates);							// need to do this to pass to xoops_template_touch function							$GLOBALS['xoopsConfig']['template_set'] = $newtplset;							for ($i = 0; $i < $dcount; $i++) {								$found =& $tplfile_handler->find($newtplset, 'block', $dtemplates[$i]->getVar('tpl_refid'), null);								if (count($found) > 0) {									// template for the new theme found, compile it									xoops_template_touch($found[0]->getVar('tpl_id'));								} else {									// not found, so compile 'default' template file									xoops_template_touch($dtemplates[$i]->getVar('tpl_id'));								}							}							// generate image cache files from image binary data, save them under cache/							$image_handler =& xoops_gethandler('imagesetimg');							$imagefiles =& $image_handler->getObjects(new Criteria('tplset_name', $newtplset), true);							foreach (array_keys($imagefiles) as $i) {								if (!$fp = fopen(XOOPS_CACHE_PATH.'/'.$newtplset.'_'.$imagefiles[$i]->getVar('imgsetimg_file'), 'wb')) {								} else {									fwrite($fp, $imagefiles[$i]->getVar('imgsetimg_body'));									fclose($fp);								}							}						}						$tpl_updated = true;					}					// add read permission for the start module to all groups					if (!$startmod_updated  && $new_value != '--' && $config->getVar('conf_catid') == XOOPS_CONF && $config->getVar('conf_name') == 'startpage') {						$member_handler =& xoops_gethandler('member');						$groups =& $member_handler->getGroupList();						$moduleperm_handler =& xoops_gethandler('groupperm');						$module_handler =& xoops_gethandler('module');						$module =& $module_handler->getByDirname($new_value);						foreach ($groups as $groupid => $groupname) {							if (!$moduleperm_handler->checkRight('module_read', $module->getVar('mid'), $groupid)) {								$moduleperm_handler->addRight('module_read', $module->getVar('mid'), $groupid);							}						}						$startmod_updated = true;					}					$config->setConfValueForInput($new_value);					$config_handler->insertConfig($config);				}				unset($new_value);			}		}		if (!empty($use_mysession) && $xoopsConfig['use_mysession'] == 0 && $session_name != '') {				setcookie($session_name, session_id(), time()+(60*intval($session_expire)), '/',  '', 0);		}		if (isset($redirect) && $redirect != '') {			redirect_header($redirect, 2, _MD_AM_DBUPDATED);		} else {			redirect_header("admin.php?fct=preferences",2,_MD_AM_DBUPDATED);		}	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -