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 : 5.6.40
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/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/modules/admin/badword.php
<?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;

 	}

	

}

?>