/** * list folders and assets * @param sfWebRequest $request */ public function executeList(sfWebRequest $request) { $folder = sfAssetFolderPeer::retrieveByPath($request->getParameter('dir')); if (!$folder) { if ($this->getUser()->getFlash('sfAsset_folder_not_found')) { throw new sfException('You must create a root folder. Use the `php symfony asset:create-root` command for that.'); } else { if ($popup = $request->getParameter('popup')) { $this->getUser()->setAttribute('popup', $popup, 'sf_admin/sf_asset/navigation'); } $this->getUser()->setFlash('sfAsset_folder_not_found', true); $this->redirect('@sf_asset_library_list'); } } $this->filterform = new sfAssetFormFilter(); $this->folderform = new sfAssetFolderForm(null, array('parent_id' => $folder->getId())); $this->fileform = new sfAssetForm(null, array('parent_id' => $folder->getId())); $this->renameform = new sfAssetFolderRenameForm($folder); $this->moveform = new sfAssetFolderMoveForm($folder); $this->dirs = $folder->getChildren(); $this->files = $folder->getSortedFiles($this->dirs, $this->processSort($request)); $this->nbFiles = count($this->files); $this->totalSize = sfAssetFolderPeer::countFilesSize($this->files); $this->nbDirs = count($this->dirs); $this->folder = $folder; $this->removeLayoutIfPopup($request); }