openrat-cms

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

ConfigurationShowAction.class.php (1300B)


      1 <?php
      2 namespace cms\action\configuration;
      3 use cms\action\ConfigurationAction;
      4 use cms\action\Method;
      5 use cms\base\DefaultConfig;
      6 use util\Session;
      7 
      8 
      9 class ConfigurationShowAction extends ConfigurationAction implements Method {
     10     public function view() {
     11         $defaultConfig = DefaultConfig::get();;
     12 		$currentConfig = Session::getConfig();
     13 
     14 		$currentConfig['system'] = $this->getSystemConfiguration();
     15 
     16         // Language are to much entries
     17         unset($currentConfig['language']);
     18 
     19 		$pad = str_repeat("\xC2\xA0",10); // Hard spaces
     20 
     21 		$flatDefaultConfig = \util\ArrayUtils::dryFlattenArray( $defaultConfig      , $pad );
     22 		$flatCMSConfig     = \util\ArrayUtils::dryFlattenArray( Session::getConfig(), $pad );
     23 		$flatConfig        = \util\ArrayUtils::dryFlattenArray( $currentConfig      , $pad );
     24 
     25 		$config = array_map( function($key,$value) use ($flatConfig,$flatCMSConfig,$flatDefaultConfig) {
     26 
     27 			if   ( strpos($key,'password') !== false )
     28 				$value = '*';
     29 
     30 			return ['key'=>$key,'value'=>$value,'class'=>(empty($flatCMSConfig[$key])?'readonly':(isset($flatDefaultConfig[$key]) && $flatDefaultConfig[$key]==$flatConfig[$key]?'default':'changed'))];
     31 
     32 		},array_keys($flatConfig),$flatConfig);
     33 
     34 		$this->setTemplateVar('config',$config );
     35     }
     36 
     37 
     38     public function post() {
     39     }
     40 }