2019-02-19 09:52:13 +00:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| SkyCaiji (蓝天采集器)
|
|
|
|
|--------------------------------------------------------------------------
|
2019-06-23 02:20:58 +00:00
|
|
|
| Copyright (c) 2018 https://www.skycaiji.com All rights reserved.
|
2019-02-19 09:52:13 +00:00
|
|
|
|--------------------------------------------------------------------------
|
2019-06-23 02:20:58 +00:00
|
|
|
| 使用协议 https://www.skycaiji.com/licenses
|
2019-02-19 09:52:13 +00:00
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace skycaiji\admin\controller;
|
|
|
|
|
|
|
|
class Collected extends BaseController {
|
|
|
|
public function listAction(){
|
|
|
|
$taskName=input('task_name');
|
|
|
|
$page=input('p/d',1);
|
|
|
|
$page=max(1,$page);
|
|
|
|
$mcollected=model('Collected');
|
|
|
|
$mtask=model('Task');
|
|
|
|
$cond=array();
|
|
|
|
$search=array();
|
|
|
|
$null_task=false;
|
|
|
|
if(!empty($taskName)){
|
|
|
|
$search['task_name']=$taskName;
|
|
|
|
|
|
|
|
$searchTasks=$mtask->field('`id`,`name`')->where(array('name'=>array('like',"%{$taskName}%")))->column('name','id');
|
|
|
|
if(!empty($searchTasks)){
|
|
|
|
$cond['task_id']=array('in',array_keys($searchTasks));
|
|
|
|
}else{
|
|
|
|
$null_task=true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$search['num']=input('num/d',200);
|
|
|
|
$search['url']=input('url','','trim');
|
|
|
|
if(!empty($search['url'])){
|
|
|
|
$cond['url']=array('like','%'.addslashes($search['url']).'%');
|
|
|
|
}
|
|
|
|
$search['release']=input('release');
|
|
|
|
if(!empty($search['release'])){
|
|
|
|
$cond['release']=$search['release'];
|
|
|
|
}
|
|
|
|
$search['status']=input('status');
|
|
|
|
if(!empty($search['status'])){
|
|
|
|
if($search['status']==1){
|
|
|
|
|
|
|
|
$cond['target']=array('<>','');
|
|
|
|
}elseif($search['status']==2){
|
|
|
|
|
|
|
|
$cond['error']=array('<>','');
|
|
|
|
}
|
|
|
|
}
|
2019-03-14 09:13:21 +00:00
|
|
|
$dataList=array();
|
|
|
|
$taskList=array();
|
2019-02-19 09:52:13 +00:00
|
|
|
if(!$null_task){
|
|
|
|
$count=$mcollected->where($cond)->count();
|
|
|
|
$limit=$search['num'];
|
|
|
|
if($count>0){
|
|
|
|
|
2019-03-14 09:13:21 +00:00
|
|
|
$dataList=$mcollected->where($cond)->order('id desc')->paginate($limit,false,paginate_auto_config());
|
2019-02-19 09:52:13 +00:00
|
|
|
|
|
|
|
$pagenav=$dataList->render();
|
|
|
|
$this->assign('pagenav',$pagenav);
|
|
|
|
$dataList=$dataList->all();
|
|
|
|
$dataList=empty($dataList)?array():$dataList;
|
|
|
|
|
|
|
|
$taskIds=array();
|
|
|
|
foreach ($dataList as $itemK=>$item){
|
|
|
|
$taskIds[$item['task_id']]=$item['task_id'];
|
|
|
|
if(preg_match('/^\w+\:\/\//', $item['target'])){
|
|
|
|
|
|
|
|
$dataList[$itemK]['target']='<a href="'.$item['target'].'" target="_blank">'.$item['target'].'</a>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($taskIds)){
|
|
|
|
$taskList=model('Task')->where(array('id'=>array('in',$taskIds)))->column('name','id');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$GLOBALS['content_header']=lang('collected_list');
|
|
|
|
$GLOBALS['breadcrumb']=breadcrumb(array(array('url'=>url('Collected/list'),'title'=>lang('collected_list'))));
|
|
|
|
}
|
|
|
|
$this->assign('search',$search);
|
2019-03-14 09:13:21 +00:00
|
|
|
$this->assign('dataList',$dataList);
|
|
|
|
$this->assign('taskList',$taskList);
|
2019-02-19 09:52:13 +00:00
|
|
|
return $this->fetch();
|
|
|
|
}
|
2019-03-14 09:13:21 +00:00
|
|
|
/*清理失败的数据*/
|
|
|
|
public function clearErrorAction(){
|
|
|
|
model('Collected')->where("`error` is not null and `error`<>''")->delete();
|
|
|
|
$this->success('清理完成','Admin/Collected/list');
|
|
|
|
}
|
2019-02-19 09:52:13 +00:00
|
|
|
/**
|
|
|
|
* 操作
|
|
|
|
*/
|
|
|
|
public function opAction(){
|
|
|
|
$id=input('id/d',0);
|
|
|
|
$op=input('op');
|
|
|
|
$ops=array('item'=>array('delete'),'list'=>array('deleteall'));
|
|
|
|
if(!in_array($op,$ops['item'])&&!in_array($op,$ops['list'])){
|
|
|
|
|
|
|
|
$this->error(lang('invalid_op'));
|
|
|
|
}
|
|
|
|
|
|
|
|
$mcollected=model('Collected');
|
|
|
|
if(in_array($op,$ops['item'])){
|
|
|
|
|
|
|
|
$collectedData=$mcollected->getById($id);
|
|
|
|
if(empty($collectedData)){
|
|
|
|
$this->error(lang('empty_data'));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if($op=='delete'){
|
|
|
|
|
|
|
|
$mcollected->where(array('id'=>$id))->delete();
|
|
|
|
$this->success(lang('delete_success'));
|
|
|
|
}elseif($op=='deleteall'){
|
|
|
|
|
|
|
|
$ids=input('ids/a',0,'intval');
|
|
|
|
if(is_array($ids)&&count($ids)>0){
|
|
|
|
$mcollected->where(array('id'=>array('in',$ids)))->delete();
|
|
|
|
}
|
|
|
|
$this->success(lang('op_success'),'list');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|