| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 | <?phpdefined('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; 	}	}?>
 |