public static function factory(Storage $storage, $row) { $tempfile = new File($storage); $tempfile->setFileID($row["fileid"]); $tempfile->setFilename($row["filename"]); $tempfile->setExportFilename($row["exportfilename"]); $tempfile->setMimeType($row["mimetype"]); return $tempfile; }
/** * Migrate a single file * * @param string $base Absolute base path (parent of assets folder) * @param File $file * @param string $legacyFilename * @return bool True if this file is imported successfully */ protected function migrateFile($base, File $file, $legacyFilename) { // Make sure this legacy file actually exists $path = $base . '/' . $legacyFilename; if (!file_exists($path)) { return false; } // Copy local file into this filesystem $filename = $file->generateFilename(); $result = $file->setFromLocalFile($path, $filename, null, null, array('conflict' => AssetStore::CONFLICT_OVERWRITE)); // Move file if the APL changes filename value if ($result['Filename'] !== $filename) { $file->setFilename($result['Filename']); } // Save and publish $file->write(); $file->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE); return true; }
/** * @static * @param GitCommand $gitCommand * @param Branch $branch * @param string $lastBranchSynchronizationCommit * @return int 0 if succeed */ public static function synchronize(GitCommand $gitCommand, Branch $branch, $lastBranchSynchronizationCommit = null) { $filesGit = $gitCommand->getDiffFilesFromBranch($branch->getRepository()->getGitDir(), $branch->getCommitReference(), $branch->getLastCommit()); if (count($filesGit) > sfConfig::get('app_max_number_of_files_to_review', 4096)) { return count($filesGit); } $filesModel = FileQuery::create()->filterByBranchId($branch->getId())->find(); if (count($filesModel) > 0) { $diffFilesFromLastSynch = $gitCommand->getDiffFilesFromBranch($branch->getRepository()->getGitDir(), !is_null($lastBranchSynchronizationCommit) ? $lastBranchSynchronizationCommit : $branch->getCommitReference(), $branch->getLastCommit(), false); } foreach ($filesModel as $fileModel) { /** @var $fileModel File */ if (!array_key_exists($fileModel->getFilename(), $filesGit)) { $fileModel->delete(); } else { $lastChangeCommit = $gitCommand->getLastModificationCommit($branch->getRepository()->getGitDir(), $branch->getName(), $fileModel->getFilename()); if (isset($diffFilesFromLastSynch[$fileModel->getFilename()])) { $fileModel->setReviewRequest(true)->setStatus(BranchPeer::A_TRAITER)->setCommitStatusChanged($lastChangeCommit); } else { $fileModel->setReviewRequest(false); } if ($filesGit[$fileModel->getFilename()]['is-binary']) { $fileModel->setIsBinary(true)->setNbAddedLines(0)->setNbDeletedLines(0); } else { $fileModel->setIsBinary(false)->setNbAddedLines($filesGit[$fileModel->getFilename()]['added-lines'])->setNbDeletedLines($filesGit[$fileModel->getFilename()]['deleted-lines']); } $fileModel->setState($filesGit[$fileModel->getFilename()]['state'])->setLastChangeCommit($lastChangeCommit)->setCommitInfos($gitCommand->getCommitInfos($branch->getRepository()->getGitDir(), $lastChangeCommit, "%ce %s"))->setCommitReference($branch->getCommitReference())->save(); } unset($filesGit[$fileModel->getFilename()]); } foreach ($filesGit as $fileGit) { $lastChangeCommit = $gitCommand->getLastModificationCommit($branch->getRepository()->getGitDir(), $branch->getName(), $fileGit['filename']); $file = new File(); if ($fileGit['is-binary']) { $file->setIsBinary(true)->setNbAddedLines(0)->setNbDeletedLines(0); } else { $file->setIsBinary(false)->setNbAddedLines($fileGit['added-lines'])->setNbDeletedLines($fileGit['deleted-lines']); } $file->setFilename($fileGit['filename'])->setStatus(BranchPeer::A_TRAITER)->setState($fileGit['state'])->setBranchId($branch->getId())->setLastChangeCommit($lastChangeCommit)->setCommitInfos($gitCommand->getCommitInfos($branch->getRepository()->getGitDir(), $lastChangeCommit, "%ce %s"))->setCommitReference($branch->getCommitReference())->setReviewRequest(true)->save(); } return 0; }
public function saveImportForm($data, $form) { if (isset($data['imported_files']) && is_array($data['imported_files'])) { $_POST['uploaded_files'] = array(); // If the user has set a custom upload folder, cut a new copy of the file when importing $custom_folder = $this->getUploadFolder() != "Uploads" ? Folder::findOrMake($this->getCleanUploadFolder()) : false; foreach ($data['imported_files'] as $file_id) { $file = DataObject::get_by_id("File", $file_id); if ($custom_folder && $file->ParentID != $custom_folder->ID) { $new_path = Director::baseFolder() . '/' . $custom_folder->Filename . $file->Name; copy($file->getFullPath(), $new_path); $new_file = new File(); $new_file->setFilename($custom_folder->Filename . $file->Name); $new_file->setName($file->Name); $new_file->setParentID($custom_folder->ID); $new_file->write(); $file = $new_file; $file_id = $new_file->ID; } // If something other than File has been specified as the linked file class, // we need to "upgrade" the imported file to the correct class. if ($this->fileClassName != "File" && $file->ClassName != $this->fileClassName) { $file = $file->newClassInstance($this->fileClassName); $file->write(); } $owner_id = $data['parentIDName']; if ($this->hasDataObject) { $do_class = $data['dataObjectClassName']; $idxfield = $data['fileFieldName'] . "ID"; $obj = new $do_class(); $obj->{$idxfield} = $file_id; $obj->{$owner_id} = $data['controllerID']; $obj->write(); $_POST['uploaded_files'][] = $obj->ID; } else { if ($file = DataObject::get_by_id($this->fileClassName, $file_id)) { $id_field = $this->controllerFieldName . "ID"; if ($file->hasField($owner_id)) { $file->{$owner_id} = $this->controllerID; $file->write(); } } } } $form = $this->EditUploadedForm(); return $this->customise(array('String' => is_string($form), 'DetailForm' => $form))->renderWith($this->templatePopup); } }
function setFilename($filename) { $this->setField('Title',pathinfo($filename, PATHINFO_BASENAME)); parent::setFilename($filename); }
public function testAddingAFilename() { $file = new File(); $file->setFilename('test'); $this->assertSame('test', $file->getFilename()); }
/** * @depends testGetFilename * @covers Versionable\Prospect\Response\File::setFilename * @covers Versionable\Prospect\Response\File::getFilename */ public function testSetFilename() { $filename = 'test'; $this->object->setFilename($filename); $this->assertEquals($filename, $this->object->getFilename()); }
public function loadTranscodedFiles() { // get (a) source file to deduct name etc from... $source = false; if (!$source && $this->SourceID) { $source = $this->Source(); } if (!$source && $this->MP3ID) { $source = $this->MP3(); } if (!$source && $this->OGGID) { $source = $this->OGG(); } $ext = pathinfo($source->getFilename(), PATHINFO_EXTENSION); $aud_name = basename($source->getFilename(), "." . $ext); // with extension stripped $aud_path = Config::inst()->get('Transcoding', 'transcode_relative_audio_path_base'); $mp3_path = "{$vid_path}{$vid_name}.mp3"; $ogg_path = "{$vid_path}{$vid_name}.ogg"; if (!$this->MP3ID && file_exists(BASE_PATH . "/" . $mp3_path)) { $file = new File(); $file->setFilename($mp3_path); $file->write(); $this->MP3ID = $file->ID; } if (!$this->OGGID && file_exists(BASE_PATH . "/" . $ogg_path)) { $file = new File(); $file->setFilename($ogg_path); $file->write(); $this->OGGID = $file->ID; } $this->write(); }
public function loadTranscodedFiles() { // get (a) source file to deduct name etc from... $source = false; if (!$source && $this->SourceID) { $source = $this->Source(); } if (!$source && $this->MP4ID) { $source = $this->MP4(); } if (!$source && $this->WEBMID) { $source = $this->WEBM(); } if (!$source && $this->OGVID) { $source = $this->OGV(); } $ext = pathinfo($source->getFilename(), PATHINFO_EXTENSION); $vid_name = basename($source->getFilename(), "." . $ext); // with extension stripped $vid_path = Config::inst()->get('Transcoding', 'transcode_relative_video_path_base'); $poster_path = "{$vid_path}{$vid_name}-01.jpg"; $mp4_path = "{$vid_path}{$vid_name}.mp4"; $webm_path = "{$vid_path}{$vid_name}.webm"; $ogv_path = "{$vid_path}{$vid_name}.ogv"; if (!$this->PosterID && file_exists(BASE_PATH . "/" . $poster_path)) { $file = new Image(); $file->setFilename($poster_path); $file->write(); $this->PosterID = $file->ID; } if (!$this->MP4ID && file_exists(BASE_PATH . "/" . $mp4_path)) { $file = new File(); $file->setFilename($mp4_path); $file->write(); $this->MP4ID = $file->ID; } if (!$this->WEBMID && file_exists(BASE_PATH . "/" . $webm_path)) { $file = new File(); $file->setFilename($webm_path); $file->write(); $this->WEBMID = $file->ID; } if (!$this->OGVID && file_exists(BASE_PATH . "/" . $ogv_path)) { $file = new File(); $file->setFilename($ogv_path); $file->write(); $this->OGVID = $file->ID; } $this->write(); }