protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); if (sfAssetFolderTable::getRoot()) { throw new sfCommandException('The asset library already has a root'); } $this->logSection('sfAsset', sprintf("Creating root node at %s...", sfConfig::get('app_sfDoctrineAssetsLibrary_upload_dir', 'media'))); sfAssetFolderTable::createRoot(); $this->logSection('sfAsset', "Root Node Created"); }
protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); $this->logSection('sfAsset', sprintf("Comparing files from %s with assets stored in the database...", $arguments['dirname'])); $rootFolder = sfAssetFolderTable::getRoot(); if (!$rootFolder instanceof sfAssetFolder) { throw new sfException('no root node defined !'); } try { $rootFolder->synchronizeWith($arguments['dirname'], $options['verbose'], $options['removeOrphanAssets'], $options['removeOrphanFolders']); } catch (sfAssetException $e) { throw new sfException(strtr($e->getMessage(), $e->getMessageParams())); } $this->logSection('sfAsset', "Synchronization complete"); }
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'test', true); sfContext::createInstance($configuration); include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; sfContext::createInstance($configuration); Doctrine_Manager::getInstance(); $browser = new sfTestBrowser(); $browser->initialize(); $t = $browser->test(); $manager = new sfDatabaseManager($configuration); $con = $manager->getDatabase('doctrine')->getConnection(); $doctrine_conn = Doctrine_Manager::getInstance()->getConnection('doctrine'); $doctrine_conn->beginTransaction(); try { // run the test $t->diag('sfAssetFolder'); $root = sfAssetFolderTable::getRoot(); $t->isa_ok($root, 'sfAssetFolder', 'root folder exists'); $sfAssetFolder = new sfAssetFolder(); $sfAssetFolder->setName('Test_Directory'); $sfAssetFolder->getNode()->insertAsFirstChildOf($root); $sfAssetFolder->save(); $t->is($sfAssetFolder->getRelativePath(), $root->getRelativePath() . '/' . $sfAssetFolder->getName(), 'getRelativePath() is updated on save'); $sfAssetFolder2 = new sfAssetFolder(); $sfAssetFolder2->setName('Test_Sub-directory'); $sfAssetFolder2->getNode()->insertAsFirstChildOf($sfAssetFolder); $sfAssetFolder2->save(); $t->is($sfAssetFolder2->getRelativePath(), $sfAssetFolder->getRelativePath() . '/' . $sfAssetFolder2->getName(), 'getRelativePath() is updated on save for subfolders'); $assets_path = dirname(__FILE__) . '/../assets/'; $test_asset = $assets_path . 'raikkonen.jpg'; $t->ok(is_file($test_asset), 'test asset found'); $sfAsset = new sfAsset();
$sfAsset = new sfAsset(); $sfAsset->setsfAssetFolder(sfAssetFolderTable::getRoot()); $t->isa_ok($sfAsset->getsfAssetFolder(), 'sfAssetFolder', 'sfAsset can have root as folder'); $sfAsset->setFilename('filename.jpg'); $t->is($sfAsset->getRelativePath(), sfConfig::get('app_sfDoctrineAssetsLibrary_upload_dir', 'media') . DIRECTORY_SEPARATOR . 'filename.jpg', 'getRelativePath() gives correct result'); sfConfig::set('sf_web_dir', '/tmp'); sfConfig::set('app_sfDoctrineAssetsLibrary_upload_dir', 'media'); $t->is($sfAsset->getFullPath(), sfConfig::get('sf_web_dir') . DIRECTORY_SEPARATOR . sfConfig::get('app_sfDoctrineAssetsLibrary_upload_dir', 'media') . DIRECTORY_SEPARATOR . 'filename.jpg', 'getFullPath() gives complete path'); $t->is($sfAsset->getFullPath('large'), sfConfig::get('sf_web_dir') . DIRECTORY_SEPARATOR . sfConfig::get('app_sfDoctrineAssetsLibrary_upload_dir', 'media') . DIRECTORY_SEPARATOR . 'thumbnail/large_filename.jpg', 'getFullPath() gives correct thumbnail path'); $t->is($sfAsset->getUrl(), DIRECTORY_SEPARATOR . sfConfig::get('app_sfDoctrineAssetsLibrary_upload_dir', 'media') . DIRECTORY_SEPARATOR . 'filename.jpg', 'getUrl() gives correct url'); $t->is($sfAsset->getUrl('small'), DIRECTORY_SEPARATOR . sfConfig::get('app_sfDoctrineAssetsLibrary_upload_dir', 'media') . DIRECTORY_SEPARATOR . 'thumbnail/small_filename.jpg', 'getUrl() gives correct thumbnail url'); $assets_path = dirname(__FILE__) . '/../assets/'; $test_asset = $assets_path . 'raikkonen.jpg'; $t->ok(is_file($test_asset), 'test asset found'); $sfAsset = new sfAsset(); $sfAsset->setsfAssetFolder(sfAssetFolderTable::getRoot()); $sfAsset->createAsset($test_asset, false); $t->is($sfAsset->getFilename(), 'raikkonen.jpg', 'create() gives correct filename'); $t->is((int) $sfAsset->getFilesize(), 18, 'create() gives correct size'); $t->ok($sfAsset->isImage(), 'create() gives correct type'); $t->ok(is_file($sfAsset->getFullPath()), 'create() physically copies asset'); if ($sfAsset->supportsThumbnails()) { $t->ok(is_file($sfAsset->getFullPath('large')), 'create() physically creates thumbnail'); } else { $t->diag('please activate thumbnails support'); } $old_path = $sfAsset->getFullPath(); $old_thumb_path = $sfAsset->getFullPath('large'); $sfAsset->save($doctrine_conn); $sfAsset->setFilename('raikkonen2.jpg'); $sfAsset->save($doctrine_conn);