| <?php |
| namespace app\admin\controller; |
|
|
| class Urlsend extends Base |
| { |
| var $_lastid=''; |
|
|
| public function __construct() |
| { |
| parent::__construct(); |
| $this->_param = input(); |
| } |
|
|
| public function index() |
| { |
| if (Request()->isPost()) { |
| $config = input(); |
| $config_new['urlsend'] = $config['urlsend']; |
|
|
| $config_old = config('maccms'); |
| $config_new = array_merge($config_old, $config_new); |
|
|
| $res = mac_arr2file(APP_PATH . 'extra/maccms.php', $config_new); |
| if ($res === false) { |
| return $this->error(lang('save_err')); |
| } |
| return $this->success(lang('save_ok')); |
| } |
|
|
| $urlsend_config = $GLOBALS['config']['urlsend']; |
| $this->assign('config',$urlsend_config); |
|
|
| $extends = mac_extends_list('urlsend'); |
| $this->assign('extends',$extends); |
|
|
|
|
| $this->assign('title',lang('admin/urlsend/title')); |
| return $this->fetch('admin@urlsend/index'); |
| } |
|
|
| public function data() |
| { |
| mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>'); |
|
|
| $list = []; |
| $mid = $this->_param['mid']; |
| $this->_param['page'] = intval($this->_param['page']) <1 ? 1 : $this->_param['page']; |
| $this->_param['limit'] = intval($this->_param['limit']) <1 ? 50 : $this->_param['limit']; |
| $ids = $this->_param['ids']; |
| $ac2 = $this->_param['ac2']; |
| $col_time = 'time'; |
| if($this->_param['range'] == '1'){ |
| $col_time = 'time_add'; |
| } |
| $today = strtotime(date('Y-m-d')); |
| $where = []; |
| $col = ''; |
| switch($mid) |
| { |
| case 1: |
| $where['vod_status'] = ['eq',1]; |
|
|
| if($ac2=='today'){ |
| $where['vod_'.$col_time] = ['gt',$today]; |
| } |
| if(!empty($ids)){ |
| $where['vod_id'] = ['in',$ids]; |
| } |
| elseif(!empty($data)){ |
| $where['vod_id'] = ['gt', $data]; |
| } |
|
|
| $col = 'vod'; |
| $order = 'vod_id asc'; |
| $fun = 'mac_url_vod_detail'; |
| $res = model('Vod')->listData($where,$order,$this->_param['page'],$this->_param['limit']); |
| break; |
| case 2: |
| $where['art_status'] = ['eq',1]; |
|
|
| if($ac2=='today'){ |
| $where['art_'.$col_time] = ['gt',$today]; |
|
|
| } |
| if(!empty($ids)){ |
| $where['art_id'] = ['in',$ids]; |
| } |
| elseif(!empty($data)){ |
| $where['art_id'] = ['gt', $data]; |
| } |
|
|
| $col = 'art'; |
| $order = 'art_id asc'; |
| $fun = 'mac_url_art_detail'; |
| $res = model('Art')->listData($where,$order,$this->_param['page'],$this->_param['limit']); |
| break; |
| case 3: |
| $where['topic_status'] = ['eq',1]; |
|
|
| if($ac2=='today'){ |
| $where['topic_'.$col_time] = ['gt',$today]; |
|
|
| } |
| if(!empty($ids)){ |
| $where['topic_id'] = ['in',$ids]; |
| } |
| elseif(!empty($data)){ |
| $where['topic_id'] = ['gt', $data]; |
| } |
|
|
| $col = 'topic'; |
| $order = 'topic_id asc'; |
| $fun = 'mac_url_topic_detail'; |
| $res = model('Topic')->listData($where,$order,$this->_param['page'],$this->_param['limit']); |
| break; |
| case 8: |
| $where['actor_status'] = ['eq',1]; |
|
|
| if($ac2=='today'){ |
| $where['actor_'.$col_time] = ['gt',$today]; |
|
|
| } |
| if(!empty($ids)){ |
| $where['actor_id'] = ['in',$ids]; |
| } |
| elseif(!empty($data)){ |
| $where['actor_id'] = ['gt', $data]; |
| } |
| $col = 'actor'; |
| $order = 'actor_id asc'; |
| $fun = 'mac_url_actor_detail'; |
| $res = model('Actor')->listData($where,$order,$this->_param['page'],$this->_param['limit']); |
| break; |
| case 9: |
| $where['role_status'] = ['eq',1]; |
|
|
| if($ac2=='today'){ |
| $where['role_'.$col_time] = ['gt',$today]; |
|
|
| } |
| if(!empty($ids)){ |
| $where['role_id'] = ['in',$ids]; |
| } |
| elseif(!empty($data)){ |
| $where['role_id'] = ['gt', $data]; |
| } |
| $col = 'role'; |
| $order = 'role_id asc'; |
| $fun = 'mac_url_role_detail'; |
| $res = model('Role')->listData($where,$order,$this->_param['page'],$this->_param['limit']); |
| break; |
| case 11: |
| $where['website_status'] = ['eq',1]; |
|
|
| if($ac2=='today'){ |
| $where['website_'.$col_time] = ['gt',$today]; |
|
|
| } |
| if(!empty($ids)){ |
| $where['website_id'] = ['in',$ids]; |
| } |
| elseif(!empty($data)){ |
| $where['website_id'] = ['gt', $data]; |
| } |
| $col = 'website'; |
| $order = 'website_id asc'; |
| $fun = 'mac_url_website_detail'; |
| $res = model('Website')->listData($where,$order,$this->_param['page'],$this->_param['limit']); |
| break; |
| } |
|
|
| if(empty($res['list'])){ |
| mac_echo(lang('admin/urlsend/no_data')); |
| return; |
| } |
|
|
| mac_echo(lang('admin/urlsend/tip',[$res['total'],$res['pagecount'],$res['page']])); |
|
|
| $urls = []; |
| foreach($res['list'] as $k=>$v){ |
| $urls[$v[$col.'_id']] = $GLOBALS['http_type'] . $GLOBALS['config']['site']['site_url'] . $fun($v); |
| $this->_lastid = $v[$col.'_id']; |
|
|
| mac_echo($v[$col.'_id'] . '、'. $v[$col . '_name'] . ' <a href="'.$urls[$v[$col.'_id']].'">'.$urls[$v[$col.'_id']].'</a>'); |
| } |
|
|
| $res['urls'] = $urls; |
| return $res; |
| } |
|
|
|
|
| public function push($pp=[]) |
| { |
| if(!empty($pp)){ |
| $this->_param = $pp; |
| } |
| $ac = $this->_param['ac']; |
| $cp = 'app\\common\\extend\\urlsend\\' . ucfirst($ac); |
| if (class_exists($cp)) { |
| $data = $this->data(); |
|
|
| $c = new $cp; |
| $res = $c->submit($data); |
|
|
| if($res['code']!=1){ |
| mac_echo($res['msg']); |
| die; |
| } |
|
|
| if ($data['page'] >= $data['pagecount']) { |
| mac_echo(lang('admin/urlsend/complete')); |
| if(ENTRANCE=='admin') { |
|
|
| } |
| } |
| else { |
| $this->_param['page']++; |
| $url = url('urlsend/push') . '?' . http_build_query($this->_param); |
| if(ENTRANCE=='admin') { |
| mac_jump($url, 3); |
| } |
| else{ |
| $this->push($this->_param); |
| } |
| } |
|
|
| } |
| else{ |
| $this->error(lang('param_err')); |
| } |
| } |
|
|
| } |
|
|