| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 | 
							- <?php
 
- defined('IN_PHPCMS') or exit('No permission resources.');
 
- pc_base::load_app_class('admin','admin',0);
 
- class badword extends admin {
 
- 	function __construct() {
 
- 		$admin_username = param::get_cookie('admin_username');
 
- 		$userid = $_SESSION['userid'];
 
- 		$this->db = pc_base::load_model('badword_model');
 
- 		parent::__construct();
 
- 	}
 
- 	
 
- 	function init () {
 
- 		$page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;
 
- 		$infos = $pages = '';
 
- 		$infos = $this->db->listinfo($where = '',$order = 'badid DESC',$page, $pages = '13');
 
- 		$pages = $this->db->pages;
 
- 		$level = array(1=>L('general'),2=>L('danger'));
 
- 		$big_menu = array('javascript:window.top.art.dialog({id:\'add\',iframe:\'?m=admin&c=badword&a=add\', title:\''.L('badword_add').'\', width:\'450\', height:\'180\'}, 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('badword_add'));
 
- 		include $this->admin_tpl('badword_list');
 
- 	}
 
- 	
 
- 	
 
- 	/**
 
- 	 * 敏感词添加
 
- 	 */
 
- 	function add() {
 
- 		if(isset($_POST['dosubmit'])){
 
- 	 			$_POST['info']['lastusetime'] = SYS_TIME;
 
- 				$_POST['info']['replaceword'] = str_replace(" ","",trim($_POST['replaceword']));
 
- 				$_POST['info']['badword'] = str_replace(" ","",trim($_POST['badword']));
 
- 	 			if(empty($_POST['info']['badword'])) {
 
- 					showmessage(L('enter_word'),'?m=admin&c=badword&a=add');
 
- 					}
 
- 				$this->db->insert($_POST['info']);
 
- 				$this->public_cache_file();//更新缓存
 
- 		 		showmessage(L('operation_success'),'?m=admin&c=badword&a=add','', 'add');
 
- 		 		}else{
 
- 				$show_validator = $show_scroll = $show_header = true; 
 
- 				include $this->admin_tpl('badword_add');
 
- 			}
 
- 	}
 
- 	
 
- 	public function public_name() {
 
- 			$badword = isset($_GET['badword']) && trim($_GET['badword']) ? (pc_base::load_config('system', 'charset') == 'gbk' ? iconv('utf-8', 'gbk', trim($_GET['badword'])) : trim($_GET['badword'])) : exit('0');
 
- 			$badid = isset($_GET['badid']) && intval($_GET['badid']) ? intval($_GET['badid']) : '';
 
- 	 		$data = array();
 
- 			if ($badid) {
 
- 				$data = $this->db->get_one(array('badid'=>$badid), 'badword');
 
- 				if (!empty($data) && $data['badword'] == $badword) {
 
- 					exit('1');
 
- 				}
 
- 			}
 
- 			if ($this->db->get_one(array('badword'=>$badword), 'badid')) {
 
- 				exit('0');
 
- 			} else {
 
- 				exit('1');
 
- 			}
 
- 		}
 
- 		
 
- 	/**
 
- 	 * 敏感词排序
 
- 	 */
 
- 	function listorder() {
 
- 		if(!is_array($_POST['listorders'])) return false;
 
- 			foreach($_POST['listorders'] as $badid => $listorder) {
 
- 					$this->db->update(array('listorder'=>$listorder),array('badid'=>$badid));
 
- 			}
 
- 			showmessage(L('operation_success'),'?m=admin&c=badword');
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 敏感词修改
 
- 	 */
 
- 	function edit() {
 
- 		if(isset($_POST['dosubmit'])){
 
- 				$badid = intval($_GET['badid']);
 
- 				$_POST['info']['replaceword'] = str_replace(" ","",trim($_POST['replaceword']));
 
- 				$_POST['info']['badword'] = str_replace(" ","",trim($_POST['badword']));
 
- 				$this->db->update($_POST['info'],array('badid'=>$badid));
 
- 				$this->public_cache_file();//更新缓存
 
- 				showmessage(L('operation_success'),'?m=admin&c=badword&a=edit','', 'edit');
 
- 			}else{
 
- 				$show_validator = $show_scroll = $show_header = true;
 
- 				$info = array();
 
- 				$info = $this->db->get_one(array('badid'=>$_GET['badid']));
 
- 				if(!$info) showmessage(L('keywords_no_exist'));
 
- 	 			extract($info);
 
- 				include $this->admin_tpl('badword_edit');
 
- 		}	 
 
- 	}
 
- 	/**
 
- 	 * 关键词删除 包含批量删除 单个删除
 
- 	 */
 
- 	function delete() {
 
-  		if(is_array($_POST['badid'])){
 
- 				foreach($_POST['badid'] as $badid_arr) {
 
- 					$this->db->delete(array('badid'=>$badid_arr));
 
- 				}
 
- 				$this->public_cache_file();//更新缓存
 
- 				showmessage(L('operation_success'),'?m=admin&c=badword');	
 
- 			}else{
 
- 				$badid = intval($_GET['badid']);
 
- 				if($badid < 1) return false;
 
- 				$result = $this->db->delete(array('badid'=>$badid));
 
- 				if($result){
 
- 					$this->public_cache_file();//更新缓存
 
- 					showmessage(L('operation_success'),'?m=admin&c=badword');
 
- 					}else {
 
- 					showmessage(L("operation_failure"),'?m=admin&c=badword');
 
- 				}
 
- 		}
 
- 	}
 
- 	
 
- 	/**
 
- 	 * 导出敏感词为文本 一行一条记录
 
- 	 */
 
- 	function export() {
 
- 		$result = $s = '';
 
- 		$result = $this->db->select($where = '', $data = '*', $limit = '', $order = 'badid DESC', $group = '');
 
- 		if(!is_array($result) || empty($result)){
 
- 			showmessage('暂无敏感词设置,正在返回!','?m=admin&c=badword');
 
- 		}
 
-   		foreach($result as $s){
 
-  			extract($s);
 
- 			$str .= $badword.','.$replaceword.','.$level."\n";		  
 
- 		}
 
-  		$filename = L('export');
 
- 		header('Content-Type: text/x-sql');
 
- 		header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
 
- 		header('Content-Disposition: attachment; filename="' . $filename . '"');
 
- 		$is_ie = 'IE';
 
- 		    if ($is_ie == 'IE') {
 
- 		        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
 
- 		        header('Pragma: public');
 
- 		    	} else {
 
- 		        header('Pragma: no-cache');
 
- 		        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
 
- 		    }
 
- 		echo $str;
 
- 		exit();
 
-  	}
 
- 	
 
- 	/**
 
- 	 * 从文本中导入敏感词, 一行一条记录
 
- 	 */
 
- 	function import(){
 
- 		if(isset($_POST['dosubmit'])){
 
- 				$arr = $s = $str = $level_arr = '';
 
- 				$s = trim($_POST['info']);
 
- 			    if(empty($s)) showmessage(L('not_information'),'?m=admin&c=badword&a=import');
 
- 	 			$arr = explode("\n",$s); 
 
- 	 			if(!is_array($arr) || empty($arr)) return false; 
 
- 	 			foreach($arr as $s){
 
- 			    	$level_arr = array("1","2");
 
- 	 				$str = explode(",",$s);
 
- 	   				$sql_str = array();
 
- 	 				$sql_str['badword'] = $str[0];
 
- 	 				$sql_str['replaceword'] = $str[1];
 
- 	 				$sql_str['level'] = $str[2];
 
- 					$sql_str['lastusetime'] = SYS_TIME;
 
- 					if(!in_array($sql_str['level'],$level_arr)) $sql_str['level'] = '1';
 
- 	 				if(empty($sql_str['badword'])){
 
- 							continue;
 
- 						}else{
 
- 							$check_badword = $this->db->get_one(array('badword'=>$sql_str['badword']), $data = '*', $order = '', $group = '');
 
- 							if($check_badword){
 
- 								continue;
 
- 							}
 
- 							$this->db->insert($sql_str);
 
- 					}
 
- 					
 
- 					unset($sql_str,$check_badword);
 
- 	 			}
 
- 				showmessage(L('operation_success'),'?m=admin&c=badword');
 
-  			}else{
 
- 			include $this->admin_tpl('badword_import');
 
- 		}
 
- 	} 
 
-  	
 
- 	/**
 
- 	 * 生成缓存
 
- 	 */
 
- 	function public_cache_file() { 
 
- 		$infos = $this->db->select('','badid,badword,replaceword,level','','badid ASC');
 
- 		setcache('badword', $infos, 'commons');
 
- 		return true;
 
-  	}
 
- 	
 
- }
 
- ?>
 
 
  |