File modules/cms/action/page/PageInfoAction.class.php

Last commit: Tue May 14 23:48:28 2024 +0200	Jan Dankert	Enabling Fulltext-Search in Settings
1 <?php 2 namespace cms\action\page; 3 use cms\action\Method; 4 use cms\action\object\ObjectInfoAction; 5 use cms\action\PageAction; 6 use cms\generator\PageContext; 7 use cms\generator\PageGenerator; 8 use cms\generator\Producer; 9 use cms\generator\Publisher; 10 use cms\model\BaseObject; 11 use cms\model\File; 12 use cms\model\Permission; 13 use cms\model\Template; 14 use util\Html; 15 16 class PageInfoAction extends PageAction implements Method { 17 public function view() { 18 $this->setTemplateVar('id',$this->page->objectid); 19 20 $parentAction = new ObjectInfoAction(); 21 $parentAction->request = $this->request; 22 $parentAction->response = $this->response; 23 $parentAction->init(); 24 $parentAction->view(); 25 26 $this->page->load(); 27 28 $this->setTemplateVars( $this->page->getProperties() ); 29 30 $alias = $this->page->getAliasForLanguage(null); 31 $this->setTemplateVar( 'alias', $alias->full_filename() ); 32 33 $languages = $this->page->getProject()->getLanguages(); 34 $models = $this->page->getProject()->getModels(); 35 $languagesVars = array(); 36 37 foreach( $languages as $id => $name ) 38 { 39 $this->page->load(); 40 41 $languagesVar = $this->page->getProperties(); 42 $languagesVar['languagename'] = $name; 43 $languagesVar['languageid' ] = $id; 44 $alias = $this->page->getAliasForLanguage( $id ); 45 $languagesVar['alias' ] = $alias->full_filename(); 46 47 $languagesVars[] = $languagesVar; 48 } 49 50 $this->setTemplateVar('languages',$languagesVars ); 51 52 $filenames = []; 53 foreach( $languages as $languageid=>$language ) 54 foreach( $models as $modelid=>$model ) { 55 $pagecontext = new PageContext( $this->page->objectid,Producer::SCHEME_PUBLIC ); 56 $pagecontext->languageId = $languageid; 57 $pagecontext->modelId = $modelid; 58 59 $pageGenerator = new PageGenerator( $pagecontext ); 60 $filenames[] = [ 61 'filename' => $pageGenerator->getPublicFilename(), 62 'mimetype' => $pageGenerator->getMimeType(), 63 'modelid' => $modelid, 64 'modelname' => $model, 65 'languageid' => $languageid, 66 'languagename'=> $language, 67 ]; 68 } 69 70 $this->setTemplateVar('filenames',$filenames ); 71 $this->setTemplateVar('is_valid' ,$this->page->isValid() ); 72 73 74 if ( $this->userIsProjectAdmin() ) 75 { 76 $this->setTemplateVar('templateid',$this->page->templateid); 77 } 78 79 $template = new Template( $this->page->templateid ); 80 $template->load(); 81 $this->setTemplateVar('template_name',$template->name ); 82 83 $generator = new PageGenerator( $this->createPageContext( Producer::SCHEME_PUBLIC) ); 84 85 $this->setTemplateVar('tmp_filename' ,$generator->getPublicFilename() ); 86 87 $references = []; 88 89 // Schleife ueber alle Objekte in diesem Ordner 90 foreach( $this->page->getDependentObjectIds() as $id ) 91 { 92 /* @var BaseObject */ 93 $o = new BaseObject( $id ); 94 $o->load(); 95 96 if ( $o->hasRight(Permission::ACL_READ) ) 97 { 98 $references[$id]['name'] = $o->getDefaultName()->name; 99 $references[$id]['type'] = $o->getType(); 100 $references[$id]['id' ] = $id; 101 102 $references[$id]['date'] = $o->lastchangeDate; 103 $references[$id]['user'] = $o->lastchangeUser; 104 } 105 } 106 107 $this->setTemplateVar( 'references',$references ); 108 109 $this->setTemplateVar( 'tags' , $this->baseObject->getTags() ); 110 } 111 public function post() { 112 } 113 }
Download modules/cms/action/page/PageInfoAction.class.php
History Tue, 14 May 2024 23:48:28 +0200 Jan Dankert Enabling Fulltext-Search in Settings Thu, 16 Feb 2023 23:18:09 +0100 Jan Dankert Fix: Tags for pages. Sun, 5 Dec 2021 20:33:24 +0100 dankert Cleanup: Removed unusable properties from class 'Value' and 'BaseObject'. Tue, 9 Mar 2021 09:17:27 +0100 Jan Dankert New: Show all links ('references') to the current object. Thu, 4 Mar 2021 02:24:45 +0100 Jan Dankert New: The calculation of the mime types should be done in the generators. Thu, 4 Mar 2021 02:00:11 +0100 Jan Dankert New: Show all page filenames in info. Wed, 18 Nov 2020 01:46:36 +0100 Jan Dankert Refactoring of model classes: New method persist() and some other cleanups. Tue, 17 Nov 2020 23:51:00 +0100 Jan Dankert Refactoring: Every Actionmethod has now its own class.