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 }