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

Редирект после смены языка

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

 

&k=form_hash&setlanguage=1&cal_id=&langid=1

 

Или что нужно исправить в функции changeLanguageUrl, что бы она работала точно так же - когда что то открыто на сайте, например какая то категория, подфорум или тема.

Так как хвост тогда обрезается и он просто кидает обратно на эту тему.

А вот если например открыто приложение Пользователи или любое другое, то редиректа нет. Он просто добавляет хвост и все.

Учитывая то что form_hash длинный обычно, это очень не красиво смотрится.

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

Хвост исчезнет при переходе на последующие ссылки.

  • Автор

Это понятно, но он ведь исчезает сразу же когда я на самом форуме в темах и тд и тп. Интересно было бы сделать так везде. И кстати заметил что в IPS 4 этой проблемы нет, ее поправили. Мб можно все таки как то навести красоту или овчинка не стоит выделки?

Учитывая то что form_hash длинный обычно, это очень не красиво смотрится.
Не вижу этого.

 

form_hash обрезается в

admin/sources/base/ipsRegistry.php

 

			$url = preg_replace( "/k=(.+?){32}&/", "", ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );

 

Да и на всех страницах хвост добавляется.

  • Автор

Не вижу этого.

 

form_hash обрезается в

admin/sources/base/ipsRegistry.php

 

			$url = preg_replace( "/k=(.+?){32}&/", "", ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );

 

Да и на всех страницах хвост добавляется.

 

Ну смотри вот я кликаю и получаю в итоге:

http://site.ru/?k=780e1464fe13e833987012b10b6aeef6&setlanguage=1&cal_id=&langid=1

как то так.

И да строку которую вы дали я не наблюдаю у себя? есть строки:

...
$http_referrer = ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
...
ipsRegistry::$request['referer']	= ipsRegistry::$request['referer'] ? ipsRegistry::$request['referer'] : ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
...

 

И похожая:

...
ipsRegistry::$settings['this_url']		 	= ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . my_getenv('HTTP_HOST') . str_replace( array( '<', '>', '(', ')' ), '-', my_getenv('REQUEST_URI') );
...

 

Или мне ее нужно добавить? Если добавить то можно уточнить куда именно, а то файлик большой.

Или мне ее нужно добавить? Если добавить то можно уточнить куда именно, а то файлик большой.
Я смотрел в 3.4.8
  • Автор

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

Ну да стоит 3.4.6. Если через админку обновиться, ничего не случится с базой данных и материалами которые уже есть на сайте?
С базой - нет. А вот за функционал не скажу, т.к. может быть Вы правили какие-нибудь файлы или используете локализацию от ИБР, а обновлять будете оригинальной.

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

Аккаунт

Навигация

Поиск

Поиск

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

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