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/announce/ |
<?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class('admin','admin',0); class admin_announce extends admin { private $db; public $username; public function __construct() { parent::__construct(); //if (!module_exists(ROUTE_M)) showmessage(L('module_not_exists')); $this->username = param::get_cookie('admin_username'); $this->db = pc_base::load_model('announce_model'); } public function init() { //公告列表 $sql = ''; $_GET['status'] = $_GET['status'] ? intval($_GET['status']) : 1; $sql = '`siteid`=\''.$this->get_siteid().'\''; switch($_GET['s']) { case '1': $sql .= ' AND `passed`=\'1\' AND (`endtime` >= \''.date('Y-m-d').'\' or `endtime`=\'0000-00-00\')'; break; case '2': $sql .= ' AND `passed`=\'0\''; break; case '3': $sql .= ' AND `passed`=\'1\' AND `endtime`!=\'0000-00-00\' AND `endtime` <\''.date('Y-m-d').'\' '; break; } $page = max(intval($_GET['page']), 1); $data = $this->db->listinfo($sql, '`aid` DESC', $page); $big_menu = array('javascript:window.top.art.dialog({id:\'add\',iframe:\'?m=announce&c=admin_announce&a=add\', title:\''.L('announce_add').'\', width:\'700\', height:\'500\', 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('announce_add')); include $this->admin_tpl('announce_list'); } /** * 添加公告 */ public function add() { if(isset($_POST['dosubmit'])) { $_POST['announce'] = $this->check($_POST['announce']); if($this->db->insert($_POST['announce'])) showmessage(L('announcement_successful_added'), HTTP_REFERER, '', 'add'); } else { //获取站点模板信息 pc_base::load_app_func('global', 'admin'); $siteid = $this->get_siteid(); $template_list = template_list($siteid, 0); $site = pc_base::load_app_class('sites','admin'); $info = $site->get_by_id($siteid); foreach ($template_list as $k=>$v) { $template_list[$v['dirname']] = $v['name'] ? $v['name'] : $v['dirname']; unset($template_list[$k]); } $show_header = $show_validator = $show_scroll = 1; pc_base::load_sys_class('form', '', 0); include $this->admin_tpl('announce_add'); } } /** * 修改公告 */ public function edit() { $_GET['aid'] = intval($_GET['aid']); if(!$_GET['aid']) showmessage(L('illegal_operation')); if(isset($_POST['dosubmit'])) { $_POST['announce'] = $this->check($_POST['announce'], 'edit'); if($this->db->update($_POST['announce'], array('aid' => $_GET['aid']))) showmessage(L('announced_a'), HTTP_REFERER, '', 'edit'); } else { $where = array('aid' => $_GET['aid']); $an_info = $this->db->get_one($where); pc_base::load_sys_class('form', '', 0); //获取站点模板信息 pc_base::load_app_func('global', 'admin'); $template_list = template_list($this->siteid, 0); foreach ($template_list as $k=>$v) { $template_list[$v['dirname']] = $v['name'] ? $v['name'] : $v['dirname']; unset($template_list[$k]); } $show_header = $show_validator = $show_scroll = 1; include $this->admin_tpl('announce_edit'); } } /** * ajax检测公告标题是否重复 */ public function public_check_title() { if (!$_GET['title']) exit(0); if (CHARSET=='gbk') { $_GET['title'] = iconv('UTF-8', 'GBK', $_GET['title']); } $title = $_GET['title']; if ($_GET['aid']) { $r = $this->db->get_one(array('aid' => $_GET['aid'])); if ($r['title'] == $title) { exit('1'); } } $r = $this->db->get_one(array('siteid' => $this->get_siteid(), 'title' => $title), 'aid'); if($r['aid']) { exit('0'); } else { exit('1'); } } /** * 批量修改公告状态 使其成为审核、未审核状态 */ public function public_approval($aid = 0) { if((!isset($_POST['aid']) || empty($_POST['aid'])) && !$aid) { showmessage(L('illegal_operation')); } else { if(is_array($_POST['aid']) && !$aid) { array_map(array($this, 'public_approval'), $_POST['aid']); showmessage(L('announce_passed'), HTTP_REFERER); } elseif($aid) { $aid = intval($aid); $this->db->update(array('passed' => $_GET['passed']), array('aid' => $aid)); return true; } } } /** * 批量删除公告 */ public function delete($aid = 0) { if((!isset($_POST['aid']) || empty($_POST['aid'])) && !$aid) { showmessage(L('illegal_operation')); } else { if(is_array($_POST['aid']) && !$aid) { array_map(array($this, 'delete'), $_POST['aid']); showmessage(L('announce_deleted'), HTTP_REFERER); } elseif($aid) { $aid = intval($aid); $this->db->delete(array('aid' => $aid)); } } } /** * 验证表单数据 * @param array $data 表单数组数据 * @param string $a 当表单为添加数据时,自动补上缺失的数据。 * @return array 验证后的数据 */ private function check($data = array(), $a = 'add') { if($data['title']=='') showmessage(L('title_cannot_empty')); if($data['content']=='') showmessage(L('announcements_cannot_be_empty')); $r = $this->db->get_one(array('title' => $data['title'])); if (strtotime($data['endtime'])<strtotime($data['starttime'])) { $data['endtime'] = ''; } if ($a=='add') { if (is_array($r) && !empty($r)) { showmessage(L('announce_exist'), HTTP_REFERER); } $data['siteid'] = $this->get_siteid(); $data['addtime'] = SYS_TIME; $data['username'] = $this->username; if ($data['starttime'] == '') $announce['starttime'] = date('Y-m-d'); } else { if ($r['aid'] && ($r['aid']!=$_GET['aid'])) { showmessage(L('announce_exist'), HTTP_REFERER); } } return $data; } } ?>