Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

&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. Если через админку обновиться, ничего не случится с базой данных и материалами которые уже есть на сайте?
С базой - нет. А вот за функционал не скажу, т.к. может быть Вы правили какие-нибудь файлы или используете локализацию от ИБР, а обновлять будете оригинальной.

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.