array(), 'message_erreur'=>array(), 'erreurs'=>array());
/**
* version du depot
* @var int
*/
var $version = 2;
/**
*
* @param Array $params
*/
function cfg_depot_meta($params=array())
{
foreach ($params as $o=>$v) {
$this->$o = $v;
}
}
/**
* recuperer les valeurs.
*
* unserialize : si la valeur est deserialisable, elle est retournee deserialisee
* permet a #CONFIG d'obtenir une valeur non deserialisee...
*
* @param boolean $unserialize
* @return Array
*/
function lire($unserialize=true)
{
$val = array();
if ($this->champs) {
foreach ($this->champs as $name => $def) {
// pour compat cfg, si la meta est deserialisable, la retourner deserialisee
if ($unserialize && ($a = @unserialize($GLOBALS['meta'][$name])))
$val[$name] = $a;
else {
$val[$name] = $GLOBALS['meta'][$name];
}
}
// si pas d'argument, retourner comme le core serialize($GLOBALS['meta'])
} else {
$val = serialize($GLOBALS['meta']);
}
return array(true, $val);
}
/**
* ecrit chaque enregistrement de meta pour chaque champ
*
* @return Array
*/
function ecrire()
{
foreach ($this->champs as $name => $def) {
ecrire_meta($name, $this->val[$name]);
}
if (defined('_COMPAT_CFG_192')) ecrire_metas();
return array(true, $this->val);
}
/**
* supprime chaque enregistrement de meta pour chaque champ
*
* @return Array
*/
function effacer(){
foreach ($this->champs as $name => $def) {
if (!$this->val[$name]) {
effacer_meta($name);
}
}
if (defined('_COMPAT_CFG_192')) ecrire_metas();
return array(true, $this->val);
}
/**
* charger les arguments de lire_config(meta::nom)
*
* @param string $args # $args = 'nom'; ici
* @return boolean
*/
function charger_args($args){
if ($args) $this->champs = array($args=>true);
return true;
}
}
?>