Джаваскрипт в топиках [РЕШЕНО]
Навеяно постом!
И так, есть необходимость в некоторые топики вставлять js. Разрешать js через Jevix — не логично (во избежания xss/напихания рекламных js).
Подключать в файлах шаблона — некатит, так как в каждый топик разный js совать нужно.
Выслушаю все идеи и предложения!
UPD 2012.04.22
beauty_free предложил два варианта.
1. Все довольно просто, если менять файлы движка то нужно изменить файл livestreet/classes/actions/ActionTopic.class.php строка примерно 301
на
2. Либо как вариант изменить метод Parser в модуле Text
на
Второй вариант более правильный так как оставляет другие парсеры такие как подсветка кода, вставка видео.
И так, есть необходимость в некоторые топики вставлять js. Разрешать js через Jevix — не логично (во избежания xss/напихания рекламных js).
Подключать в файлах шаблона — некатит, так как в каждый топик разный js совать нужно.
Выслушаю все идеи и предложения!
UPD 2012.04.22
beauty_free предложил два варианта.
1. Все довольно просто, если менять файлы движка то нужно изменить файл livestreet/classes/actions/ActionTopic.class.php строка примерно 301
$oTopic->setText($this->Text_Parser($sTextNew));
$oTopic->setTextShort($this->Text_Parser($sTextShort));
на
if($this->oUserCurrent->isAdministrator()) {
$oTopic->setText($sTextNew);
$oTopic->setTextShort($sTextShort);
} else {
$oTopic->setText($this->Text_Parser($sTextNew));
$oTopic->setTextShort($this->Text_Parser($sTextShort));
}
2. Либо как вариант изменить метод Parser в модуле Text
public function Parser($sText) {
$sResult=$this->FlashParamParser($sText);
$sResult=$this->JevixParser($sResult);
$sResult=$this->VideoParser($sResult);
$sResult=$this->CodeSourceParser($sResult);
return $sResult;
}
на
public function Parser($sText) {
$sResult=$this->FlashParamParser($sText);
if(!$this->User_GetUserCurrent()->isAdministrator()) {
$sResult=$this->JevixParser($sResult);
}
$sResult=$this->VideoParser($sResult);
$sResult=$this->CodeSourceParser($sResult);
return $sResult;
}
Второй вариант более правильный так как оставляет другие парсеры такие как подсветка кода, вставка видео.