| <?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 ); |
| } |
| } |
|
|