FileAdvancedAction.class.php (1423B)
1 <?php 2 namespace cms\action\file; 3 use cms\action\FileAction; 4 use cms\action\Method; 5 use cms\action\RequestParams; 6 use cms\generator\FileContext; 7 use cms\generator\FileGenerator; 8 use cms\model\BaseObject; 9 use cms\model\Permission; 10 use language\Messages; 11 use util\exception\ValidationException; 12 13 14 class FileAdvancedAction extends FileAction implements Method { 15 16 17 public function view() { 18 // Eigenschaften der Datei uebertragen 19 $this->setTemplateVar( 'extension',$this->file->extension ); 20 $this->setTemplateVar( 'mimetype' ,$this->getMimeType() ); 21 22 $this->setTemplateVar( 'type' ,$this->file->type ); 23 $this->setTemplateVar( 'types' ,[ 24 BaseObject::TYPEID_FILE => \cms\base\Language::lang('file' ), 25 BaseObject::TYPEID_IMAGE => \cms\base\Language::lang('image'), 26 BaseObject::TYPEID_TEXT => \cms\base\Language::lang('text' ) 27 ] ); 28 } 29 30 31 public function post() { 32 33 $this->file->extension = $this->request->getFilename('extension'); 34 35 $typeid = $this->request->getNumber('type' ); 36 37 if ( ! in_array($typeid,[BaseObject::TYPEID_FILE,BaseObject::TYPEID_IMAGE,BaseObject::TYPEID_TEXT])) 38 throw new ValidationException('type'); 39 40 $this->file->typeid = $typeid; 41 $this->file->updateType(); 42 $this->file->save(); 43 44 $this->addNoticeFor( $this->file, Messages::PROP_SAVED); 45 } 46 47 48 public function getRequiredPermission() 49 { 50 return Permission::ACL_PROP; 51 } 52 }