openrat-cms

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

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 }