Example #1
0
 /**
  * Replace filesystem file with given file.
  *
  * @param \GO\Base\Fs\File $fsFile
  */
 public function replace(\GO\Base\Fs\File $fsFile, $isUploadedFile = false)
 {
     if ($this->isLocked()) {
         throw new \GO\Files\Exception\FileLocked();
     }
     //		for safety allow replace action
     //		if(!File::checkQuota($fsFile->size()-$this->size))
     //			throw new \GO\Base\Exception\InsufficientDiskSpace();
     if (!$this->isNew) {
         $this->log('edit');
     }
     $this->saveVersion();
     if (!$fsFile->move($this->folder->fsFolder, $this->name, $isUploadedFile)) {
         return false;
     }
     $fsFile->setDefaultPermissions();
     $this->mtime = $fsFile->mtime();
     $this->save();
     $this->fireEvent('replace', array($this, $isUploadedFile));
     return true;
 }
Example #2
0
 /**
  * Add a filesystem file to this folder. The file will be moved to this folder
  * and added to the database.
  *
  * @param \GO\Base\Fs\File $file
  * @param boolean $appendNumberToNameIfExists Set if a number needs to be added to the name if the file already exists.
  * @return File
  */
 public function addFilesystemFile(\GO\Base\Fs\File $file, $appendNumberToNameIfExists = false)
 {
     if (!File::checkQuota($file->size())) {
         throw new \GO\Base\Exception\InsufficientDiskspace();
     }
     $file->move($this->fsFolder, false, false, $appendNumberToNameIfExists);
     $file->setDefaultPermissions();
     return $this->addFile($file->name());
 }