Ejemplo n.º 1
0
 public function pasteFolder($record_id, $parent_id)
 {
     $file = FileRecord::findOne(['f_record_id' => $record_id, 'state' => '0']);
     $childs = FileRecord::findAll(['parent_id' => $record_id, 'state' => '0']);
     $date = date('Y-m-d H:i:s');
     $newRecord = new FileRecord();
     $newRecord->f_record_id = md5($file->f_record_id . $date);
     $newRecord->f_record_type = $file->f_record_type;
     $newRecord->file_id = $file->file_id;
     $newRecord->user_id = $file->user_id;
     $newRecord->file_name = $file->file_name;
     $newRecord->file_type = $file->file_type;
     $newRecord->extension = $file->extension;
     $newRecord->file_size = $file->file_size;
     $newRecord->parent_id = $parent_id;
     $newRecord->upload_date = $date;
     $newRecord->state = $file->state;
     if ($newRecord->save()) {
         foreach ($childs as $child) {
             if ($child->f_record_type == '2') {
                 $this->pasteFolder($child->f_record_id, $newRecord->f_record_id);
             }
             if ($child->f_record_type == '1') {
                 $this->pasteFile($child->f_record_id, $newRecord->f_record_id);
             }
         }
     } else {
         throw new Exception('FileRecord error');
     }
 }
Ejemplo n.º 2
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;
     }
 }