Перейти к публикации
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.

Уведомление о смене репутации

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

Здравствуйте. Есть хук, добавляющий уведомления о смене репутации. Работает отлично, но почему-то отказывается работать с хуком (SD32) Reputation Reason...

 

Не подскажете, пожалуйста, в чем там проблема?

 

Вот оба хука:

 

(SD32) Reputation Reason.rar

 

(NB34) Enhanced Reputation Notifications 1.0.3.xml

Изменено пользователем Strategius

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

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

(SD32) Reputation Reason использует отдельный класс для выдаче репутации, нежели стандартный который перегружает хук Enhanced Reputation Notifications. Они не совместимы.

Опубликовано:
  • Автор

Понял. А можно поменять класс в хуке Enhanced Reputation Notifications, чтобы он перезагружал не стандартный класс, а тот, что используется в Reputation Reason?

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

Скорее всего нет, потому что он находится в папке hooks. Хотя можете попробовать.

Опубликовано:
  • Автор
Скорее всего нет, потому что он находится в папке hooks. Хотя можете попробовать.

А на что именно нужно заменить, не подскажете? Оригинальный класс - это classReputationCache?

Изменено пользователем Strategius

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

В хуке файл подключается обычным способом

 

	require_once( IPS_HOOKS_PATH . 'sd32ReputationCoreFunctions.php' );
	$repCache = new sd32ReputationCoreFunctions();

Нужно заменить чтобы он подключался загрузчиком форума

 

	$classToLoad = IPSLib::loadLibrary( IPS_HOOKS_PATH . 'sd32ReputationCoreFunctions.php', 'sd32ReputationCoreFunctions' );
	$repCache = $classToLoad

В настройках хука Enhanced Reputation Notifications указать чтобы он перегружал класс sd32ReputationCoreFunctions.

Опубликовано:
  • Автор
Нужно заменить чтобы он подключался загрузчиком форума

Заменил код, но с ним Reputation Reason вообще не работает, после нажатия на кнопку смены репутации ничего не происходит и репутация не добавляется...

Опубликовано:
  • Автор

Этот код встречается в двух файлах - sd32ReputationAjaxActionOverloader.php и sd32ReputationStaticActionOverloader.php, и репутация работает, только если сделать правку в sd32ReputationAjaxActionOverloader.php :huh:

 

В настройках хука Enhanced Reputation Notifications указать чтобы он перегружал класс sd32ReputationCoreFunctions.

Заменить "...classToOverload";s:20:"classReputationCache" на "...classToOverload";s:20:"sd32ReputationCoreFunctions"?

Изменено пользователем Strategius

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

Заменить "...classToOverload";s:20:"classReputationCache" на "...classToOverload";s:20:"sd32ReputationCoreFunctions"?

В настройках хука, а не в файле хука.

Если править сериализиованую строку, то нужно делать это правильно. s:20: это означает тип string размером 20 байт (в ANSI один символ занимает один байт занимает), следовательно при изменении нужно правильно указать размер строки. Но ковырять эти значения не нужно. Все изменения делаются при редактирование хука.

Опубликовано:
  • Автор

Добавил, но почему-то уведомления так и не приходят... При замене оригинального класса тоже тот же результат :(

post-59150-0-87963000-1484248375_thumb.jpg

Изменено пользователем Strategius

Опубликовано:
  • Автор

Что же я не так делаю, не подскажете?

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

Почему в списке оба класса? Я же вроде сказал, что он должен перегружать этот вместо старого. Такими кривыми правками он никогда не будет работать, и так не факт что сможет. Удалите левый файл, посмотрите содержимое файла в hooks он должен расширять указанный в настройках класс.

Опубликовано:
  • Автор

А какой именно файл в hooks нужно смотреть?

 

И как удалить ненужный файл из настроек хука?

 

Вот по пунктам, что я сделал:

 

1. Сделал правку из поста #6

2. Добавил новый файл в настройках хука

3. Отключил старый файл (выставил значение - Не выбрано).

 

В тупике...

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

Включить режим разработчика. Там появится имя файла.

Опубликовано:
  • Автор

Вроде все сделал как написали, но результата пока нет... Накосячил в имени файла?

post-59150-0-26395300-1484261319_thumb.png

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

Скажите нам, причем здесь имя файла? Вы сообщения читаете внимательно? Сделайте пожалуйста это несколько раз. 5, 6, 10 раз, столько, сколько потребуется. Было сказано изменить расширяемый класс на sd32ReputationCoreFunctions. Прочитайте внимательно названия всех полей. Покажите нам какое поле отвечает за именем класса расширяемого этим файлом. Зачем надо было лезть в имени файла?

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

Сейчас на странице 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.