|
|
<?php |
|
|
namespace app\admin\controller; |
|
|
use think\Db; |
|
|
use think\Cache; |
|
|
|
|
|
class Collect extends Base |
|
|
{ |
|
|
public function __construct() |
|
|
{ |
|
|
parent::__construct(); |
|
|
|
|
|
} |
|
|
|
|
|
public function index() |
|
|
{ |
|
|
$param = input(); |
|
|
$param['page'] = intval($param['page']) < 1 ? 1 : $param['page']; |
|
|
$param['limit'] = intval($param['limit']) < 1 ? 100 : $param['limit']; |
|
|
$where = []; |
|
|
|
|
|
$order = 'collect_id desc'; |
|
|
$res = model('Collect')->listData($where, $order, $param['page'], $param['limit']); |
|
|
|
|
|
$this->assign('list', $res['list']); |
|
|
$this->assign('total', $res['total']); |
|
|
$this->assign('page', $res['page']); |
|
|
$this->assign('limit', $res['limit']); |
|
|
|
|
|
$param['page'] = '{page}'; |
|
|
$param['limit'] = '{limit}'; |
|
|
$this->assign('param', $param); |
|
|
|
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_vod'; |
|
|
$collect_break_vod = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_art'; |
|
|
$collect_break_art = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_actor'; |
|
|
$collect_break_actor = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_role'; |
|
|
$collect_break_role = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_website'; |
|
|
$collect_break_website = Cache::get($key); |
|
|
|
|
|
|
|
|
$this->assign('collect_break_vod', $collect_break_vod); |
|
|
$this->assign('collect_break_art', $collect_break_art); |
|
|
$this->assign('collect_break_actor', $collect_break_actor); |
|
|
$this->assign('collect_break_role', $collect_break_role); |
|
|
$this->assign('collect_break_website', $collect_break_website); |
|
|
|
|
|
$this->assign('title',lang('admin/collect/title')); |
|
|
return $this->fetch('admin@collect/index'); |
|
|
} |
|
|
|
|
|
public function test() |
|
|
{ |
|
|
$param = input(); |
|
|
$res = model('Collect')->vod($param); |
|
|
return json($res); |
|
|
} |
|
|
|
|
|
public function info() |
|
|
{ |
|
|
if (Request()->isPost()) { |
|
|
$param = input('post.'); |
|
|
$validate = \think\Loader::validate('Token'); |
|
|
if(!$validate->check($param)){ |
|
|
return $this->error($validate->getError()); |
|
|
} |
|
|
$res = model('Collect')->saveData($param); |
|
|
if ($res['code'] > 1) { |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
return $this->success($res['msg']); |
|
|
} |
|
|
|
|
|
$id = input('id'); |
|
|
$where = []; |
|
|
$where['collect_id'] = ['eq', $id]; |
|
|
$res = model('Collect')->infoData($where); |
|
|
$this->assign('info', $res['info']); |
|
|
$this->assign('title', lang('admin/collect/title')); |
|
|
return $this->fetch('admin@collect/info'); |
|
|
} |
|
|
|
|
|
public function del() |
|
|
{ |
|
|
$param = input(); |
|
|
$ids = $param['ids']; |
|
|
|
|
|
if (!empty($ids)) { |
|
|
$where = []; |
|
|
$where['collect_id'] = ['in', $ids]; |
|
|
|
|
|
$res = model('Collect')->delData($where); |
|
|
if ($res['code'] > 1) { |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
return $this->success($res['msg']); |
|
|
} |
|
|
return $this->error(lang('param_err')); |
|
|
} |
|
|
|
|
|
public function union() |
|
|
{ |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_vod'; |
|
|
$collect_break_vod = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_art'; |
|
|
$collect_break_art = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_actor'; |
|
|
$collect_break_actor = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_role'; |
|
|
$collect_break_role = Cache::get($key); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_website'; |
|
|
$collect_break_website = Cache::get($key); |
|
|
|
|
|
$this->assign('collect_break_vod', $collect_break_vod); |
|
|
$this->assign('collect_break_art', $collect_break_art); |
|
|
$this->assign('collect_break_actor', $collect_break_actor); |
|
|
$this->assign('collect_break_role', $collect_break_role); |
|
|
$this->assign('collect_break_website', $collect_break_website); |
|
|
|
|
|
$this->assign('title', lang('admin/collect/title')); |
|
|
return $this->fetch('admin@collect/union'); |
|
|
} |
|
|
|
|
|
public function load() |
|
|
{ |
|
|
$param = input(); |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'. 'collect_break_' . $param['flag']; |
|
|
$collect_break = Cache::get($key); |
|
|
$url = $this->_ref; |
|
|
if (!empty($collect_break)) { |
|
|
echo lang('admin/collect/load_break'); |
|
|
$url = $collect_break; |
|
|
} |
|
|
mac_jump($url); |
|
|
} |
|
|
|
|
|
public function api($pp = []) |
|
|
{ |
|
|
$param = input(); |
|
|
if (!empty($pp)) { |
|
|
$param = $pp; |
|
|
} |
|
|
|
|
|
|
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
$this->assign('type_list', $type_list); |
|
|
|
|
|
if (!empty($param['pg'])) { |
|
|
$param['page'] = $param['pg']; |
|
|
unset($param['pg']); |
|
|
} |
|
|
@session_write_close(); |
|
|
|
|
|
if ($param['mid'] == '' || $param['mid'] == '1') { |
|
|
return $this->vod($param); |
|
|
} elseif ($param['mid'] == '2') { |
|
|
return $this->art($param); |
|
|
} elseif ($param['mid'] == '8') { |
|
|
return $this->actor($param); |
|
|
} |
|
|
elseif ($param['mid'] == '9') { |
|
|
return $this->role($param); |
|
|
} |
|
|
elseif ($param['mid'] == '11') { |
|
|
return $this->website($param); |
|
|
} |
|
|
} |
|
|
|
|
|
public function timing() |
|
|
{ |
|
|
|
|
|
$res = model('Vod')->updateToday('type'); |
|
|
$this->assign('vod_type_ids_today', $res['data']); |
|
|
|
|
|
return $this->fetch('admin@collect/timing'); |
|
|
} |
|
|
|
|
|
public function clearbind() |
|
|
{ |
|
|
$param = input(); |
|
|
$config = []; |
|
|
if(!empty($param['cjflag'])){ |
|
|
$bind_list = config('bind'); |
|
|
foreach($bind_list as $k=>$v){ |
|
|
if(strpos($k,$param['cjflag'])===false){ |
|
|
$config[$k] = $v; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
$res = mac_arr2file( APP_PATH .'extra/bind.php', $config); |
|
|
if($res===false){ |
|
|
return json(['code'=>0,'msg'=>lang('clear_err')]); |
|
|
} |
|
|
return json(['code'=>1,'msg'=>lang('clear_ok')]); |
|
|
} |
|
|
|
|
|
public function bind() |
|
|
{ |
|
|
$param = input(); |
|
|
$ids = $param['ids']; |
|
|
$col = $param['col']; |
|
|
$val = $param['val']; |
|
|
|
|
|
if(!empty($col)){ |
|
|
$config = config('bind'); |
|
|
$config[$col] = intval($val); |
|
|
$data = []; |
|
|
$data['id'] = $col; |
|
|
$data['st'] = 0; |
|
|
$data['local_type_id'] = $val; |
|
|
$data['local_type_name'] = ''; |
|
|
if(intval($val)>0){ |
|
|
$data['st'] = 1; |
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
$data['local_type_name'] = $type_list[$val]['type_name']; |
|
|
} |
|
|
|
|
|
$res = mac_arr2file( APP_PATH .'extra/bind.php', $config); |
|
|
if($res===false){ |
|
|
return $this->error(lang('save_err')); |
|
|
} |
|
|
return $this->success(lang('save_ok'),null, $data); |
|
|
} |
|
|
return $this->error(lang('param_err')); |
|
|
} |
|
|
|
|
|
public function vod($param) |
|
|
{ |
|
|
if($param['ac'] != 'list'){ |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'.'collect_break_vod'; |
|
|
Cache::set($key, url('collect/api').'?'. http_build_query($param) ); |
|
|
} |
|
|
$res = model('Collect')->vod($param); |
|
|
if($res['code']>1){ |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
|
|
|
if($param['ac'] == 'list'){ |
|
|
|
|
|
$bind_list = config('bind'); |
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
|
|
|
foreach($res['type'] as $k=>$v){ |
|
|
$key = $param['cjflag'] . '_' . $v['type_id']; |
|
|
$res['type'][$k]['isbind'] = 0; |
|
|
$local_id = intval($bind_list[$key]); |
|
|
if( $local_id>0 ){ |
|
|
$res['type'][$k]['isbind'] = 1; |
|
|
$res['type'][$k]['local_type_id'] = $local_id; |
|
|
$type_name = $type_list[$local_id]['type_name']; |
|
|
if(empty($type_name)){ |
|
|
$type_name = lang('unknown_type'); |
|
|
} |
|
|
$res['type'][$k]['local_type_name'] = $type_name; |
|
|
} |
|
|
} |
|
|
|
|
|
$this->assign('page',$res['page']); |
|
|
$this->assign('type',$res['type']); |
|
|
$this->assign('list',$res['data']); |
|
|
|
|
|
$this->assign('total',$res['page']['recordcount']); |
|
|
$this->assign('page',$res['page']['page']); |
|
|
$this->assign('limit',$res['page']['pagesize']); |
|
|
|
|
|
$param['page'] = '{page}'; |
|
|
$param['limit'] = '{limit}'; |
|
|
$this->assign('param',$param); |
|
|
|
|
|
$this->assign('param_str',http_build_query($param)) ; |
|
|
|
|
|
return $this->fetch('admin@collect/vod'); |
|
|
} |
|
|
$page_now = isset($param['page']) && strlen($param['page']) > 0 ? (int)$param['page'] : 1; |
|
|
mac_echo('<title>' . $page_now . '/' . (int)$res['page']['pagecount'] . ' collecting..</title>'); |
|
|
mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>'); |
|
|
model('Collect')->vod_data($param,$res ); |
|
|
|
|
|
} |
|
|
|
|
|
public function art($param) |
|
|
{ |
|
|
if($param['ac'] != 'list'){ |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'.'collect_break_art'; |
|
|
Cache::set($key, url('collect/api').'?'. http_build_query($param) ); |
|
|
} |
|
|
$res = model('Collect')->art($param); |
|
|
if($res['code']>1){ |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
|
|
|
if($param['ac'] == 'list'){ |
|
|
|
|
|
$bind_list = config('bind'); |
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
|
|
|
foreach($res['type'] as $k=>$v){ |
|
|
$key = $param['cjflag'] . '_' . $v['type_id']; |
|
|
$res['type'][$k]['isbind'] = 0; |
|
|
$local_id = intval($bind_list[$key]); |
|
|
if( $local_id>0 ){ |
|
|
$res['type'][$k]['isbind'] = 1; |
|
|
$res['type'][$k]['local_type_id'] = $local_id; |
|
|
$type_name = $type_list[$local_id]['type_name']; |
|
|
if(empty($type_name)){ |
|
|
$type_name = lang('unknown_type'); |
|
|
} |
|
|
$res['type'][$k]['local_type_name'] = $type_name; |
|
|
} |
|
|
} |
|
|
|
|
|
$this->assign('page',$res['page']); |
|
|
$this->assign('type',$res['type']); |
|
|
$this->assign('list',$res['data']); |
|
|
|
|
|
$this->assign('total',$res['page']['recordcount']); |
|
|
$this->assign('page',$res['page']['page']); |
|
|
$this->assign('limit',$res['page']['pagesize']); |
|
|
|
|
|
$param['page'] = '{page}'; |
|
|
$param['limit'] = '{limit}'; |
|
|
$this->assign('param',$param); |
|
|
|
|
|
$this->assign('param_str',http_build_query($param)) ; |
|
|
|
|
|
return $this->fetch('admin@collect/art'); |
|
|
} |
|
|
|
|
|
mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>'); |
|
|
model('Collect')->art_data($param,$res ); |
|
|
} |
|
|
|
|
|
public function actor($param) |
|
|
{ |
|
|
if($param['ac'] != 'list'){ |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'.'collect_break_actor'; |
|
|
Cache::set($key, url('collect/api').'?'. http_build_query($param) ); |
|
|
} |
|
|
$res = model('Collect')->actor($param); |
|
|
if($res['code']>1){ |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
|
|
|
if($param['ac'] == 'list'){ |
|
|
|
|
|
$bind_list = config('bind'); |
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
|
|
|
foreach($res['type'] as $k=>$v){ |
|
|
$key = $param['cjflag'] . '_' . $v['type_id']; |
|
|
$res['type'][$k]['isbind'] = 0; |
|
|
$local_id = intval($bind_list[$key]); |
|
|
if( $local_id>0 ){ |
|
|
$res['type'][$k]['isbind'] = 1; |
|
|
$res['type'][$k]['local_type_id'] = $local_id; |
|
|
$type_name = $type_list[$local_id]['type_name']; |
|
|
if(empty($type_name)){ |
|
|
$type_name = lang('unknown_type'); |
|
|
} |
|
|
$res['type'][$k]['local_type_name'] = $type_name; |
|
|
} |
|
|
} |
|
|
|
|
|
$this->assign('page',$res['page']); |
|
|
$this->assign('type',$res['type']); |
|
|
$this->assign('list',$res['data']); |
|
|
|
|
|
$this->assign('total',$res['page']['recordcount']); |
|
|
$this->assign('page',$res['page']['page']); |
|
|
$this->assign('limit',$res['page']['pagesize']); |
|
|
|
|
|
$param['page'] = '{page}'; |
|
|
$param['limit'] = '{limit}'; |
|
|
$this->assign('param',$param); |
|
|
|
|
|
$this->assign('param_str',http_build_query($param)) ; |
|
|
|
|
|
return $this->fetch('admin@collect/actor'); |
|
|
} |
|
|
|
|
|
mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>'); |
|
|
model('Collect')->actor_data($param,$res ); |
|
|
} |
|
|
|
|
|
public function role($param) |
|
|
{ |
|
|
if ($param['ac'] != 'list') { |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'.'collect_break_role'; |
|
|
Cache::set($key, url('collect/api') . '?' . http_build_query($param)); |
|
|
} |
|
|
$res = model('Collect')->role($param); |
|
|
if ($res['code'] > 1) { |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
|
|
|
if ($param['ac'] == 'list') { |
|
|
|
|
|
$bind_list = config('bind'); |
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
|
|
|
foreach ($res['type'] as $k => $v) { |
|
|
$key = $param['cjflag'] . '_' . $v['type_id']; |
|
|
$res['type'][$k]['isbind'] = 0; |
|
|
$local_id = intval($bind_list[$key]); |
|
|
if ($local_id > 0) { |
|
|
$res['type'][$k]['isbind'] = 1; |
|
|
$res['type'][$k]['local_type_id'] = $local_id; |
|
|
$type_name = $type_list[$local_id]['type_name']; |
|
|
if (empty($type_name)) { |
|
|
$type_name = lang('unknown_type'); |
|
|
} |
|
|
$res['type'][$k]['local_type_name'] = $type_name; |
|
|
} |
|
|
} |
|
|
|
|
|
$this->assign('page', $res['page']); |
|
|
$this->assign('type', $res['type']); |
|
|
$this->assign('list', $res['data']); |
|
|
|
|
|
$this->assign('total', $res['page']['recordcount']); |
|
|
$this->assign('page', $res['page']['page']); |
|
|
$this->assign('limit', $res['page']['pagesize']); |
|
|
|
|
|
$param['page'] = '{page}'; |
|
|
$param['limit'] = '{limit}'; |
|
|
$this->assign('param', $param); |
|
|
|
|
|
$this->assign('param_str', http_build_query($param)); |
|
|
|
|
|
return $this->fetch('admin@collect/role'); |
|
|
} |
|
|
|
|
|
mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>'); |
|
|
model('Collect')->role_data($param,$res ); |
|
|
} |
|
|
|
|
|
public function website($param) |
|
|
{ |
|
|
if ($param['ac'] != 'list') { |
|
|
$key = $GLOBALS['config']['app']['cache_flag']. '_'.'collect_break_website'; |
|
|
Cache::set($key, url('collect/api') . '?' . http_build_query($param)); |
|
|
} |
|
|
$res = model('Collect')->website($param); |
|
|
if ($res['code'] > 1) { |
|
|
return $this->error($res['msg']); |
|
|
} |
|
|
|
|
|
if ($param['ac'] == 'list') { |
|
|
|
|
|
$bind_list = config('bind'); |
|
|
$type_list = model('Type')->getCache('type_list'); |
|
|
|
|
|
foreach ($res['type'] as $k => $v) { |
|
|
$key = $param['cjflag'] . '_' . $v['type_id']; |
|
|
$res['type'][$k]['isbind'] = 0; |
|
|
$local_id = intval($bind_list[$key]); |
|
|
if ($local_id > 0) { |
|
|
$res['type'][$k]['isbind'] = 1; |
|
|
$res['type'][$k]['local_type_id'] = $local_id; |
|
|
$type_name = $type_list[$local_id]['type_name']; |
|
|
if (empty($type_name)) { |
|
|
$type_name = lang('unknown_type'); |
|
|
} |
|
|
$res['type'][$k]['local_type_name'] = $type_name; |
|
|
} |
|
|
} |
|
|
|
|
|
$this->assign('page', $res['page']); |
|
|
$this->assign('type', $res['type']); |
|
|
$this->assign('list', $res['data']); |
|
|
|
|
|
$this->assign('total', $res['page']['recordcount']); |
|
|
$this->assign('page', $res['page']['page']); |
|
|
$this->assign('limit', $res['page']['pagesize']); |
|
|
|
|
|
$param['page'] = '{page}'; |
|
|
$param['limit'] = '{limit}'; |
|
|
$this->assign('param', $param); |
|
|
|
|
|
$this->assign('param_str', http_build_query($param)); |
|
|
|
|
|
return $this->fetch('admin@collect/website'); |
|
|
} |
|
|
|
|
|
mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>'); |
|
|
model('Collect')->website_data($param,$res ); |
|
|
} |
|
|
} |
|
|
|