X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Php код в Dle
Deadraven
Deadraven
Topic Starter сообщение 24.10.2009, 14:31; Ответить: Deadraven
Сообщение #1


Всем доброго времени суток, у меня такой вопрос, как можно вставить php код в новость на движке dle?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ветер
Ветер
сообщение 24.10.2009, 18:08; Ответить: Ветер
Сообщение #2


Хочу заметить, что это крайне небезопасно, поэтому использовать подобные изменения можно только на свой страх и риск.

Для добавления этой возможности для полной новости, в файлe engine/modules/show.full.php заменить
$tpl->set( '{short-story}', stripslashes( $row['short_story'] ) );
$tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['full_story'] . "</div>" ) );

на
ob_start();
print eval('?>'. $row['short_story']);
$eval_story = ob_get_contents();
ob_end_clean();
$tpl->set( '{short-story}', stripslashes( $eval_story ) );
ob_start();
print eval('?>'. $row['full_story']);
$eval_story = ob_get_contents();
ob_end_clean();
$tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $eval_story . "</div>" ) );


Для добавления этой возможности для анонса новости, в файле engine/modules/show.short.php
$tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['short_story'] . "</div>" ) );


на
$tpl->set( '{title}', stripslashes( $row['title'] ) );
ob_start();
print eval('?>'. $row['short_story']);
$eval_story = ob_get_contents();
ob_end_clean();
$tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $eval_story . "</div>" ) );


Для того, чтобы вставить php код в новость, нужно изменить предварительно созданную новость непосредственно в таблице (имя таблицы - post). Для этого можно воспользоваться phpmyadmin, открыть таблицу префикс_post и отредактировать запись с новостью. В полях short_story и full_story содержатся краткая и полня новость соответственно. Вставляемый php код должен быть оформлен так: <?php сам_php_код ?>

Изменения, которые нужны, чтобы php код можно было вставлять сразу при создании новости на сайте, приводить не буду, так как они крайне нежедтельны с точки зрения безопастности. Как в прочем, и приведенные изменения.

Лучше всего обойтись без php кода в новостях.

Изменения в коде описаны на основе DLE 8.2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ska-TGD
Ska-TGD
сообщение 24.10.2009, 20:19; Ответить: Ska-TGD
Сообщение #3


Ветер, Зачем так сложно?
Это реализовывается заменой одной строки.

Откройте файл index.php, найдите строчку:

echo $tpl->result['main'];


замените ее на:
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');


--------------------
Ruby on Rails dev | artemeff | @artemeff
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Tollun
Tollun
сообщение 24.10.2009, 20:23; Ответить: Tollun
Сообщение #4


2Ska-TGD Это позволит использовать php в файлах шаблона, а он имел ввиду именно в новости, что и выдал Ветер, но затея тс действительно не лучшая.

Сообщение отредактировал Tollun - 24.10.2009, 20:23
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ветер
Ветер
сообщение 24.10.2009, 20:28; Ответить: Ветер
Сообщение #5


(Ska-TGD @ 24.10.2009, 19:19) *
Ветер, Зачем так сложно?


Из соображений безопасности. Если доступ к редактированию новостей можно запретить на уровне прав, то, в случае, когда выполнения php кода разрешено для любой части шаблона, малейшая дыра в каком-нибудь доп. модуле - и сайт взломан.

Но Ваше решение однозначно более простое =)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) DLE xProtect
2 xoopw 5986 15.1.2024, 21:06
автор: Diana_Wesley
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3418 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1243 24.11.2023, 14:46
автор: alexey
Открытая тема (нет новых ответов) Обновить сайт на CMS DLE
1 Sawich 1667 2.9.2023, 10:10
автор: WoWeb
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44929 19.7.2023, 10:03
автор: qpPeW


 



RSS Текстовая версия Сейчас: 24.4.2024, 10:48
Дизайн