VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
вроде бы все нормально работает, но когда в переменную $sk попадает что-то вроде
Code:
<param name="bgcolor" value="000000" />
(это необходимо для вывода flash-ролика), то сразу вываливается ошибка
Code:
Parse error: parse error, unexpected T_STRING in z:\home\test1.ru\www\forum\index.php(540) : eval()'d code on line 16
Опытным путем выяснилось, что ошибку вызывает появление в текстовой переменной $sk двойных кавычек.. т.е. ". Вот как это можно все-таки вывести текст, в котором он содержится с помощью замены подстроки в $vbulletin->templatecache['FORUMHOME']. Или может вообще как-то по-другому это делается?
ps. и ещё в нагрузку такой маленький вопросец, если можно.. чем отличаются перехватчики событий <hook>forumhome_start</hook> и <hook>forumhome_complete</hook>?
ADD: проблема-таки решилась.. просто нужно экранировать эти кавычки (использую ф-ию addslashes). все выводится. Но может кто объяснит с какого перепугу требуется эта операция?
мда. выучи хотя бы основы пхп синтаксиса. кавычки - это спец-символ, можно использовать addslashes, можно просто ставить перед кавычкой \
а хуки вроде не чем не отличаются.
@skif
Почти новичок
Join Date: Feb 2007
Location: Н.Новгород
Posts: 363
Версия vB: 3.7.0
Reputation:
Knowing 159
Репутация в разделе: 97
0
Quote:
Originally Posted by g0rn
мда. выучи хотя бы основы пхп синтаксиса.
спасибо за совет, но я скорее просто туплю ... иногда.
Меня другое интересует. Видишь-ли, когда я, например, вывожу любой текст ( echo(), print() ) ну или просто работаю с текстовыми переменными, мне не обязательно экранировать спец. символы. Это нужно делать в запроса к БД, при пересылке данных ($_POST ..) . Так вот я к чему.. $vbulletin->templatecache['FORUMHOME'] - это по сути просто текстовая переменная ... и ,по идее, для такой операции, как str_replace не надо ничего экранировать. Как считаешь?
нет. надо. в templatecache попадает обработанный шаблон, то есть заменяются <if> и т.д.
потом будет eval этого кода. а у тебя в нем неэкраннированные спец-символы...
@skif
Почти новичок
Join Date: Feb 2007
Location: Н.Новгород
Posts: 363
Версия vB: 3.7.0
Reputation:
Knowing 159
Репутация в разделе: 97
0
ну вот.. теперь понял почему. с vb ещё толком-то не работал, поэтому не знаю как-там что функционирует.