Server : nginx/1.22.1 System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 User : www ( 1000) PHP Version : 7.2.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/www.jkmold.com/phpcms/modules/admin/ |
<?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class('admin','admin',0); pc_base::load_sys_class('form','',0); class urlrule extends admin { function __construct() { parent::__construct(); $this->db = pc_base::load_model('urlrule_model'); $this->module_db = pc_base::load_model('module_model'); } function init () { $page = intval($_GET['page']); $infos = $this->db->listinfo('','',$page); $pages = $this->db->pages; $big_menu = array('javascript:window.top.art.dialog({id:\'add\',iframe:\'?m=admin&c=urlrule&a=add\', title:\''.L('add_urlrule').'\', width:\'750\', height:\'300\', lock:true}, function(){var d = window.top.art.dialog({id:\'add\'}).data.iframe;var form = d.document.getElementById(\'dosubmit\');form.click();return false;}, function(){window.top.art.dialog({id:\'add\'}).close()});void(0);', L('add_urlrule')); $this->public_cache_urlrule(); include $this->admin_tpl('urlrule_list'); } function add() { if(isset($_POST['dosubmit'])) { $_POST['info']['urlrule'] = rtrim(trim($_POST['info']['urlrule']),'.php'); $_POST['info']['urlrule'] = $this->url_replace($_POST['info']['urlrule']); if($this->url_ifok($_POST['info']['urlrule'])==false){ showmessage('url规则里含有非法php字符'); } $this->db->insert($_POST['info']); $this->public_cache_urlrule(); showmessage(L('add_success'),'','','add'); } else { $show_validator = $show_header = ''; $modules_arr = $this->module_db->select('','module,name'); $modules = array(); foreach ($modules_arr as $r) { $modules[$r['module']] = $r['name']; } include $this->admin_tpl('urlrule_add'); } } function delete() { $_GET['urlruleid'] = intval($_GET['urlruleid']); $this->db->delete(array('urlruleid'=>$_GET['urlruleid'])); $this->public_cache_urlrule(); showmessage(L('operation_success'),HTTP_REFERER); } function edit() { if(isset($_POST['dosubmit'])) { $urlruleid = intval($_POST['urlruleid']); $_POST['info']['urlrule'] = rtrim(trim($_POST['info']['urlrule']),'.php'); $_POST['info']['urlrule'] = $this->url_replace($_POST['info']['urlrule']); if($this->url_ifok($_POST['info']['urlrule'])==false){ showmessage('url规则里含有非法php字符'); } $this->db->update($_POST['info'],array('urlruleid'=>$urlruleid)); $this->public_cache_urlrule(); showmessage(L('update_success'),'','','edit'); } else { $show_validator = $show_header = ''; $urlruleid = $_GET['urlruleid']; $r = $this->db->get_one(array('urlruleid'=>$urlruleid)); extract($r); $modules_arr = $this->module_db->select('','module,name'); $modules = array(); foreach ($modules_arr as $r) { $modules[$r['module']] = $r['name']; } include $this->admin_tpl('urlrule_edit'); } } /** * 更新URL规则 */ public function public_cache_urlrule() { $datas = $this->db->select('','*','','','','urlruleid'); $basic_data = array(); foreach($datas as $roleid=>$r) { $basic_data[$roleid] = $r['urlrule'];; } setcache('urlrules_detail',$datas,'commons'); setcache('urlrules',$basic_data,'commons'); } /* *url规则替换 **/ public function url_replace($url){ $urldb = explode("|",$url); foreach($urldb as $key=>$value){ if(strpos($value, "index.php") === 0){ $value = str_replace('index.php','',$value); $value = str_replace('.php','',$value); $value = "index.php".$value; }else{ $value = str_replace('.php','',$value); } $urldb[$key]=$value; } return implode("|",$urldb); } /* *url规则 判断。 **/ public function url_ifok($url){ $urldb = explode("|",$url); foreach($urldb as $key=>$value){ if(strpos($value, "index.php") === 0){ $value = substr($value,'9'); } if( stripos($value, "php") !== false){ return false; } } return true; } } ?>