给PHPCMS V9 增加关闭网站功能


\phpcms\modules\admin\templates\setting.tpl.php:

在代码
  1. <div id="div_setting_1" class="contentList pad-10">
  2. <table width="100%"  class="table_form">
复制代码
后面另起一行,添加代码:
  1. <!-- Admpub: -->
  2. <tr>
  3.     <th width="120">网站状态</th>
  4.     <td class="y-bg"><input name="setconfig[website_is_closed]" value="2" type="radio"<?php echo ($website_is_closed==2) ? ' checked="checked"' : '';?> /> 仅供管理员访问<!-- Only admin -->&nbsp;&nbsp;&nbsp;&nbsp;
  5.     <input name="setconfig[website_is_closed]" value="1" type="radio"<?php echo ($website_is_closed==1) ? ' checked="checked"' : '';?> /> 禁止所有人访问<!-- Ban all -->&nbsp;&nbsp;&nbsp;&nbsp;
  6.     <input name="setconfig[website_is_closed]" value="0" type="radio" <?php echo (!$website_is_closed) ? ' checked="checked"' : '';?> /> 允许所有人访问<!-- Open to all --></td>
  7.   </tr>
  8.   <tr>
  9.     <th width="120">关站提示信息</th>
  10.     <td class="y-bg"><textarea rows="2" cols="20" id="tips" style="height:40px; width:80%" name="setconfig[off_site_because]"><?php echo htmlspecialchars($off_site_because);?></textarea>&nbsp;&nbsp;&nbsp;&nbsp;支持HTML标签</td>
  11.   </tr>
  12. <!-- /Admpub -->
复制代码
\phpcms\modules\admin\functions\global.func.php:
在set_config()函数中,在代码
  1. if(in_array($k,array(
复制代码
后面添加:
  1. /*[SWH|+]:*/'website_is_closed','off_site_because',/*[SWH|+];*/
复制代码
\phpcms\modules\admin\setting.php:

在代码
  1. set_config($_POST['setconfig']);
复制代码
前面另起一行,添加代码:
  1. //[SWH|+]:
  2. if(!empty($_POST['setconfig']['website_is_closed'])){
  3.     $str='<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'" /><meta http-equiv="refresh" content="1;url=index.php" /><title></title></head><body></body></html>';
  4.     if(pc_base::load_config('system','lock_ex')){ 
  5.         file_put_contents(PHPCMS_PATH.'index.html', $str, LOCK_EX);
  6.     }else{
  7.         file_put_contents(PHPCMS_PATH.'index.html', $str);
  8.     }
  9. }
  10. unset($str);
  11. //[SWH|+];
复制代码
\index.php:

在代码
  1. pc_base::creat_app();
复制代码
前面另起一行,添加代码:
  1. //[SWH|+]:
  2. switch(pc_base::load_config('system','website_is_closed')){
  3.     case '2': //仅允许后台用户访问
  4.         $session_storage = 'session_'.pc_base::load_config('system','session_storage');
  5.         pc_base::load_sys_class($session_storage);
  6.         if(!empty($_SESSION['userid']) && !empty($_SESSION['roleid'])){
  7.             break;
  8.         }
  9.     case '1': //禁止所有人访问
  10.         if($_GET['m']=='admin'){
  11.             break; //可以访问后台
  12.         }
  13.         if(pc_base::load_config('system','off_site_because')!==''){
  14.             echo nl2br(pc_base::load_config('system','off_site_because'));
  15.         }
  16.         exit;
  17.     default: //向所有公开
  18. }
  19. //[SWH|+];
复制代码
\caches\configs\system.php:
在文件末尾的代码
  1. );
  2. ?>
复制代码
前面添加:
  1. 'website_is_closed' => '0',
  2. 'off_site_because' => '',
复制代码
完毕!
本优化版将持续更新(可后台一键更新),获取更新请查看PhpcmsX网站 https://www.phpcmsx.com PHPCMS X 是基于PHPCMS V9 (9.6.3)上优化完善而来的,对PHPCMS V9进行了全面的优化和持续的安全修复及维护,并对部分功能做了延伸,PHPCMSX是PHPCMS众多fans的社区维护版。 PHPCMS X 不同于其他phpcms修改版,PHPCMS X没有对程序功能和模块进行过多的增加和魔改; PHPCMS X 的重点是保留所有官方原版程序中各功能不变的基础上,进行了全面的安全漏洞修补、BUG修正、和部分代码的优化完善,使其能更安全稳定的运行于当前大部分服务器环境下; 同时我们提供长期持续稳定的程序更新维护,让PHPCMS X可长期的稳定运行,同时方便熟悉phpcms的朋友可方便的二次开发; 如您需要有更多新功能模块,我们建议您尝试网上其他phpcms修改版; 如您需要的是能长期稳定安全运行的CMS程序,我们推荐您使用PHPCMS X; 如您使用PHPCMS X,并需要一些新的功能模块,您可以访问我们的在线模块市场或联系我们定制开发; 主要完善和优化项如下: 支持HTTPS环境 支持php7.4+ 支持MySQL8+ (支持 MariaDB 10.5 +) 支持后台更新提示和一键更新(须使用本优化升级版程序 v2.6或以上) 支持网站文件在线MD5校验 去除了已被废弃的视频模块和视频模型 修复安装时DNS解析错误提示 优化修复PHPSSO代码,让PHPSSO可用、好用,不再是鸡肋 修复已知安全漏洞 修复已知BUG 增加安装时自定义后台管理登录地址 后台附件上传修改为H5上传 会员头像上传修改为H5上传 支持HTTPS 支持安装时自定义后台登录地址 支持后台一键更新 增加百度、讯飞关键词提取接口 多功能编辑器 最后更新2021/0915
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值