why.xingtongworld.com项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

209 lines
6.7 KiB

<?php
// +----------------------------------------------------------------------
// | YFCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2015-2016 http://www.rainfer.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: rainfer <81818832@qq.com>
// +----------------------------------------------------------------------
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("(<a[^>]*page[=|/](\d+).+?>(.+?)<\/a>)","<a href='javascript:ajax_page($1);'>$2</a>",$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('已审');
}
}
}