Джаваскрипт в топиках [РЕШЕНО]

 
Навеяно постом!

И так, есть необходимость в некоторые топики вставлять 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;
        }

Второй вариант более правильный так как оставляет другие парсеры такие как подсветка кода, вставка видео.
  • +1
  • 21 апреля 2012, 02:07
  • nartuk

Добавление JS, в топики

 
Доброго времени суток. Собственно сабж, нужно в топики добавить JS код (плеер проигрывающий видос), добавить сие невозможно, ибо jevix обрабатывает скрипты. Что-бы придумать незнаю, дабы обезопасить сайт от вставки эксплойта в комменты, но вставить код как-то надо. Пробовал в jevix воткнуть

array(
     'script',
     array('type', 'src', 'text', 'javascript')
),

Код все равно обрабатывается, хз что не так делаю. Прошу помощи, заранее благодарен.
  • -1
  • 20 апреля 2012, 16:41
  • DOC

Проблема с javascript-маркерами в FireFox

 
Заметил лажу в лисе. Ест маркеры. Даже строчные типа:
function (){
...
'*marker1*';
...
}


=(

Какая-то умная стремная минимизация яваскрипта появилась.
В консоли фаербага пишу:
>>> window.trololo=function(){/*bebe*/; alert(1); '*bebe2*'; };
function()
>>> window.trololo.toString();
"function () { alert(1); }"


Наглость мля =((( надо думать, что делать с маркерами, а то инъекции не выполняются.

Ковальски, варианты!

Кеширование и склейка css/js

4
Как заставить ls чтобы он склеивал файлы css/js от плагинов в один общий?
В кинфиге стоит
$config['compress']['css']['merge'] = true;
$config['compress']['css']['use'] = false;
$config['compress']['js']['merge'] = true;
$config['compress']['js']['use'] = true;
но всеровно в коде сайта отбражается
<link rel="stylesheet" type="text/css" href="http://localhost/plugins/popupinfo/templates/skin/default/css/style.css?UPD=1.1" />
<script type="text/javascript" src="http://localhost/plugins/popupinfo/templates/skin/default/js/init.js"></script>

В связи с чем не происходит слияние в один файл?
И почему при сжатии ксс плывет верстка?

Очередной вопрос про перенос css и js файлов на другой поддомен.

4
Прошу сразу сильно не пинать и не минусовать, пожалуйста.
Есть:
blogs.example.ru — сам сайт.

Задача:
Сделать так, чтобы css файлы загружались с домена например css-blogs.example.ru
Сдедать так, чтобы js файлы загружались с домена js-blogs.example.ru (Или пофиг, можно даже с тогоже css-blogs.example.ru)


Читать дальше
  • +2
  • 22 февраля 2012, 01:44
  • ewden

Шаблоны и $aHtmlHeadFiles

 
Вопрос. По какому принципу включаются файлы в $aHtmlHeadFiles?

Как подключить генерированный скрипт через AppendScript?

 
Например в теле шаблона имеется скрипт с элементами Smarty, например:

var DIR_WEB_ROOT='{cfg name="path.root.web"}';
var DIR_STATIC_SKIN='{cfg name="path.static.skin"}';
var BLOG_USE_TINYMCE='{cfg name="view.tinymce"}';
var TALK_RELOAD_PERIOD='{cfg name="module.talk.period"}';
var TALK_RELOAD_REQUEST='{cfg name="module.talk.request"}'; 
var TALK_RELOAD_MAX_ERRORS='{cfg name="module.talk.max_errors"}';
var LIVESTREET_SECURITY_KEY = '{$LIVESTREET_SECURITY_KEY}';

var TINYMCE_LANG='en';
{if $oConfig->GetValue('lang.current')=='russian'}
TINYMCE_LANG='ru';
{/if}

var aRouter=new Array();
{foreach from=$aRouter key=sPage item=sPath}
aRouter['{$sPage}']='{$sPath}';
{/foreach}


Хотелось бы его приобщить к массиву скриптов и сжать в один файл со всеми.
Можно было бы сгенерировать данный скрипт отдельным файлом через Fetch (как это делается в ajax запросах), но
метод AppendScript() во Viewer работает только с путями к скриптам. Как передать туда само тело скрипта или есть какая-то другая возможность?
  • 0
  • 04 октября 2011, 16:28
  • kpoxas

Несовместимость эффектов jquery с файлами .js от LiveStreet

 
Появилась необходимость подключить таб-эффект от jquery. Когда всё настроил и подключил библиотеки:
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>

Эффект заработал как нужно, но на сайте перестали работать родные .js эффекты, такие как переключение в прямом эфире между комментариями и топиками, развертыванием формы добавления комментария и т.д. Когда отключаю эти библиотеки всё начинает работать.
Вопрос. Как подружить новые библиотеки jquery с родными .js файлами LiveStreet?

После переезда перестала работать часть js

 
Всем привет. Попытался найти всю инфу сам, но не получается.
Суть проблему. После переезда на VDS хостинг перестали работать частично библиотеки js

В частности не работает:
— Добавление картинок (не открывается окно)
— вставка тегов разметки, просто перекидывает вверх страницы
— Блок прямой эфир не переходит между вкладками «публикации/комментарии»
— установлен модуль превью картинок — они перестали плавно увеличиваться, открываются в новой вкладке
и тд.

Для интересующих файлов почему-то стал не правильно формироваться путь. например site.rubiblioteka.js
Вот и что с этим делать? ((

UPD: Вопрос решил радикально, переустановив движок

Подключить кастомный js c удаленного сервера для одиночной страницы ( static page )

 
как это лучше сделать?

если затолкать адрес в config.php в $config['head']['default']['js'], то ничего не происходит

если это имеет значение, то речь идет об апи яндекс карт

«h t t p ://api-maps.yandex.ru/1.1/index.xml?key=xxxYYYxxx»

на выходе я хочу, чтобы блок со скриптами в конечном html выглядел так:
< s_c r i p t s r c=«h_t t p ://api-maps.yandex.ru/1.1/index.xml?key=xxxYYYxxx» type=«text/javascript»>
< s_c r i p t s r c=«h_t t p ://www.mysite.ru/templates/cache/themename/xxxzzzxxx.js» type=«text/javascript»>

  • 0
  • 25 февраля 2011, 07:54
  • xtile