openrat-cms

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

ObjectPropAction.class.php (1728B)


      1 <?php
      2 namespace cms\action\object;
      3 use cms\action\Method;
      4 use cms\action\ObjectAction;
      5 use cms\action\RequestParams;
      6 use cms\model\BaseObject;
      7 use cms\model\Permission;
      8 use cms\model\Project;
      9 use language\Messages;
     10 use util\exception\ValidationException;
     11 
     12 
     13 class ObjectPropAction extends ObjectAction implements Method {
     14 
     15 	public function getRequiredPermission()
     16 	{
     17 		return Permission::ACL_PROP;
     18 	}
     19 
     20 	public function view() {
     21         $this->setTemplateVar( 'filename', $this->baseObject->filename   );
     22         $alias = $this->baseObject->getAliasForLanguage(null );
     23         $this->setTemplateVar( 'alias_filename', $alias->filename );
     24         $this->setTemplateVar( 'alias_folderid', $alias->parentid );
     25 
     26         $project = Project::create( $this->baseObject->projectid );
     27         $this->setTemplateVar( 'folders' , $project->getAllFlatFolders() );
     28     }
     29 
     30 
     31     public function post() {
     32 
     33         $this->baseObject->filename = BaseObject::urlify( $this->request->getRequiredText('filename') );
     34         $this->baseObject->save();
     35 
     36         $alias = $this->baseObject->getAliasForLanguage(null);
     37         $alias->filename = BaseObject::urlify( $this->request->getText( 'alias_filename') );
     38         $alias->parentid = $this->request->getNumber('alias_folderid');
     39 
     40         // If no alias, remove the alias
     41         if   ( ! $alias->filename )
     42                 $alias->delete();
     43         else
     44                 $alias->persist();
     45 
     46 
     47         // Should we do this?
     48         if	( $this->userIsAdmin() )
     49 			$this->request->handleNumber('creationTimestamp',function($value) {
     50 				$this->baseObject->createDate = $value;
     51 				$this->baseObject->setCreationTimestamp();
     52 			});
     53 
     54 
     55 		$this->addNoticeFor( $this->baseObject,Messages::PROP_SAVED);
     56     }
     57 }