openrat-cms

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

PageelementLinkAction.class.php (2324B)


      1 <?php
      2 namespace cms\action\pageelement;
      3 use cms\action\Method;
      4 use cms\action\PageelementAction;
      5 use cms\model\PageContent;
      6 use cms\model\Permission;
      7 use cms\model\BaseObject;
      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 PageelementLinkAction extends PageelementAction implements Method {
     15 
     16     public function view() {
     17 
     18 		$pageContent = new PageContent();
     19 		$pageContent->pageId     = $this->page->pageid;
     20 		$pageContent->languageid = $this->page->getProject()->getDefaultLanguageId();
     21 		$pageContent->elementId  = $this->element->elementid;
     22 		$pageContent->load();
     23 
     24 		$value = new Value();
     25 		$value->contentid = $pageContent->contentId;
     26 		$value->load();
     27 
     28 		$this->setTemplateVar('name'     ,$this->element->name     );
     29 		$this->setTemplateVar('desc'     ,$this->element->desc     );
     30 
     31         $project = new Project($this->page->projectid);
     32         $this->setTemplateVar('rootfolderid'     ,$project->getRootObjectId() );
     33 		
     34 		// Ermitteln, welche Objekttypen verlinkt werden d�rfen.
     35 		if	( empty($this->element->subtype) )
     36 			$types = array('page','file','link'); // Fallback: Alle erlauben :)
     37 		else
     38 			$types = explode(',',$this->element->subtype );
     39 
     40 		$objects = array();
     41 			
     42 		$objects[ 0 ] = \cms\base\Language::lang('LIST_ENTRY_EMPTY'); // Wert "nicht ausgewählt"
     43 
     44 		
     45 		$t = new Template( $this->page->templateid );
     46 
     47 		foreach( $t->getDependentObjectIds() as $id )
     48 		{
     49 			$o = new BaseObject( $id );
     50 			$o->load();
     51 				
     52 			//			if	( in_array( $o->getType(),$types ))
     53 			//			{
     54 			$f = new Folder( $o->parentid );
     55 			//					$f->load();
     56 
     57 			$objects[ $id ]  = \cms\base\Language::lang( $o->getType() ).': ';
     58 			$objects[ $id ] .=  implode( \util\Text::FILE_SEP,$f->parentObjectNames(false,true) );
     59 			$objects[ $id ] .= \util\Text::FILE_SEP.$o->filename;
     60 			//			}
     61 		}
     62 
     63         asort( $objects ); // Sortieren
     64 
     65         $this->setTemplateVar('objects'         ,$objects);
     66         $this->setTemplateVar('linkobjectid',$this->value->linkToObjectId);
     67 
     68         $this->setTemplateVar( 'release',$this->page->hasRight(Permission::ACL_RELEASE) );
     69         $this->setTemplateVar( 'publish',$this->page->hasRight(Permission::ACL_PUBLISH) );
     70 
     71         $this->setTemplateVar( 'objectid',$this->page->objectid );
     72     }
     73 
     74 
     75     public function post() {
     76     }
     77 }