コード例 #1
0
ファイル: InputFile.php プロジェクト: limen/fileflake
 /**
  * @param BaseModel $fileInfo
  * @return static
  */
 public static function initWithFileMeta(BaseModel $fileInfo)
 {
     $instance = new static();
     foreach ($fileInfo->toArray() as $k => $v) {
         $instance->{$k} = $v;
     }
     return $instance;
 }
コード例 #2
0
ファイル: FileMetaModel.php プロジェクト: limen/fileflake
 /**
  * @param $fid
  * @return InputFile
  */
 public function decrFileRefCountById($fid)
 {
     /** @var static $row */
     $row = $this->model->ofId($fid);
     $row->refCount--;
     $fileInfo = InputFile::initWithFileMeta($row);
     if ($row->refCount == 0) {
         $this->model->deleteById($row->id);
     } else {
         $this->model->updateOne($row->id, ['refCount' => $row->refCount]);
     }
     return $fileInfo;
 }
コード例 #3
0
ファイル: FileNodeModel.php プロジェクト: limen/fileflake
 /**
  * Get chunk content
  * @param $chunkId string chunk Id
  * @return string|null
  */
 public function get($chunkId)
 {
     $row = $this->model->ofId($chunkId);
     return $row ? $row['content'] : null;
 }
コード例 #4
0
ファイル: NodeMetaModel.php プロジェクト: limen/fileflake
 /**
  * @return array
  */
 public function getUsedNodes()
 {
     return $this->model->where('fileCount', '>', 0)->get()->toArray();
 }