/** * 分享文件 * POST /share/ * @method POST_index * @param key 获取token时返回的key */ public function POST_indexAction() { $userid = $this->auth(); $response['status'] = 0; if (!Input::post('fid', $fid, 'int')) { $response['info'] = '未选择文件'; } elseif (!($File = FileModel::field('name,url,status')->where('use_id', '=', $userid)->where('status', '>', 0)->find($fid))) { /*数据库中查询的文件*/ $response['info'] = '文件无效'; } elseif ($File['status'] & self::SHARED_FLAG) { /*是否已经共享*/ $response['info'] = '文件已分享'; } elseif (!($share['url'] = File::share($File->url))) { /*发布到共享空间*/ $response['info'] = '文件转移出错'; } else { /*验证完成,开始插入*/ $share['fil_id'] = $fid; $share['use_id'] = $userid; $share['name'] = Input::post('name', $name, 'title') ? $name : $File->name; if (Input::post('detail', $detail, 'text')) { $share['detail'] = $detail; } if (Input::post('anonymous', $anonymous)) { $share['anonymous'] = boolval($anonymous); } if ($sid = ShareModel::Insert($share)) { //插入成功 //文件状态,更新为已分享 $File->save(['status' => $File['status'] | self::SHARED_FLAG]); //TODO //分享文件预处理 $response['status'] = 1; $response['info'] = ['msg' => '分享成功', 'id' => $sid]; } else { $response['info'] = '分享失败'; } } $this->response = $response; }