Не нравятся результаты поиска? Попробуйте другой поиск!

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


     14.03.2015    Ламерские вопросы    1088

вопрос
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
218

2172 | 930

vitnet - 15 марта 2015 13:51 - Эксперт

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

на
return stripslashes( $text );

Marek
56 | 13

Marek - 15 марта 2015 14:41 - Юзер

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

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

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