diff --git a/lib/Config.php b/lib/Config.php deleted file mode 100644 index d0c51ed..0000000 --- a/lib/Config.php +++ /dev/null @@ -1,189 +0,0 @@ -fields_types = [ - 'siret_asso' => $string, - 'validate_cp' => $bool, - 'unique_client_name' => $bool, - 'footer' => $string - ]; - - $db = DB::getInstance(); - - $this->config = $db->getAssoc('SELECT cle, valeur FROM plugin_facturation_config ORDER BY cle;'); - - foreach ($this->config as $key=>&$value) - { - if (!array_key_exists($key, $this->fields_types)) - { - // Ancienne clé de config qui n'est plus utilisée - continue; - } - - if (is_array($this->fields_types[$key])) - { - $value = explode(',', $value); - } - else - { - settype($value, gettype($this->fields_types[$key])); - } - } - } - - public function save() - { - if (empty($this->modified)) - return true; - - $values = []; - $db = DB::getInstance(); - // $db->begin(); - - foreach ($this->modified as $key=>$modified) - { - $value = $this->config[$key]; - - if (is_array($value)) - { - $value = implode(',', $value); - } - elseif (is_object($value)) - { - $value = (string) $value; - } - - $db->exec('INSERT OR REPLACE INTO plugin_facturation_config (cle, valeur) VALUES (\''.$key.'\', \''.$value.'\');'); - } - - // $db->commit(); - - $this->modified = []; - - return true; - } - - public function set($key, $value) - { - if (!array_key_exists($key, $this->fields_types)) - { - throw new \OutOfBoundsException('Ce champ est inconnu.'); - } - - if (is_array($this->fields_types[$key])) - { - $value = !empty($value) ? (array) $value : []; - } - elseif (is_int($this->fields_types[$key])) - { - $value = (int) $value; - } - elseif (is_float($this->fields_types[$key])) - { - $value = (float) $value; - } - elseif (is_bool($this->fields_types[$key])) - { - $value = (bool) $value; - } - elseif (is_string($this->fields_types[$key])) - { - $value = (string) $value; - } - - // switch ($key) - // { - // case 'siret_asso': - // { - // if (!trim($value)) - // { - // throw new UserException('Le nom de l\'association ne peut rester vide.'); - // } - // break; - // } - // case 'footer': - // break; - // default: - // break; - // } - - if (!isset($this->config[$key]) || $value !== $this->config[$key]) - { - $this->config[$key] = $value; - $this->modified[$key] = true; - } - - return true; - } - - public function get($key) - { - if (!array_key_exists($key, $this->fields_types)) - { - throw new \OutOfBoundsException('Ce champ est inconnu.'); - } - - if (!array_key_exists($key, $this->config)) - { - return null; - } - - return $this->config[$key]; - } - - public function getFieldsTypes() - { - return $this->fields_types; - } - - public function getConfig() - { - return $this->config; - } -}