ecom
E-commerce cms
 All Data Structures Namespaces Files Functions Variables
Config.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Entity;
4 
5 class Config extends ModelBase
6 {
7  private static $config = array();
8 
9  protected function install()
10  {
11  $dbPrefix = $this->getDbPrefix();
12  $result = self::$dbo->exec("CREATE TABLE IF NOT EXISTS `{$dbPrefix}config` (
13  `lang` VARCHAR(8) NULL,
14  `key` VARCHAR(64) NOT NULL,
15  `value` TEXT NULL,
16  UNIQUE(`lang`, `key`)
17  )");
18  if ($result === false)
19  throw new \Exception(get_class().": ".self::$dbo->errorInfo()[2]);
20  return true;
21  }
22 
23  public static function setConfig($lang, $key, $value)
24  {
25  $fetcher = new self();
26  $data = $fetcher->selects(array("lang" => $lang, "key" => $key));
27  if (empty($data))
28  {
29  $data = new self();
30  $data->lang = $lang;
31  $data->key = $key;
32  $data->value = $value;
33  $data->save();
34  }
35  else
36  {
37  $data = $data[0];
38  $data->value = $value;
39  $data->save();
40  }
41  }
42 
43  public static function getConfig($lang =null, $key =null, $defaultValue =null)
44  {
45  $fetcher = new self();
46  if (isset(self::$config[$lang]))
47  return;
48  $values = $fetcher->selects(array("lang" => $lang));
49  foreach ($values as $i)
50  self::$config[$lang][$i->key] = $i->value;
51  if ($key)
52  return (isset(self::$config[$lang][$key]) ? self::$config[$lang][$key] : $defaultValue);
53  return $defaultValue;
54  }
55 }
56 
static getConfig($lang=null, $key=null, $defaultValue=null)
Definition: Config.php:43
static setConfig($lang, $key, $value)
Definition: Config.php:23