openrat-cms

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

PageEditAction.class.php (1201B)


      1 <?php
      2 namespace cms\action\page;
      3 use cms\action\Method;
      4 use cms\action\PageAction;
      5 use cms\model\Permission;
      6 use cms\model\BaseObject;
      7 use cms\model\Element;
      8 use cms\model\Folder;
      9 use cms\model\Page;
     10 use cms\model\Project;
     11 use cms\model\Template;
     12 use cms\model\Value;
     13 
     14 class PageEditAction extends PageAction implements Method {
     15 
     16 
     17     public function view() {
     18 
     19         $template = new Template( $this->page->templateid );
     20         $template->load();
     21 
     22         /** @var Element[] $elements */
     23         $elements = $template->getElements();
     24 
     25         $elements = array_filter(/**
     26          * @param $element Element
     27          * @return Element
     28          */ $elements, function($element ) {
     29             return $element->isWritable();
     30         } );
     31 
     32         $elements = array_map( function( $element ) {
     33             return get_object_vars( $element ) + array('pageelementid'=>$this->page->objectid.'_'.$element->elementid,'typename'=>$element->getTypeName() );
     34         }, $elements);
     35 
     36 		$this->setTemplateVar('elements',$elements);
     37 
     38 		$project   = $this->page->getProject();
     39 		$languages = $project->getLanguages();
     40 
     41 		$this->setTemplateVar('languages',$languages);
     42     }
     43 
     44 
     45 
     46     public function post() {
     47 
     48     }
     49 }