Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Нужна помощь в коде Php!?

Нужна помощь в коде Php!?


     14.03.2015    Все вопросы » Ламерские вопросы    2355

вопрос
DLE 10.3
Доброй ночи, появилась задача сделать возможность на сайте (тема сайта видео) скрытие видео проигрывателя от посетителей до определенной даты, после чтоб автоматом скрытое видео было доступно. Был переделан хак перенос новости после наступления определенной даты в нужную категорию + чтоб дополнительно заносил значение для блокировки в таблицу _post в которой было создано доп поле prava (по стандарту поле имеет значение 0 – и доступно для всех при запрете добавляется 1). Для скрытия самого видео проигрывателя было решено сделать что то наподобие хайда функция написана так:

В файле engine/modules/functions.php

А в engine/modules/show.full.php
После
$tpl->copy_template = str_replace( "[xfvalue_{$value[0]}]", $xfieldsdata[$value[0]], $tpl->copy_template );

Прописано так
$tpl->set_block("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1, "$2" )');

В файле fullstory.tpl прописывается так
[hide_0][xvalue_имя доп поля в котором хранится ссылка на видео][/hide]

И если в таблице _post в поле prava установлено значение 1 то выводится сообщение что Извините данное видео заблокировано по просьбе правообладателей! И бла бла бла но как только изменить в таблице _post в поле prava значение 1 на 0 (дать разрешить для вывода)
Вместо проигрывателя выводится черный квадрат и все.

Методом проб и ошибок нашел проблему:
<!--dle_uppod_begin:http://www.youtube.com/embed/pLfFSFq8ltk|серия 1||http://www.youtube.com/embed/--UTjaCN9Ac|серия 2-->
                <object class="uppod_style_video" id="uppod_video_141425f1d3a0871c17e7bd6863d734ff" uid="uppod_video_141425f1d3a0871c17e7bd6863d734ff" type="application/x-shockwave-flash" data="/templates/Mult-Rip/uppod/uppod.swf" />
                    <param name="bgcolor" value="#000000" />
                    <param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" />
                    <param name="movie" value="/templates/Mult-Rip/uppod/uppod.swf" />
                    <param name="flashvars" value="comment=http://www.youtube.com/embed/--UTjaCN9Ac|серия 2&amp;st=/templates/Mult-Rip/uppod/video209-1088.txt&amp;pl={\'playlist\':[{\'file\':\'http://www.youtube.com/embed/pLfFSFq8ltk\',\'comment\':\'серия 1\'},{\'file\':\'http://www.youtube.com/embed/--UTjaCN9Ac\',\'comment\':\'серия 2\'}]}" />
                </object>
                <!--dle_uppod_end-->

Как видно плейлист экранируется слешами:
pl={\'playlist\':[{\'file\':\'http://www.youtube.com/embed/pLfFSFq8ltk\',\'comment\':\'серия 1\'},{\'file\':\'http://www.youtube.com/embed/--UTjaCN9Ac\',\'comment\':\'серия 2\'}]}

Если с шаблона убрать хайды то выводится так:
pl={'playlist':[{'file':'http://www.youtube.com/embed/pLfFSFq8ltk','comment':'серия 1'},{'file':'http://www.youtube.com/embed/--UTjaCN9Ac','comment':'серия 2'}]}

Подскажите как можно решить эту проблему в программировании не силен что мог уже сделал, DLE 10.3. За ранее спасибо.

Ответил: Marek


спасибо рашил проблему так
return stripslashes(htmlspecialchars_decode($text));

2 комментария

vitnet
PHP-developer

vitnet - 15 марта 2015 13:51 -

Пробуйте заменить
return $text;

на
return stripslashes( $text );

Marek
Юзер

Marek - 15 марта 2015 14:41 -

***Комментарий удален***

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх