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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Участник
***

Группа: User
Сообщений: 181
Регистрация: 13.6.2008
Поблагодарили: 17 раз
Репутация:   7  


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


Новичок
*


Группа: User
Сообщений: 42
Регистрация: 19.10.2009
Поблагодарили: 30 раз
Репутация:   7  


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

Для добавления этой возможности для полной новости, в файл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


artemeff.com
******

Группа: Active User
Сообщений: 1139
Регистрация: 18.3.2009
Поблагодарили: 249 раз
Репутация:   15  


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

Откройте файл 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


Старожил
******

Группа: Active User
Сообщений: 1595
Регистрация: 1.10.2009
Из: Хабаровск
Поблагодарили: 394 раза
Репутация:   66  


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

Сообщение отредактировал Tollun - 24.10.2009, 20:23


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


Новичок
*


Группа: User
Сообщений: 42
Регистрация: 19.10.2009
Поблагодарили: 30 раз
Репутация:   7  


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


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

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

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Регистрация Вашего сайта (профиля,DLE сайты,подписи на форумах,постинг Тиц 10> , ПР 1>)
312 kaartes 112859 22.5.2018, 12:07
автор: avega
Открытая тема (нет новых ответов) Нужна верстка со знанием php
4 Nemo 370 22.5.2018, 7:14
автор: Nemo
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
156 contex1 70811 22.5.2018, 0:06
автор: AnnaProf
Открытая тема (нет новых ответов) Ищу php-программиста, работа с Yii2
0 eduarddis 310 19.5.2018, 15:58
автор: eduarddis
Открытая тема (нет новых ответов) Куплю базы Bitrix и DLE профилей!
для размещения ссылок, бюджет до 1000р.
0 autonew 567 5.5.2018, 11:25
автор: autonew


 



RSS Текстовая версия Сейчас: 24.5.2018, 12:16
Дизайн