// +---------------------------------------------------------------------- namespace app\admin\controller; use think\Db; class Download extends Base { /** * 资料下载列表 */ public function download_list() { $d_catid=input('catid',0,'intval'); $d_cid=input('cid',0,'intval'); $downloads=Db::name('download')->where('d_catlogid',$d_catid)->where('d_cid',$d_cid)->order('d_order,d_time desc')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]); $show = $downloads->render(); $show=preg_replace("(]*page[=|/](\d+).+?>(.+?)<\/a>)","$2",$show); $this->assign('d_catid',$d_catid); $this->assign('d_cid',$d_cid); $this->assign('downloads',$downloads); $this->assign('page',$show); if(request()->isAjax()){ return $this->fetch('ajax_download_list'); }else{ return $this->fetch(); } } /** * 添加显示 */ public function download_add() { $d_catid=input('catid',0,'intval'); $d_cid=input('cid',0,'intval'); if (!request()->isAjax()){ $this->assign('d_catid',$d_catid); $this->assign('d_cid',$d_cid); return $this->fetch(); }else{ $files = request()->file('file_all'); $fileall_url=''; if($files){ foreach ($files as $file) { $info = $file->rule('uniqid')->move(ROOT_PATH . config('upload_path') . DS . date('Y-m-d')); if ($info) { $file_url = config('upload_path'). '/' . date('Y-m-d') . '/' . $info->getFilename(); //写入数据库 $data['uptime'] = time(); $data['filesize'] = $info->getSize(); $data['path'] = $file_url; Db::name('plug_files')->insert($data); $fileall_url = $file_url; } else { $this->error($file->getError(), url('admin/Download/download_list',['cid'=>$d_cid]));//否则就是上传错误,显示错误原因 } } } $sl_data=array( 'd_name'=>input('d_name'), 'd_status'=>input('d_status',0), 'd_uid'=>session('admin_auth.aid'), 'd_time'=>time(), 'd_order'=>input('d_order',50,'intval'), 'd_url'=>$fileall_url, 'd_cid'=>$d_cid, 'd_catlogid'=>$d_catid ); $rst=Db::name('download')->insert($sl_data); if($rst){ $this->success('添加成功',url('admin/Download/download_list',['cid'=>$d_cid,'catid'=>$d_catid])); }else{ $this->error('添加失败',url('admin/Download/download_list',['cid'=>$d_cid,'catid'=>$d_catid])); } } } /** * 编辑显示 */ public function download_edit() { $d_catid=input('catid',0,'intval'); $d_cid=input('cid',0,'intval'); if (!request()->isAjax()) { $d_id = input('d_id'); if (empty($d_id)) { $this->error('参数错误', url('admin/Download/download_list',['cid'=>$d_cid])); } $download_list = Db::name('download')->find($d_id); $this->assign('download_list', $download_list); $this->assign('d_catid',$d_catid); $this->assign('d_cid',$d_cid); return $this->fetch(); }else{ //文件 $files = request()->file('file_all'); $fileall_url=''; if($files){ foreach ($files as $file) { $info = $file->rule('uniqid')->move(ROOT_PATH . config('upload_path') . DS . date('Y-m-d')); if ($info) { $file_url = config('upload_path'). '/' . date('Y-m-d') . '/' . $info->getFilename(); //写入数据库 $data['uptime'] = time(); $data['filesize'] = $info->getSize(); $data['path'] = $file_url; Db::name('plug_files')->insert($data); $fileall_url = $file_url; } else { $this->error($file->getError(), url('admin/Download/download_list',['cid'=>$d_cid]));//否则就是上传错误,显示错误原因 } } } $sl_data=array( 'd_id'=>input('d_id'), 'd_name'=>input('d_name'), 'd_status'=>input('d_status',0), 'd_order'=>input('d_order',50,'intval'), ); if(!empty($fileall_url)){ $sl_data['d_url']=$fileall_url; } $rst=Db::name('download')->update($sl_data); if($rst!==false){ $this->success('修改成功',url('admin/Download/download_list',['cid'=>$d_cid,'catid'=>$d_catid])); }else{ $this->error('修改失败',url('admin/Download/download_list',['cid'=>$d_cid,'catid'=>$d_catid])); } } } /** * 排序 */ public function download_order() { $d_catid=input('catid',0,'intval'); $d_cid=input('cid',0,'intval'); if (!request()->isAjax()){ $this->error('提交方式不正确',url('admin/Download/download_list',['cid'=>$d_cid,'catid'=>$d_catid])); }else{ foreach (input('post.') as $d_id => $d_order){ Db::name('download')->update(['d_id'=>$d_id,'d_order'=>$d_order]); } $this->success('排序更新成功',url('admin/Download/download_list',['cid'=>$d_cid,'catid'=>$d_catid])); } } /** * 删除(单个) */ public function download_del() { $d_catid=input('catid',0,'intval'); $d_cid=input('cid',0,'intval'); $p=input('p'); $rst=Db::name('download')->delete(input('d_id')); if($rst!==false){ $this->success('删除成功',url('admin/Download/download_list',array('p'=>$p,'cid'=>$d_cid,'catid'=>$d_catid))); }else{ $this -> error("删除失败!",url('admin/Download/download_list',array('p'=>$p,'cid'=>$d_cid,'catid'=>$d_catid))); } } /** * 删除(全选) */ public function download_alldel() { $p = input('p'); $ids = input('d_id/a'); $d_catid=input('catid',0,'intval'); $d_cid=input('cid',0,'intval'); if(empty($ids)){ $this -> error("请选择待删除数据",url('admin/Download/download_list',array('p'=>$p,'cid'=>$d_cid,'catid'=>$d_catid))); } if(is_array($ids)){ $where = 'd_id in('.implode(',',$ids).')'; }else{ $where = 'd_id='.$ids; } $rst=Db::name('download')->where($where)->delete(); if($rst!==false){ $this->success("删除成功",url('admin/Download/download_list',array('p'=>$p,'cid'=>$d_cid,'catid'=>$d_catid))); }else{ $this -> error("删除失败!",url('admin/Download/download_list',array('p'=>$p,'cid'=>$d_cid,'catid'=>$d_catid))); } } /** * 审核/取消审核 */ public function download_state() { $id=input('x'); $status=Db::name('download')->where(array('d_id'=>$id))->value('d_status'); if($status==1){ $statedata = array('d_status'=>0); Db::name('download')->where(array('d_id'=>$id))->setField($statedata); $this->success('未审'); }else{ $statedata = array('d_status'=>1); Db::name('download')->where(array('d_id'=>$id))->setField($statedata); $this->success('已审'); } } }