ObjectInfoAction.class.php (2103B)
1 <?php 2 namespace cms\action\object; 3 use cms\action\Method; 4 use cms\action\ObjectAction; 5 use cms\model\BaseObject; 6 use cms\model\Permission; 7 use util\ArrayUtils; 8 9 class ObjectInfoAction extends ObjectAction implements Method { 10 public function view() { 11 $this->setTemplateVars( $this->baseObject->getProperties() ); 12 13 $this->setTemplateVar( 'is_valid' ,$this->baseObject->isValid() ); 14 $this->setTemplateVar( 'full_filename',$this->baseObject->full_filename() ); 15 $this->setTemplateVar( 'extension' , '' ); 16 $this->setTemplateVar( 'mimetype' , '' ); 17 18 $this->setTemplateVar( 'name' , $this->baseObject->getDefaultName()->name ); 19 $this->setTemplateVar( 'description' , $this->baseObject->getDefaultName()->description ); 20 21 $languages = $this->baseObject->getProject()->getLanguages(); 22 $languagesVars = array(); 23 24 foreach( $languages as $languageId => $languageName ) 25 { 26 $name = $this->baseObject->getNameForLanguage( $languageId ); 27 28 29 $languagesVar = [ 30 'name' => $name->name, 31 'description' => $name->description, 32 'languagename' => $languageName, 33 'languageid' => $languageId, 34 ]; 35 36 $languagesVars[] = $languagesVar; 37 } 38 39 $this->setTemplateVar('languages',$languagesVars ); 40 41 // Read all objects linking to us. 42 $pages = $this->baseObject->getDependentObjectIds(); 43 44 $list = array(); 45 foreach( $pages as $languageid ) 46 { 47 $o = new BaseObject( $languageid ); 48 $o->load(); 49 $list[$languageid] = array(); 50 $list[$languageid]['id' ] = $o->objectid; 51 $list[$languageid]['name'] = $o->filename; 52 $list[$languageid]['type'] = $o->getType(); 53 } 54 55 asort( $list ); 56 57 $this->setTemplateVar('references',$list); 58 59 $this->setTemplateVar('size',number_format($this->baseObject->getSize()/1000,0,',','.').' kB' ); 60 61 $pad = str_repeat("\xC2\xA0",5); // Hard spaces 62 $totalSettings = $this->baseObject->getTotalSettings(); 63 $this->setTemplateVar('total_settings', $totalSettings,$pad ); 64 $this->setTemplateVar('settings', ArrayUtils::dryFlattenArray( $totalSettings,$pad ) ); 65 } 66 67 68 public function post() { 69 } 70 }