Возникла необходимость избавиться от внешних ссылок путем редиректа вида www.forum.ru/out/http://yandex.ru
Просмотрев разные варианты, решил пойти по пути правки файла /admin/sources/classes/bbcode/custom/defaults.php, отвечающего за работу с кодом URL.
В самом конце файла идет проверка на внешние ссылки, добавление nofollow и external. Там же вставил такие строчки:
if ($extlink == 1 ) {
if ($this->settings['htaccess_mod_rewrite'] == 1) $option = "{$this->settings['board_url']}/out/$option";
else $option = "{$this->settings['board_url']}?/out/$option";
}
Подобное решение, как казалось, позволило сохранить в базе "чистые" урлы на случай, если редирект нужно будет выключить, а с другой стороны позволяет применить систему сразу ко всему сообществу, включая блоги и комментарии.
Однако появилось неожиданная проблема: при первичной отправке сообщения оно записывается в базу корректно (то есть там чистый урл _http://yandex.ru ), однако, если мы сообщение редактируем, оно по какой-то причине попадает в редактор уже с "грязным" урлом - _http://www.forum.ru/out/http://yandex.ru Это немного неожиданно, потому что вроде бы добавления касались именно отображаемой информации, html-кода.
Подскажите, пожалуйста, где копнуть, чтобы этого избежать.
Возникла необходимость избавиться от внешних ссылок путем редиректа вида www.forum.ru/out/http://yandex.ru
Просмотрев разные варианты, решил пойти по пути правки файла /admin/sources/classes/bbcode/custom/defaults.php, отвечающего за работу с кодом URL.
В самом конце файла идет проверка на внешние ссылки, добавление nofollow и external. Там же вставил такие строчки:
if ($extlink == 1 ) { if ($this->settings['htaccess_mod_rewrite'] == 1) $option = "{$this->settings['board_url']}/out/$option"; else $option = "{$this->settings['board_url']}?/out/$option"; }Подобное решение, как казалось, позволило сохранить в базе "чистые" урлы на случай, если редирект нужно будет выключить, а с другой стороны позволяет применить систему сразу ко всему сообществу, включая блоги и комментарии.
Однако появилось неожиданная проблема: при первичной отправке сообщения оно записывается в базу корректно (то есть там чистый урл _http://yandex.ru ), однако, если мы сообщение редактируем, оно по какой-то причине попадает в редактор уже с "грязным" урлом - _http://www.forum.ru/out/http://yandex.ru Это немного неожиданно, потому что вроде бы добавления касались именно отображаемой информации, html-кода.
Подскажите, пожалуйста, где копнуть, чтобы этого избежать.
Версия 3.3