Перейти к контенту
  • 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 что ещё?

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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