📄 main.php
字号:
case 'uploadtpl2': xoops_cp_header(); $tplset = htmlspecialchars($tplset); $moddir = htmlspecialchars($moddir); echo '<a href="admin.php?fct=tplsets">'. _MD_TPLMAIN .'</a> <span style="font-weight:bold;">»»</span> <a href="./admin.php?fct=tplsets&op=listtpl&moddir='.$moddir.'&tplset='.$tplset.'">'.$tplset.'</a> <span style="font-weight:bold;">»»</span> '._MD_UPLOAD.'<br /><br />'; include_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php'; $form = new XoopsThemeForm(_MD_UPLOAD, 'tplupload_form', 'admin.php', 'post', true); $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': if (!$GLOBALS['xoopsSecurity']->check()) { redirect_header('admin.php?fct=tplsets', 1, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); } 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 = 'Failed inserting data to database'; } else { if ($tplset == $xoopsConfig['template_set']) { include_once XOOPS_ROOT_PATH.'/class/template.php'; xoops_template_touch($tpl->getVar('tpl_id'), true); } } } else { $err = 'This template file does not need to be installed (PHP files using this template file does not exist)'; } } } else { $err = implode('<br />', $uploader->getErrors(false)); } if (isset($err)) { xoops_cp_header(false); xoops_error($err); xoops_cp_footer(); exit(); } redirect_header('admin.php?fct=tplsets&op=listtpl&moddir='.$moddir.'&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': if (!$GLOBALS['xoopsSecurity']->check()) { redirect_header('admin.php?fct=tplsets', 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); } $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 = 'ERROR: Could not insert template <b>'.$tplfile[0]->getVar('tpl_file').'</b> to the database.'; } else { if ($tplset == $xoopsConfig['template_set']) { include_once XOOPS_ROOT_PATH.'/class/template.php'; xoops_template_touch($newtpl->getVar('tpl_id')); } } } else { $err = 'Selected file does not exist)'; } if (!isset($err)) { redirect_header('admin.php?fct=tplsets&op=listtpl&moddir='.$newtpl->getVar('tpl_module').'&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': if (!$GLOBALS['xoopsSecurity']->check()) { redirect_header('admin.php?fct=tplsets', 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); } $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 'Installing module template files for template set '.$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 ' <span style="color:#ff0000;">ERROR: Could not insert template <b>'.$file.'</b> to the database.</span><br />'; } else { if ($tplset == $xoopsConfig['template_set']) { include_once XOOPS_ROOT_PATH.'/class/template.php'; xoops_template_touch($newtpl->getVar('tpl_id')); } echo ' Template <b>'.$tplfiles[$i]->getVar('tpl_file').'</b> added to the database.<br />'; } } flush(); unset($newtpl); } unset($files); $tplfiles =& $tpltpl_handler->find('default', 'block', null, $moddir, null, true); $fcount = count($tplfiles); if ($fcount > 0) { echo ' Installing block template files...<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 ' <span style="color:#ff0000;">ERROR: Could not insert block template <b>'.$tplfiles[$i]->getVar('tpl_file').'</b> to the database.</span><br />';echo $newtpl->getHtmlErrors(); } else { if ($tplset == $xoopsConfig['template_set']) { include_once XOOPS_ROOT_PATH.'/class/template.php';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -