/** * @see sfTask */ protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); if (sfAssetFolderPeer::retrieveRoot()) { throw new sfException('The asset library already has a root'); } $this->logSection('asset', sprintf('Creating root node at %s...', sfConfig::get('app_sfAssetsLibrary_upload_dir', 'media')), null, 'COMMENT'); $folder = new sfAssetFolder(); $folder->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir', 'media')); sfAssetFolderPeer::createRoot($folder); $folder->save(); $this->logSection('asset', 'Root Node Created', null, 'INFO'); }
/** * * @param object $task * @param array $args */ function run_sfassetlibrary_create_root($task, $args) { $app = $args[0]; $env = empty($args[1]) ? 'dev' : $args[1]; // define constants define('SF_ROOT_DIR', sfConfig::get('sf_root_dir')); define('SF_APP', $app); define('SF_ENVIRONMENT', $env); define('SF_DEBUG', true); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; // initialize database manager $databaseManager = new sfDatabaseManager(); $databaseManager->initialize(); $con = Propel::getConnection(); if (sfAssetFolderPeer::getRoot()) { throw new sfException('The asset library already has a root'); } echo pakeColor::colorize(sprintf("Creating root node at %s...\n", sfConfig::get('app_sfAssetsLibrary_upload_dir', 'media')), 'COMMENT'); sfAssetFolderPeer::createRoot(); echo pakeColor::colorize("Root Node Created\n", 'INFO'); }
/** * Sets node properties to make it a root node. * * @return sfAssetFolder The current object (for fluent API support) * @throws PropelException */ public function makeRoot() { sfAssetFolderPeer::createRoot($this); return $this; }
<?php $app = 'frontend'; include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php'; include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; $databaseManager = new sfDatabaseManager($configuration); $con = Propel::getConnection(); $con->beginTransaction(); try { // prepare test environment sfAssetFolderPeer::doDeleteAll(); sfAssetPeer::doDeleteAll(); sfConfig::set('app_sfAssetsLibrary_upload_dir', 'mediaTEST'); $root = new sfAssetFolder(); $root->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir')); sfAssetFolderPeer::createRoot($root); $root->save(); $rootId = $root->getId(); // run the test $t = new lime_test(10, array('options' => new lime_output_color(), 'error_reporting' => true)); $t->diag('sfAssetFolder::getName()'); # $sfAssetFolder is /root/Test_Directory $sfAssetFolder = new sfAssetFolder(); $sfAssetFolder->setName('Test_Directory'); $sfAssetFolder->insertAsFirstChildOf($root); $sfAssetFolder->save(); $t->is($sfAssetFolder->getName(), 'Test_Directory', 'getName() returns the folder name'); $t->diag('sfAssetFolder::getRelativePath()'); $t->is($sfAssetFolder->getRelativePath(), $root->getRelativePath() . '/' . $sfAssetFolder->getName(), 'getRelativePath() returns the folder relative path, including its own name'); # $sfAssetFolder2 is /root/Test_Directory/Test_Sub-directory $sfAssetFolder2 = new sfAssetFolder();
<?php $app = 'frontend'; include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php'; include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; $databaseManager = new sfDatabaseManager($configuration); $con = Propel::getConnection(); $con->beginTransaction(); try { // prepare test environment sfAssetFolderPeer::doDeleteAll(); sfAssetPeer::doDeleteAll(); sfConfig::set('app_sfAssetsLibrary_upload_dir', 'mediaTEST'); $f = new sfAssetFolder(); $f->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir')); sfAssetFolderPeer::createRoot($f); $f->save(); $t = new lime_test(5, array('options' => new lime_output_color(), 'error_reporting' => true)); $t->diag('sfAssetPeer'); $t->is(sfAssetPeer::retrieveFromUrl(sfAssetFolderPeer::retrieveRoot()->getRelativePath() . '/filename.jpg'), null, 'sfAssetPeer::retrieveFromUrl() returns null when a URL is not found'); $t->is(sfAssetPeer::exists(sfAssetFolderPeer::retrieveRoot()->getId(), 'filename.jpg'), false, 'sfAssetPeer::exists() returns false when an asset is not found'); $sfAsset = new sfAsset(); $sfAsset->setFolder(sfAssetFolderPeer::retrieveRoot()); $sfAsset->setFilename('filename.jpg'); $sfAsset->save($con); $t->is(sfAssetPeer::retrieveFromUrl(sfAssetFolderPeer::retrieveRoot()->getRelativePath() . '/filename.jpg')->getId(), $sfAsset->getId(), 'sfAssetPeer::retrieveFromUrl() finds an asset from its URL'); $t->is(sfAssetPeer::retrieveFromUrl($sfAsset->getUrl())->getId(), $sfAsset->getId(), 'sfAssetPeer::retrieveFromUrl() finds an asset from the result of `getUrl()`'); $t->is(sfAssetPeer::exists(sfAssetFolderPeer::retrieveRoot()->getId(), 'filename.jpg'), true, 'sfAssetPeer::exists() returns true when an asset is found'); } catch (Exception $e) { echo $e->getMessage(); }