예제 #1
0
 /**
  * save all assets
  * @param PropelPDO $con
  */
 protected function doSave($con = null)
 {
     if (null === $con) {
         $con = $this->getConnection();
     }
     for ($i = 1; $i <= $this->getOption('size'); $i++) {
         if ($file = $this->getValue('file_' . $i)) {
             $asset = new sfAsset();
             $asset->setFolderId($this->getValue('folder_id'));
             $asset->setDescription($file->getOriginalName());
             $asset->setAuthor($this->getOption('author'));
             $asset->setFilename($file->getOriginalName());
             $asset->create($file->getTempName());
             $asset->save();
             $this->assets[] = $asset;
         }
     }
 }
예제 #2
0
 public function executeMassUpload()
 {
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         $folder = sfAssetFolderPeer::retrieveByPath($this->getRequestParameter('parent_folder'));
         $this->forward404Unless($folder);
         try {
             $nbFiles = 0;
             for ($i = 1; $i <= sfConfig::get('app_sfAssetsLibrary_mass_upload_size', 5); $i++) {
                 if ($filename = $this->getRequest()->getFileName('files[' . $i . ']')) {
                     $asset = new sfAsset();
                     $asset->setsfAssetFolder($folder);
                     $asset->setDescription($filename);
                     try {
                         $asset->setAuthor($this->getUser()->getUsername());
                     } catch (sfException $e) {
                         // no getUsername() method in sfUser, all right: do nothing
                     }
                     $asset->setFilename($filename);
                     $asset->create($this->getRequest()->getFilePath('files[' . $i . ']'));
                     $asset->save();
                     $nbFiles++;
                 }
             }
         } catch (sfAssetException $e) {
             $this->setFlash('warning_message', $e->getMessage());
             $this->setFlash('warning_params', $e->getMessageParams());
             $this->redirectToPath('sfAsset/list?dir=' . $folder->getRelativePath());
         }
         $this->setFlash('notice', 'Files successfully uploaded');
         $this->redirectToPath('sfAsset/list?dir=' . $folder->getRelativePath());
     }
 }
 /**
  * upload many assets
  * @param sfWebRequest $request
  */
 public function executeMassUpload(sfWebRequest $request)
 {
     $this->form = new sfAssetsForm(null, array('size' => sfConfig::get('app_sfAssetsLibrary_mass_upload_size', 5)));
     if ($request->getMethod() == sfRequest::POST) {
         $this->form->bind($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName()));
         if ($this->form->isValid()) {
             $folder = sfAssetFolderPeer::retrieveByPK($this->form->getValue('folder_id'));
             $this->forward404Unless($folder, 'folder not found');
             try {
                 $nbFiles = 0;
                 for ($i = 1; $i <= sfConfig::get('app_sfAssetsLibrary_mass_upload_size', 5); $i++) {
                     if ($file = $this->form->getValue('file_' . $i)) {
                         $asset = new sfAsset();
                         $asset->setsfAssetFolder($folder);
                         $asset->setDescription($file->getOriginalName());
                         try {
                             $asset->setAuthor($this->getUser()->getUsername());
                         } catch (sfException $e) {
                             // no getUsername() method in sfUser, all right: do nothing
                         }
                         $asset->setFilename($file->getOriginalName());
                         $asset->create($file->getTempName());
                         $asset->save();
                         $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $asset)));
                         $nbFiles++;
                     }
                 }
             } catch (sfAssetException $e) {
                 $this->getUser()->setFlash('warning_message', $e->getMessage());
                 $this->getUser()->setFlash('warning_params', $e->getMessageParams());
                 $this->redirectToPath('@sf_asset_library_dir?dir=' . $folder->getRelativePath());
             }
             $this->getUser()->setFlash('notice', 'Files successfully uploaded');
             $this->redirectToPath('@sf_asset_library_dir?dir=' . $folder->getRelativePath());
         }
     }
 }