Класс Settings.php

Класс Settings

Предназначен для работы с таблицей __settings. Обычно там хранятся глобальные данные(настройки каталога и уведомлений, текущая тема и т.д)

Функция __get()

Код функции (спойлер)
 
   public function __get($name) {
        if($res = parent::__get($name)) {
            return $res;
        }

        if(isset($this->vars[$name])) {
            return $this->vars[$name];
        } else {
            return null;
        }
    }

Фукнция получения данных конкретной переменной

Функция возвращает запрошенную переменнную


Функция __set()

Код функции (спойлер)
     public function __set($name, $value) {
        $this->vars[$name] = $value;

        if(is_array($value)) {
            $value = serialize($value);
        } else {
            $value = (string) $value;
        }

        $this->db->query('SELECT count(*) as count FROM __settings WHERE name=?', $name);
        if($this->db->result('count')>0) {
            $this->db->query('UPDATE __settings SET value=? WHERE name=?', $value, $name);
        } else {
            $this->db->query('INSERT INTO __settings SET value=?, name=?', $value, $name);
        }
    }

Функция добавления/обновления переданной переменной

Функция принимает два аргумента $name, $value

Параметры которые содержит функция:

  • $name - название переменной
  • $value - значение переменной