openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

FileUploadAction.class.php (935B)


      1 <?php
      2 
      3 namespace cms\action\file;
      4 
      5 use cms\action\FileAction;
      6 use cms\action\Method;
      7 use cms\model\BaseObject;
      8 use cms\model\Permission;
      9 use language\Messages;
     10 use util\Upload;
     11 
     12 
     13 class FileUploadAction extends FileAction implements Method {
     14 
     15 	public function getRequiredPermission() {
     16 		return Permission::ACL_WRITE;
     17 	}
     18 
     19 
     20 	public function view() {
     21     }
     22 
     23 
     24     public function post() {
     25 
     26 		// File was uploaded.
     27 		$upload = new Upload('file');
     28 
     29 		try
     30 		{
     31 			$upload->processUpload();
     32 		}
     33 		catch( \Exception $e )
     34 		{
     35 			// technical error.
     36 			throw new \RuntimeException('Exception while processing the upload: '.$e->getMessage(), 0, $e);
     37 		}
     38 
     39 		$this->file->filename  = $upload->filename;
     40 		$this->file->extension = $upload->extension;
     41 		$this->file->size      = $upload->size;
     42 		$this->file->persist();
     43 
     44 		$this->file->value = $upload->value;
     45 		$this->file->saveValue();
     46 
     47 		$this->addNoticeFor( $this->file, Messages::SAVED );
     48     }
     49 }