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

📄 main.php

📁 在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布XOOPS 2.09中文版 XOOPS 2.09x 版主要是PHP5升级、bug修正和安全补正: 1 全面兼容PHP 5.
💻 PHP
📖 第 1 页 / 共 5 页
字号:
			}
			header('Content-length: '.strlen($output));
			echo $output;
		}
		break;
	case 'uploadtpl':
		$tpltpl_handler =& xoops_gethandler('tplfile');
		$id = intval($_GET['id']);
		$tpl =& $tpltpl_handler->get($id);
		xoops_cp_header();
		echo '<a href="admin.php?fct=tplsets">'. _MD_TPLMAIN .'</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;<a href="./admin.php?fct=tplsets&amp;op=listtpl&amp;moddir='.$tpl->getVar('tpl_module').'&amp;tplset='.$tpl->getVar('tpl_tplset').'">'.$tpl->getVar('tpl_tplset').'</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;'._MD_UPLOAD.'<br /><br />';
		if (is_object($tpl)) {
			include_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php';
			$form = new XoopsThemeForm(_MD_UPLOAD, 'tplupload_form', 'admin.php');
			$form->setExtra('enctype="multipart/form-data"');
			$form->addElement(new XoopsFormLabel(_MD_FILENAME, $tpl->getVar('tpl_file').' ('.$tpl->getVar('tpl_tplset').')'));
			$form->addElement(new XoopsFormFile(_MD_CHOOSEFILE.'<br /><span style="color:#ff0000;">'._MD_UPWILLREPLACE.'</span>', 'tpl_upload', 200000), true);
			$form->addElement(new XoopsFormHidden('tpl_id', $id));
			$form->addElement(new XoopsFormHidden('op', 'uploadtpl_go'));
			$form->addElement(new XoopsFormHidden('fct', 'tplsets'));
			$form->addElement(new XoopsFormButton('', 'upload_button', _MD_UPLOAD, 'submit'));
			$form->display();
			xoops_cp_footer();
			exit();
		} else {
			echo '所选模板不存在';
		}
		xoops_cp_footer();
		break;
	case 'uploadtpl_go':
		$tpltpl_handler =& xoops_gethandler('tplfile');
		$tpl =& $tpltpl_handler->get($tpl_id);
		if (is_object($tpl)) {
			include_once XOOPS_ROOT_PATH.'/class/uploader.php';
			$uploader = new XoopsMediaUploader(XOOPS_UPLOAD_PATH, array('text/html', 'application/x-cdf', 'text/plain'), 200000);
			$uploader->setPrefix('tmp');
			if ($uploader->fetchMedia($_POST['xoops_upload_file'][0])) {
				if (!$uploader->upload()) {
					$err = $uploader->getErrors();
				} else {
					$tpl->setVar('tpl_lastmodified', time());
					$fp = @fopen($uploader->getSavedDestination(), 'r');
					$fsource = @fread($fp, filesize($uploader->getSavedDestination()));
					@fclose($fp);
					$tpl->setVar('tpl_source', $fsource, true);
					@unlink($uploader->getSavedDestination());
					if (!$tpltpl_handler->insert($tpl)) {
						$err = '向数据库中插入数据时失败';
					} else {
						if ($tpl->getVar('tpl_tplset') == $xoopsConfig['template_set']) {
							include_once XOOPS_ROOT_PATH.'/class/template.php';
							xoops_template_touch($tpl_id, true);
						}
					}
				}
			} else {
				$err = '文件上传失败';
			}
			if (isset($err)) {
				xoops_cp_header(false);
				xoops_error($err);
				xoops_cp_footer();
				exit();
			}
			redirect_header('admin.php?fct=tplsets&amp;op=listtpl&amp;moddir='.$tpl->getVar('tpl_module').'&amp;tplset='.urlencode($tpl->getVar('tpl_tplset')), 2, _MD_AM_DBUPDATED);
		}
		break;
	// upload new file
	case 'uploadtpl2':
		xoops_cp_header();
		$tplset = htmlspecialchars($tplset);
		$moddir = htmlspecialchars($moddir);
		echo '<a href="admin.php?fct=tplsets">'. _MD_TPLMAIN .'</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;<a href="./admin.php?fct=tplsets&amp;op=listtpl&amp;moddir='.$moddir.'&amp;tplset='.$tplset.'">'.$tplset.'</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;'._MD_UPLOAD.'<br /><br />';
		include_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php';
		$form = new XoopsThemeForm(_MD_UPLOAD, 'tplupload_form', 'admin.php');
		$form->setExtra('enctype="multipart/form-data"');
		$form->addElement(new XoopsFormLabel(_MD_FILENAME, $file));
		$form->addElement(new XoopsFormFile(_MD_CHOOSEFILE.'<br /><span style="color:#ff0000;">'._MD_UPWILLREPLACE.'</span>', 'tpl_upload', 200000), true);
		$form->addElement(new XoopsFormHidden('moddir', $moddir));
		$form->addElement(new XoopsFormHidden('tplset', $tplset));
		$form->addElement(new XoopsFormHidden('file', $file));
		$form->addElement(new XoopsFormHidden('type', $type));
		$form->addElement(new XoopsFormHidden('op', 'uploadtpl2_go'));
		$form->addElement(new XoopsFormHidden('fct', 'tplsets'));
		$form->addElement(new XoopsFormButton('', 'ploadtarupload_button', _MD_UPLOAD, 'submit'));
		$form->display();
		xoops_cp_footer();
		break;
	case 'uploadtpl2_go':
		include_once XOOPS_ROOT_PATH.'/class/uploader.php';
		$uploader = new XoopsMediaUploader(XOOPS_UPLOAD_PATH, array('text/html', 'application/x-cdf', 'text/plain'), 200000);
		$uploader->setPrefix('tmp');
		if ($uploader->fetchMedia($_POST['xoops_upload_file'][0])) {
			if (!$uploader->upload()) {
				$err = $uploader->getErrors();
			} else {
				$tpltpl_handler =& xoops_gethandler('tplfile');
				$tplfile =& $tpltpl_handler->find('default', $type, null, $moddir, $file);
				if (is_array($tplfile)) {
					$tpl =& $tplfile[0]->xoopsClone();
					$tpl->setVar('tpl_id', 0);
					$tpl->setVar('tpl_tplset', $tplset);
					$tpl->setVar('tpl_lastmodified', time());
					$fp = @fopen($uploader->getSavedDestination(), 'r');
					$fsource = @fread($fp, filesize($uploader->getSavedDestination()));
					@fclose($fp);
					$tpl->setVar('tpl_source', $fsource, true);
					@unlink($uploader->getSavedDestination());
					if (!$tpltpl_handler->insert($tpl)) {
						$err = '向数据库中插入数据时失败';
					} else {
						if ($tplset == $xoopsConfig['template_set']) {
							include_once XOOPS_ROOT_PATH.'/class/template.php';
							xoops_template_touch($tpl->getVar('tpl_id'), true);
						}
					}
				} else {
					$err = '该模板文件没有必要安装(使用该模板的PHP文件不存在)';
				}
			}
		} else {
			$err = '文件上传失败';
		}
		if (isset($err)) {
			xoops_cp_header(false);
			xoops_error($err);
			xoops_cp_footer();
			exit();
		}
		redirect_header('admin.php?fct=tplsets&amp;op=listtpl&amp;moddir='.$moddir.'&amp;tplset='.urlencode($tplset), 2, _MD_AM_DBUPDATED);
		break;
	case 'download':
		if (isset($tplset)) {
			if (false != extension_loaded('zlib')) {
				if (isset($_GET['method']) && $_GET['method'] == 'tar') {
					if (@function_exists('gzencode')) {
						require_once(XOOPS_ROOT_PATH.'/class/tardownloader.php');
						$downloader = new XoopsTarDownloader();
					}
				} else {
					if (@function_exists('gzcompress')) {
						require_once(XOOPS_ROOT_PATH.'/class/zipdownloader.php');
						$downloader = new XoopsZipDownloader();
					}
				}
				$tplset_handler =& xoops_gethandler('tplset');
				$tplsetobj =& $tplset_handler->getByName($tplset);
				$xml = "<"."?xml version=\"1.0\"?".">\r\n<tplset>\r\n  <name>".$tplset."</name>\r\n  <dateCreated>".$tplsetobj->getVar('tplset_created')."</dateCreated>\r\n  <credits>\r\n".$tplsetobj->getVar('tplset_credits')."\r\n  </credits>\r\n  <generator>".XOOPS_VERSION."</generator>\r\n  <templates>";
				$tpltpl_handler =& xoops_gethandler('tplfile');
				$files =& $tpltpl_handler->getObjects(new Criteria('tpl_tplset', $tplset), true);
				$fcount = count($files);
				if ($fcount > 0) {
					for ($i = 0; $i < $fcount; $i++) {
						if ($files[$i]->getVar('tpl_type') == 'block') {
							$path = $tplset.'/templates/'.$files[$i]->getVar('tpl_module').'/blocks/'.$files[$i]->getVar('tpl_file');
							$xml .= "\r\n    <template name=\"".$files[$i]->getVar('tpl_file')."\">\r\n      <module>".$files[$i]->getVar('tpl_module')."</module>\r\n      <type>block</type>\r\n      <lastModified>".$files[$i]->getVar('tpl_lastmodified')."</lastModified>\r\n    </template>";
						} elseif ($files[$i]->getVar('tpl_type') == 'module') {
							$path = $tplset.'/templates/'.$files[$i]->getVar('tpl_module').'/'.$files[$i]->getVar('tpl_file');
							$xml .= "\r\n    <template name=\"".$files[$i]->getVar('tpl_file')."\">\r\n      <module>".$files[$i]->getVar('tpl_module')."</module>\r\n      <type>module</type>\r\n      <lastModified>".$files[$i]->getVar('tpl_lastmodified')."</lastModified>\r\n    </template>";
						}
						$downloader->addFileData($files[$i]->getVar('tpl_source'), $path, $files[$i]->getVar('tpl_lastmodified'));
					}

					$xml .= "\r\n  </templates>";
/*
					$xml ." "\r\n  <images>";
					$image_handler =& xoops_gethandler('imagesetimg');
					$criteria = new CriteriaCompo(new Criteria('l.tplset_name', $tplset));
					$criteria->add(new Criteria('s.imgset_refid', 0));
					$ifiles =& $image_handler->getObjects($criteria);
					$fcount = count($ifiles);
					for ($i = 0; $i < $fcount; $i++) {
						$dummyimage = XOOPS_CACHE_PATH.'/_dummyimage'.$i.time();
						$fp = @fopen($dummyimage, 'wb');
						@fwrite($fp, $ifiles[$i]->getVar('imgsetimg_body'));
						@fclose($fp);
						$downloader->addBinaryFile($dummyimage, $tplset.'/images/'.$ifiles[$i]->getVar('imgsetimg_file'));
						@unlink($dummyimage);
						$xml .= " \r\n   <image name=\"".$ifiles[$i]->getVar('imgsetimg_file')."\"></image>";
					}
*/
				}
				//$xml .= "\r\n  </images>
				$xml .= "\r\n</tplset>";
				$downloader->addFileData($xml, $tplset.'/tplset.xml', time());
				echo $downloader->download($tplset, true);
			} else {
				xoops_cp_header();
				xoops_error(_MD_NOZLIB);
				xoops_cp_footer();
			}
		}
		break;
	case 'generatetpl':
		xoops_cp_header();
		xoops_confirm(array('tplset' => $tplset, 'moddir' => $moddir, 'file' => $file, 'type' => $type, 'op' => 'generatetpl_go', 'fct' => 'tplsets'), 'admin.php', _MD_PLZGENERATE, _MD_GENERATE);
		xoops_cp_footer();
		break;
	case 'generatetpl_go':
		$tpltpl_handler =& xoops_gethandler('tplfile');
		$tplfile =& $tpltpl_handler->find('default', $type, null, $moddir, $file, true);
		if (count($tplfile) > 0) {
			$newtpl =& $tplfile[0]->xoopsClone();
			$newtpl->setVar('tpl_id', 0);
			$newtpl->setVar('tpl_tplset', $tplset);
			$newtpl->setVar('tpl_lastmodified', time());
			$newtpl->setVar('tpl_lastimported', 0);
			if (!$tpltpl_handler->insert($newtpl)) {
				$err = '错误: 无法插入模板<b>'.$tplfile[0]->getVar('tpl_file').'</b>到数据库.';
			} else {
				if ($tplset == $xoopsConfig['template_set']) {
					include_once XOOPS_ROOT_PATH.'/class/template.php';
					xoops_template_touch($newtpl->getVar('tpl_id'));
				}
			}
		} else {
			$err = '所选文件不存在)';
		}
		if (!isset($err)) {
			redirect_header('admin.php?fct=tplsets&amp;op=listtpl&amp;moddir='.$newtpl->getVar('tpl_module').'&amp;tplset='.urlencode($newtpl->getVar('tpl_tplset')), 2, _MD_AM_DBUPDATED);
		}
		xoops_cp_header();
		xoops_error($err);
		echo '<br /><a href="admin.php?fct=tplsets">'._MD_AM_BTOTADMIN.'</a>';
		xoops_cp_footer();
		break;
	case 'generatemod':
		xoops_cp_header();
		xoops_confirm(array('tplset' => $tplset, 'op' => 'generatemod_go', 'fct' => 'tplsets', 'moddir' => $moddir), 'admin.php', _MD_PLZGENERATE, _MD_GENERATE);
		xoops_cp_footer();
		break;
	case 'generatemod_go':
		$tpltpl_handler =& xoops_gethandler('tplfile');
		xoops_cp_header();
		echo '<code>';
		$tplfiles =& $tpltpl_handler->find('default', 'module', null, $moddir, null, true);
		$fcount = count($tplfiles);
		if ($fcount > 0) {
			echo '正在安装模板'.$tplset.'的模块模板文件...<br />';
			for ($i = 0; $i < $fcount; $i++) {
				$newtpl =& $tplfiles[$i]->xoopsClone();
				$newtpl->setVar('tpl_id', 0);
				$newtpl->setVar('tpl_tplset', $tplset);
				$newtpl->setVar('tpl_lastmodified', time());
				$newtpl->setVar('tpl_lastimported', 0);
				if (!$tpltpl_handler->insert($newtpl)) {
					echo '&nbsp;&nbsp;<span style="color:#ff0000;">错误: 无法插入模板<b>'.$file.'</b>到数据库.</span><br />';
				} else {
					if ($tplset == $xoopsConfig['template_set']) {
						include_once XOOPS_ROOT_PATH.'/class/template.php';
						xoops_template_touch($newtpl->getVar('tpl_id'));
					}
					echo '&nbsp;&nbsp;模板<b>'.$tplfiles[$i]->getVar('tpl_file').'</b> 已添加到到数据库.<br />';
				}
			}
			flush();
			unset($newtpl);
		}
		unset($files);
		$tplfiles =& $tpltpl_handler->find('default', 'block', null, $moddir, null, true);
		$fcount = count($tplfiles);
		if ($fcount > 0) {
			echo '&nbsp;&nbsp;正在安装区块模板文件...<br />';

⌨️ 快捷键说明

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