_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('');
$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;
case 12:
$where['manga_status'] = ['eq',1];
if($ac2=='today'){
$where['manga_'.$col_time] = ['gt',$today];
}
if(!empty($ids)){
$where['manga_id'] = ['in',$ids];
}
elseif(!empty($data)){
$where['manga_id'] = ['gt', $data];
}
$col = 'manga';
$order = 'manga_id asc';
$fun = 'mac_url_manga_detail';
$res = model('Manga')->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'] . ' '.$urls[$v[$col.'_id']].'');
}
$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'));
}
}
}