Перейти к содержимому
Русский язык для Invision Community 5

Вставка php кода

Подскажите пожалуйста как можно вставить php код, в общий шаблон форума ?

IPB 2.1.7

Рекомендованные сообщения

такого нету в 2.1.7 если я не ошибаюсь. В 23х и, вроде, в 22х есть

<php>ваш код</php>

попробуйте

  • Автор
такого нету в 2.1.7 если я не ошибаюсь. В 23х и, вроде, в 22х есть
<php>ваш код</php>

попробуйте

 

Попобывал

<PHP>
...CODE...
</PHP>

 

и такой вариант попробывал

 

<PHP>
<?php
...CODE...
?>
</PHP>

 

 

<?php
...CODE...
?>

 

Или выдает php код на странице, или вообще не отображается

Значит такое поддерживается только в версиях выше 2.1.х, я не могу сказать точно, поддерживается или нет.

 

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

  • Автор
Значит такое поддерживается только в версиях выше 2.1.х, я не могу сказать точно, поддерживается или нет.

 

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

Как перенести базу сообщений, и пользователей с 2.1.7 на 2.2.2 ?

Сделать дамп базы, файлов.

Загрузить файлы от IP.Board 2.2.2 вместо файлов IP.Board (кроме ./conf_global.php и папки ./uploads/), далее запустить скрипт обновления (http://site.ru/forum/upgrade/index.php) и действовать подсказкам мастера обновления (если будут ошибки при обновлении, включить ручное обновление). Но я бы не советовал именно сейчас обновляться до IP.Board 2.2.2, т.к. на дворе уже IP.Board 2.3.x :)

2 andaril: <php>...</php> работает только при define( 'IPB_ACP_ALLOW_TEMPLATE_PHP', 1 ); в init.php, а по умолчанию там 0. Работает действительно только в 2.2 и выше.

 

2 ICQ: 174313:

В глобальном шаблоне добавьте:

<!--exec.file="./file.php"-->

Путь до файла должен быть полным во избежание глюков.

Если вам нужно вставить php в шаблон, то нужно ещё сделать следующее: ссылка.

  • Автор
2 andaril: <php>...</php> работает только при define( 'IPB_ACP_ALLOW_TEMPLATE_PHP', 1 ); в init.php, а по умолчанию там 0. Работает действительно только в 2.2 и выше.

 

2 ICQ: 174313:

В глобальном шаблоне добавьте:

<!--exec.file="./file.php"-->

Путь до файла должен быть полным во избежание глюков.

Если вам нужно вставить php в шаблон, то нужно ещё сделать следующее: ссылка.

Пробывал вставить в глобальный шаблон

 

<!--exec.file="http://домен.ru/имя-файла.php"-->

или

<!--exec.url="http://домен.ru/имя-файла.php"-->

 

Не работало...

 

Открыл файл init.php ......... искал строку

define( 'IPB_ACP_ALLOW_EXEC_URL', 1 );

Ее там не оказалось, я дописал и сохранил

 

И всеравно не работает...

 

Есть идеи ? предложения?

Доступ к форуму нужен, навскидку такое сложно решать. Могу пошаманить завтра вечером. 661~77~30

  • 1 год спустя...

Версия форума: 2.3.5

Сделал так:

//-----------------------------------------

// Parse EXEC commands in wrapper only

// If we moved this below the block of str_replace

// we'd get exec commands parsed in HTML templates

// too... Do we want that? Not for now...

//-----------------------------------------

 

if ( stristr( $this->ipsclass->skin['_wrapper'], '<!--exec.' ) )

{

$this->_parse_exec_tags();

}

Данный код вставил перед:

//-----------------------------------------

// Do we have a PM show?

//---

 

Как описано здесь: http://www.sysman.ru/index.php?showtopic=15800

 

Затем в общем шаблоне вставляю данную строчку: <!--exec.file="/home/uralski/public_html/i/weather.php"--> после строчки: <div id="ipbwrapper">

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

Даже разрешил: 'IPB_ACP_ALLOW_TEMPLATE_PHP', 1 и ('IPB_ACP_ALLOW_EXEC_URL', 1 );

Но ничего не помогает, в чем еще может быть причина? Может кто-нибудь глянет?

Сбросьте данные доступа в личку, посмотрю.

IPB_ACP_ALLOW_EXEC_URL (init.php) был отключен.

Путь к файлу нужно было указывать просто как weather.php (open_basedir).

 

Ну и сам weather.php на данный момент из-за какого-то сбоя в алгоритме ничего не выводит, что и породило дополнительный майндфак при отладке. :(

IPB_ACP_ALLOW_EXEC_URL (init.php) был отключен.

Путь к файлу нужно было указывать просто как weather.php (open_basedir).

 

Ну и сам weather.php на данный момент из-как какого-то сбоя в алгоритме ничего не выводит, что и породило дополнительный майндфак при отладке. :(

 

Как выяснилось Фунция exec.file и exce.url отключена у самого хостинг провайдера.

Активировал define( 'IPB_ACP_ALLOW_TEMPLATE_PHP', 1 );

Вставляю код: <? php include 'weather.php'; ?> но отображения не происходит.

Каким образом еще можно вставить php файл в шаблон IPB?

Вы вообще читали, что я вам писал в личку?

 

Во-первых, exec.file и exec.url — «фичи» движка IP.Board, которые ваш хостинг-провайдер никак проконтролировать не может. Во-вторых, указанную константу включили не вы, а я. В третьих, если вы хотите получить результат выполнения weather.php «как из браузера» — делайте не exec.file, а exec.url, и соответственно указывайте что-то типа http://forum.ru/weather.php.

 

И, в четвертых, при каждой (!!!) загрузке любой страницы форума тянуть откуда-то с постороннего сервиса XML-документ с погодой и парсить его — действие, полезный результат которого исчезающе мал в сравнении с потерями производительности форума.

Вы вообще читали, что я вам писал в личку?

 

Во-первых, exec.file и exec.url — «фичи» движка IP.Board, которые ваш хостинг-провайдер никак проконтролировать не может. Во-вторых, указанную константу включили не вы, а я. В третьих, если вы хотите получить результат выполнения weather.php «как из браузера» — делайте не exec.file, а exec.url, и соответственно указывайте что-то типа http://forum.ru/weather.php.

 

И, в четвертых, при каждой (!!!) загрузке любой страницы форума тянуть откуда-то с постороннего сервиса XML-документ с погодой и парсить его — действие, полезный результат которого исчезающе мал в сравнении с потерями производительности форума.

 

Конечно читал.

Я написал письмо хостеру, на что получил ответ, что функции exec.url и exec.file выключены в целях безопасности.

При вставке exec.url на форуме сыпятся ошибки:

Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/uralski/public_html/forum/sources/classes/class_display.php on line 681

 

Warning: include(http://домен.ru/имя-файла.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/uralski/public_html/forum/sources/classes/class_display.php on line 681

 

Warning: include() [function.include]: Failed opening 'http://домен.ru/имя-файла.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/uralski/public_html/forum/sources/classes/class_display.php on line 681

А, теперь понятно.

 

Тем не менее, запретить выполнять локальные файлы хостер вам не мог, если не вручную в скрипты полез, конечно. Восстановите доступ, посмотрю, как в ваших условиях это проще сделать.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.