Пример #1
0
 /**
  * Функция инициализации Ajax функций для главной страницы
  * @return null
  */
 public function init()
 {
     $act = $_GET['act'];
     switch ($act) {
         case "feedback":
             $this->feedback($_POST);
             ok();
             break;
         case "modsettings":
             modsettings::o()->make_demo($_POST);
             break;
         case "calendar_content":
             $year = (int) $_POST["year"];
             $month = (int) $_POST["month"];
             $this->calendar_content($month, $year);
             break;
         case "search_pre":
             $text = $_POST["text"];
             $this->search_pre($text);
             break;
         case "move_unread":
             $time = (int) $_POST["time"];
             $after = (bool) $_POST['after'];
             $this->move_unread($time, $after);
             break;
         case "get_msgs":
             $this->get_msgs();
             break;
         case "children_cat":
             $id = (int) $_POST["id"];
             $type = $_POST['type'];
             $num = longval($_POST['num']) + 1;
             $this->children_cat($id, $num, $type);
             break;
         case "check_pattern":
             $id = (int) $_GET["id"];
             $this->check_pattern($id);
             break;
         case "build_pattern":
             $id = (int) $_GET["id"];
             $this->build_pattern($id);
             break;
         default:
             break;
     }
 }
Пример #2
0
 /**
  * Удаление кеша
  * @param string $plugin имя плагина
  * @return null
  */
 public function uncache($plugin = null)
 {
     cache::o()->remove('plugins');
     if ($plugin) {
         modsettings::o()->change_type('plugins')->uncache($plugin);
     }
 }
Пример #3
0
 /**
  * Удаление блока
  * @param int $id ID блока
  * @return null
  */
 public function delete($id)
 {
     $id = intval($id);
     db::o()->p($id)->delete('blocks', 'WHERE id=? LIMIT 1');
     modsettings::o()->change_type('blocks')->uncache($id);
     log_add('deleted_block', 'admin', $id);
 }
Пример #4
0
 /**
  * Сохранение настроек плагина
  * @param array $data массив данных
  * @return null
  * @throws EngineException 
  */
 protected function save($data)
 {
     $admin_file = globals::g('admin_file');
     $id = $data['id'];
     $settings = serialize(modsettings::o()->save($id, $data));
     db::o()->p($id)->update(array('settings' => $settings), 'plugins', 'WHERE file=? LIMIT 1');
     plugins::o()->manager->uncache();
     furl::o()->location($admin_file);
 }
Пример #5
0
 /**
  * Получение объекта класса
  * @return modsettings $this
  */
 public static function o()
 {
     if (!self::$o) {
         self::$o = new self();
     }
     return self::$o;
 }
Пример #6
0
/**
 * @note Простой селектор(simple_selector)
 * params:
 * string name имя поля
 * array values массив значений
 * bool keyed ключи в качестве значения опций?
 * mixed current текущее значение
 * int size размер поля(если больше 1 множественная выборка)
 * bool null пустое значение?
 * string lang_prefix языковой префикс для значений
 */
tpl::o()->register_function("simple_selector", array($input, 'simple_selector'));
/**
 * @note Создание настроек для модуля(modsettings_create)
 */
tpl::o()->register_function("modsettings_create", array(modsettings::o(), 'create'));
unset($bbcodes);
unset($input);
unset($display);
unset($blocks);
unset($message);
/// Конец
/// Обнаруживаем IE
if (preg_match("/MSIE\\s*([0-9]+)/siu", $_SERVER['HTTP_USER_AGENT'], $matches)) {
    lang::o()->get("ie_error");
    // Выгоняем IE ниже 8 версии
    if ($matches[1] < 8) {
        tpl::o()->display('ie_error.tpl');
        die;
    }
    tpl::o()->assign('MSIE', $matches[1]);
Пример #7
0
 /**
  * Получение настроек блока
  * @param string $file файл
  * @return array массив настроек
  */
 public function get_settings($file)
 {
     if (!$this->state) {
         return;
     }
     if ($this->settings[$file]) {
         return $this->settings[$file];
     }
     if (!validword($file)) {
         return;
     }
     $r = db::o()->p($file)->query('SELECT id,settings FROM blocks WHERE file=? LIMIT 1');
     list($id, $settings) = db::o()->fetch_row($r);
     if (!$id) {
         return;
     }
     $settings = unserialize($settings);
     $object = plugins::o()->get_module($file, true);
     if (!$object || !isset($object->settings)) {
         return;
     }
     modsettings::o()->change_type('blocks')->parse($id, $object, $settings);
     $this->settings[$file] = $object->settings;
     return $this->settings[$file];
 }