123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?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;
- }
- }
- ?>
|