public function executeTinyConfigMedia() { $this->forward404Unless($this->hasRequestParameter('id')); $this->sf_asset = sfAssetPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($this->sf_asset); $this->setLayout(sfLoader::getTemplateDir('sfAsset', 'popupLayout.php') . '/popupLayout'); return sfView::SUCCESS; }
# Test_Directory/ sfAssetFolder # Test_Sub-directory/ sfAssetFolder2 # Test_Sub-sub-directory/ sfAssetFolder3 # toto # raikkonen.jpg // Bug in Propel instance pooling + NestedSets... sfAssetFolderPeer::clearInstancePool(); $root = sfAssetFolderPeer::retrieveByPk($rootId); $sfAssetFolder2 = sfAssetFolderPeer::retrieveByPk($id2); $sfAssetFolder3 = sfAssetFolderPeer::retrieveByPk($id3); $t->is($sfAssetFolder2->retrieveParent()->getId(), $root->getId(), 'move() gives the correct parent'); $t->is($sfAssetFolder3->retrieveParent()->retrieveParent()->getId(), $root->getId(), 'move() also moves children'); $t->is($sfAssetFolder2->getRelativePath(), $root->getRelativePath() . '/' . $sfAssetFolder2->getName(), 'move() changes descendants relative paths'); $t->is($sfAssetFolder3->getRelativePath(), $sfAssetFolder2->getRelativePath() . '/' . $sfAssetFolder3->getName(), 'move() changes descendants relative paths'); sfAssetPeer::clearInstancePool(); $sfAsset = sfAssetPeer::retrieveByPk($sf_asset_id); $sfAsset2 = sfAssetPeer::retrieveByPk($sf_asset2_id); $t->ok(is_file($sfAsset->getFullPath()), 'move() also moves assets under the moved folder'); $t->ok(is_file($sfAsset2->getFullPath()), 'move() also moves assets under the moved folder'); } catch (Exception $e) { echo $e->getMessage(); } // reset DB $con->rollBack(); function debugTree($root) { echo $root->getName(), ' ', $root->getTreeLeft(), '/', $root->getTreeRight(), "\n"; foreach ($root->getDescendants() as $folder) { echo str_repeat(' ', $folder->getLevel()), $folder->getName(), ' ', $folder->getTreeLeft(), '/', $folder->getTreeRight(), "\n"; } }
/** * delete asset * @param sfWebRequest $request */ public function executeDeleteAsset(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::DELETE), 'method not allowed'); $asset = sfAssetPeer::retrieveByPk($request->getParameter('id')); $this->forward404Unless($asset, 'asset not found'); try { $asset->delete(); $this->dispatcher->notify(new sfEvent($this, 'admin.delete_object', array('object' => $asset))); $this->getUser()->setFlash('notice', 'The file has been deleted'); } catch (PropelException $e) { $request->setError('delete', 'Impossible to delete asset, probably due to related records'); return $this->forward('sfAsset', 'edit'); } return $this->redirectToPath('@sf_asset_library_dir?dir=' . $asset->getFolderPath()); }
/** * @param sfWebRequest $request * @param string * @return sfAsset */ protected function getsfAssetOrCreate(sfWebRequest $request, $id = 'id') { if (!$request->getParameter($id)) { $asset = new sfAsset(); } else { $asset = sfAssetPeer::retrieveByPk($request->getParameter($id)); $this->forward404Unless($asset, 'asset not found'); } return $asset; }
$test_asset = $assets_path . 'raikkonen.jpg'; $t->ok(is_file($test_asset), 'test asset found'); $sfAsset = new sfAsset(); $sfAsset->setsfAssetFolder(sfAssetFolderPeer::getRoot()); $sfAsset->create($test_asset, false); $t->is($sfAsset->getFilename(), 'raikkonen.jpg', 'create() gives correct filename'); $t->is($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'); $t->ok(is_file($sfAsset->getFullPath('large')), 'create() physically creates thumbnail'); $old_path = $sfAsset->getFullPath(); $old_thumb_path = $sfAsset->getFullPath('large'); $sfAsset->move(sfAssetFolderPeer::getRoot(), 'raikkonen2.jpg'); $t->is($sfAsset->getFilename(), 'raikkonen2.jpg', 'move() changes filename'); $t->ok(is_file($sfAsset->getFullPath()), 'move() physically moves asset'); $t->ok(!is_file($old_path), 'move() physically moves asset'); $t->ok(is_file($sfAsset->getFullPath('large')), 'move() physically moves thumbnail'); $t->ok(!is_file($old_thumb_path), 'move() physically moves thumbnail'); $old_path = $sfAsset->getFullPath(); $old_thumb_path = $sfAsset->getFullPath('large'); $old_id = $sfAsset->getId(); $sfAsset->delete(); $t->ok(!is_file($old_path), 'delete() physically removes asset'); $t->ok(!is_file($old_thumb_path), 'delete() physically removes thumbnail'); $null = sfAssetPeer::retrieveByPk($old_id); $t->ok(!$null, 'delete() removes asset from DB'); } catch (Exception $e) { // do nothing } // reset DB $con->rollback();
public function executeTinyConfigMedia() { $this->forward404Unless($this->hasRequestParameter('id')); $this->sf_asset = sfAssetPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($this->sf_asset); $this->setLayout($this->getContext()->getConfiguration()->getTemplateDir('sfAsset', 'popupLayout.php') . DIRECTORY_SEPARATOR . 'popupLayout'); return sfView::SUCCESS; }