Перейти к контенту
  • 0

Подключение форума ввиде модуля


@lexander

Вопрос

Здравствуйте, столкнулся со следующей проблемой:

 

Адрес форума http://site/forums/

Файлы лежат в $this->patch_to_modules.$this->module_dir.'forum/'

 

Подключаю форум классе Forum:

	protected function load_forum($include) // $include - файл или путь, к которому идёт обращение http://site/forums/include?vars
{
	chdir($this->patch_to_modules.$this->module_dir.'forum/');
	include($this->patch_to_modules.$this->module_dir.'forum/'.str_replace(array('../', './'), array('', ''), $include)); // допускается подключения подкаталогов
}

1. Не будет ли это дырой

2. Форум использует разнообразные глобальные переменные, можете привести здесь полный список.

Буду использовать как global $INFO, $Debug, $ipsclass в методе load_forum.

 

Есть ли другие способы решения этой проблемы?

 

Какие переменные используются для работы с шаблонами (необходимо поместить шаблоны в произвольную папку $this->patch.'forum_tpl/')

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

URL парсится через .htaccess => управление передаётся моей программе => подрубается форум:

include('какой-то там путь/forum/'.str_replace(array('../', './'), array('', ''), $include));

chdir нужен для того, чтоб форум успешно подключал файлы через include('./file.php');

Единственная проблема в том, что форум использует глобальные переменные => необходимо знать ВСЕ глобальные переменные, которые задаются вне функций и методов, т.е. фактически являются локальными (для метода load_forum), например, $INFO.

Изменено пользователем @lexander
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Запускается, проверено. Только графика грузится с http://site/forums/, но это поправимо.

Тестил пока только с index.php, но думаю и с другими проблем быть не должно, а include можно записать и так:

include('какой-то там путь/forum/index.php');

 

 

Единственная проблема в том, что форум использует глобальные переменные => необходимо знать ВСЕ глобальные переменные, которые задаются вне функций и методов, т.е. фактически являются локальными (для метода load_forum), например, $INFO.
Изменено пользователем @lexander
Ссылка на комментарий
Поделиться на других сайтах

  • 0

У Вас вообще то вопросов было несколько.

Я пытаюсь понять как у Вас это все запускается (в урл что и что выводится при таком урл), дабы ответить на в 1.

 

По поводу глобальных переменных, инклуд index.php спасет отца русской демократии.

 

А вот в 2.1.х и старше уже нет.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
в урл что и что выводится при таком урл

Форум думает, что он стоит в http://site/forums/, хотя файлы лежат в /modules/forum/ или что-то вроде этого.

include и chdir позволяет запустить форум, но графика не грузится.

 

По поводу глобальных переменных, инклуд index.php спасет отца русской демократии. А вот в 2.1.х и старше уже нет.

Интересуют последние версии.

$INFO, $ipsclass, $Debug что ещё?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.