openrat-cms

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

ConfigurationEditAction.class.php (1271B)


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