123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?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 downservers extends admin {
- private $db;
- function __construct() {
- parent::__construct();
- $this->db = pc_base::load_model('downservers_model');
- $this->sites = pc_base::load_app_class('sites');
- }
-
- public function init() {
- if(isset($_POST['dosubmit'])) {
- $info['siteurl'] = trim($_POST['info']['siteurl']);
- $info['sitename'] = trim($_POST['info']['sitename']);
- $info['siteid'] = intval($_POST['info']['siteid']);
- if(empty($info['sitename'])) showmessage(L('downserver_not_empty'), HTTP_REFERER);
- if(empty($info['siteurl']) || !preg_match('/(\w+):\/\/(.+)[^\/]$/i', $info['siteurl'])) showmessage(L('downserver_error'), HTTP_REFERER);
- $insert_id = $this->db->insert($info,true);
- if($insert_id){
- $this->_set_cache();
- showmessage(L('operation_success'), HTTP_REFERER);
- }
- } else {
- $infos = $sitelist = array();
- $current_siteid = get_siteid();
- $where = "`siteid`='$current_siteid' or `siteid`=''";
- $sitelists = $this->sites->get_list();
- if($_SESSION['roleid'] == '1') {
- foreach($sitelists as $key=>$v) $sitelist[$key] = $v['name'];
- $default = L('all_site');
- } else {
- $sitelist[$current_siteid] = $sitelists[$current_siteid]['name'];
- $default = '';
- }
- $page = $_GET['page'] ? $_GET['page'] : '1';
- $infos = $this->db->listinfo($where, 'listorder DESC,id DESC', $page, $pagesize = 20);
- $pages = $this->db->pages;
- include $this->admin_tpl('downservers_list');
- }
- }
-
- public function edit() {
- if(isset($_POST['dosubmit'])) {
- $info['siteurl'] = trim($_POST['info']['siteurl']);
- $info['sitename'] = trim($_POST['info']['sitename']);
- $info['siteid'] = intval($_POST['info']['siteid']);
- if(empty($info['sitename'])) showmessage(L('downserver_not_empty'), HTTP_REFERER);
- if(empty($info['siteurl']) || !preg_match('/(\w+):\/\/(.+)[^\/]$/i', $info['siteurl'])) showmessage(L('downserver_error'), HTTP_REFERER);
- $id = intval(trim($_POST['id']));
- $this->_set_cache();
- $this->db->update($info,array('id'=>$id));
- showmessage(L('operation_success'), '', '', 'edit');
- } else {
- $info = $sitelist = array();
- $default = '';
- $sitelists = $this->sites->get_list();
- if($_SESSION['roleid'] == '1') {
- foreach($sitelists as $key=>$v) $sitelist[$key] = $v['name'];
- $default = L('all_site');
- } else {
- $current_siteid = self::get_siteid();
- $sitelist[$current_siteid] = $sitelists[$current_siteid]['name'];
- $default = '';
- }
- $info = $this->db->get_one(array('id'=>intval($_GET['id'])));
- extract($info);
- $show_validator = true;
- $show_header = true;
- include $this->admin_tpl('downservers_edit');
- }
- }
-
- public function delete() {
- $id = intval($_GET['id']);
- $this->db->delete(array('id'=>$id));
- $this->_set_cache();
- showmessage(L('downserver_del_success'), HTTP_REFERER);
- }
-
- /**
- * 排序
- */
- public function listorder() {
- if(isset($_POST['dosubmit'])) {
- foreach($_POST['listorders'] as $id => $listorder) {
- $this->db->update(array('listorder'=>$listorder),array('id'=>$id));
- }
- showmessage(L('operation_success'), HTTP_REFERER);
- } else {
- showmessage(L('operation_failure'), HTTP_REFERER);
- }
- }
-
- private function _set_cache() {
- $infos = $this->db->select();
- foreach ($infos as $info){
- $servers[$info['id']] = $info;
- }
- setcache('downservers', $servers,'commons');
- return $infos;
- }
-
- }
- ?>
|