Пример #1
0
 /**
  * @param $email
  * @param $userName
  * @param $password
  * @return array|int
  * 用户注册
  * 成功返回1
  * 错误返回错误信息数组
  */
 public function userRegister($email, $userName, $password)
 {
     $createDate = date('Y-m-d H:i:sa');
     $userId = md5($email . $createDate);
     $user = new User();
     $user->user_id = $userId;
     $user->user_email = $email;
     $user->user_password = md5($password);
     $user->user_name = $userName;
     $user->create_date = $createDate;
     $tran = \Yii::$app->db->beginTransaction();
     try {
         if ($user->save()) {
             $disk = new Disk();
             $disk->disk_id = md5($userId . $createDate);
             //创建用户空间
             $disk->user_id = $userId;
             $disk->capacity = 21474836480;
             //20GB
             $disk->available_size = 21474836480;
             $disk->create_date = $createDate;
             if ($disk->save()) {
                 //初始化用户跟目录
                 $fileRecord = new FileRecord();
                 $fileRecord->f_record_id = $userId;
                 $fileRecord->f_record_type = '2';
                 //f_record_type:2,目录类型
                 $fileRecord->file_id = '0';
                 //目录类型文件id为0
                 $fileRecord->user_id = $userId;
                 $fileRecord->file_name = '我的网盘';
                 $fileRecord->extension = '';
                 $fileRecord->file_type = 'folder';
                 $fileRecord->file_size = 0;
                 $fileRecord->parent_id = '0';
                 //跟目录上级目录为0
                 $fileRecord->upload_date = $createDate;
                 $fileRecord->state = '0';
                 //记录状态0为正常
                 if ($fileRecord->save()) {
                     $tran->commit();
                     $_SESSION['user'] = $user;
                     return 'success';
                 } else {
                     $tran->rollBack();
                     return $fileRecord->errors;
                 }
             } else {
                 $tran->rollBack();
                 return $disk->errors;
             }
         } else {
             $tran->rollBack();
             return $user->errors;
         }
     } catch (Exception $e) {
         $tran->rollBack();
         return $e->errors;
     }
 }
Пример #2
0
 public function getFileByCode($code)
 {
     $shareCode = ShareCode::findOne(['code' => $code]);
     if ($shareCode == null) {
         return '1';
         //提取码不存在
     }
     $fileRecord = FileRecord::findOne(['f_record_id' => $shareCode->f_record_id, 'state' => '0']);
     if ($fileRecord == null) {
         return '2';
         //文件已删除
     }
     return $fileRecord->file_id;
 }
Пример #3
0
 public function logManageFile($fileId, $info)
 {
     $tran = \Yii::$app->db->beginTransaction();
     $records = FileRecord::findAll(['file_id' => $fileId]);
     $fileService = new FileService();
     foreach ($records as $record) {
         if ($record->state == '0') {
             //$fileService->deleteFile($record->f_record_id,$record->user_id);
         }
     }
     $conn = \Yii::$app->db;
     $sql = 'update file_record set state="2" where file_id="' . $fileId . '"';
     $command = $conn->createCommand($sql);
     if (!$command->execute()) {
         $tran->rollBack();
         return 'error';
     }
     $log = new FileManageLog();
     $log->fm_log_id = md5($fileId . $_SESSION['admin']['admin_id'] . date('Y-m-d H:i:s'));
     $log->file_id = $fileId;
     $log->admin_id = $_SESSION['admin']['admin_id'];
     $log->fm_manage_type = '1';
     //禁用文件
     $log->fm_manage_info = $info;
     $log->create_date = date('Y-m-d H:i:s');
     if ($log->save()) {
         $tran->commit();
         return 'success';
     } else {
         $tran->rollBack();
         return $log->errors;
     }
 }
Пример #4
0
 public function actionRename()
 {
     if (Yii::$app->request->isPost) {
         $record_id = $_POST['record_id'];
         $newName = $_POST['new_name'];
         $fileService = new FileService();
         $msg = $fileService->rename($record_id, $newName);
         if ($msg == 'success') {
             $record = FileRecord::findOne(['f_record_id' => $record_id]);
             $result['code'] = '0';
             $result['file_name'] = $record->file_name;
             echo json_encode($result);
         } else {
             $result['code'] = '1';
             $result['msg'] = $msg;
             echo json_encode($result);
         }
     }
 }