'key', 'key'=>'longstring', 'value'=>'longstring' ); /** * Get all configurations from database OR session if it was yet loaded * This function is called at start of program and global var '$conf' is filled with response, so use global $conf instead of call this function. * #### Example * ```php * $confs = Configuration::getAll(); * var_dump($confs); * ``` * @return array Array of configurations */ public function getAll(){ if(!isset($_SESSION['configuration'])){ $configurationManager = new Configuration(); $configs = $configurationManager->populate(); $confTab = array(); foreach($configs as $config){ $this->confTab[$config->getKey()] = Functions::decrypt($config->getValue()); } $_SESSION['configuration'] = serialize($this->confTab); }else{ $this->confTab = unserialize($_SESSION['configuration']); } } /** * Get configuration value from it key * #### Example * ```php * global $conf; // global var, contain configurations * echo $conf->get('myConfigKey'); // print myConfigKey value * ``` * @param string configuration key * @param string configuration namespace (default is 'conf') * @return string valeur de la configuration */ public function get($key){ return (isset($this->confTab[$key])?$this->confTab[$key]:''); } /** * Update or insert configuration value in database with specified key * #### Example * ```php * global $conf; // global var, contain configurations * echo $conf->put('myNewConfigKey','hello!'); //create configuration myNewConfigKey with value 'hello!' * echo $conf->put('myNewConfigKey','hello 2!'); //update configuration myNewConfigKey with value 'hello2!' * ``` * @param string configuration key * @param string configuration value * @param string configuration namespace (default is 'conf') */ public function put($key,$value){ $secured_value = Functions::crypt($value); $configurationManager = new Configuration(); if (isset($this->confTab[$key])){ $configurationManager->change(array('value'=>$secured_value),array('key'=>$key)); } else { $configurationManager->add($key,$secured_value); } $this->confTab[$key] = $value; unset($_SESSION['configuration']); } /** * Remove configuration value in database with specified key * #### Example * ```php * global $conf; // global var, contain configurations * echo $conf->remove('myNewConfigKey'); //delete myNewConfigKey from 'conf' default namespace * echo $conf->remove('myNewConfigKey','myCustomPluginConfig'); //delete myNewConfigKey from 'myCustomPluginConfig' namespace * ``` * @param string configuration key * @param string configuration namespace (default is 'conf') */ public function add($key,$value){ $config = new Configuration(); $config->setKey($key); $config->setValue($value); $config->save(); $this->confTab[$key] = $value; unset($_SESSION['configuration']); } function getId(){ return $this->id; } function getKey(){ return $this->key; } function setKey($key){ $this->key = $key; } function getValue(){ return $this->value; } function setValue($value){ $this->value = $value; } } ?>