/** * Загружает конфиг Qevix'а * * @param string $sType Тип конфига * @param bool $bClear Очищать предыдущий конфиг или нет */ public function LoadQevixConfig($sType = 'default', $bClear = true) { // Временный костыль по методам, отсутствующим в Qevix $aExcludeConfig = array('cfgSetAutoReplace', 'cfgSetTagParamCombination'); if ($bClear) { $this->oTextParser->tagsRules = array(); } $aConfig = Config::Get('jevix.' . $sType); if (is_array($aConfig)) { foreach ($aConfig as $sMethod => $aExec) { foreach ($aExec as $aParams) { if (!in_array($sMethod, $aExcludeConfig)) { call_user_func_array(array($this->oTextParser, $sMethod), $aParams); } } } // * Хардкодим некоторые параметры unset($this->oTextParser->entities1['&']); // разрешаем в параметрах символ & if (Config::Get('view.noindex') && isset($this->oTextParser->tagsRules['a'])) { $this->oTextParser->cfgSetTagParamDefault('a', 'rel', 'nofollow', true); } } $this->oTextParser->cfgSetTagBuildCallback('ls', array($this, 'CallbackTagLs')); if (C::Get('module.text.char.@')) { $this->oTextParser->cfgSetSpecialCharCallback('@', array($this, 'CallbackTagAt')); } }