Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Strategius

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

Recommended Posts

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

 

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

 

Вот оба хука:

 

(SD32) Reputation Reason.rar

 

(NB34) Enhanced Reputation Notifications 1.0.3.xml

Edited by Strategius

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Скорее всего нет, потому что он находится в папке hooks. Хотя можете попробовать.

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

Edited by Strategius

Share this post


Link to post
Share on other sites

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

 

	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.

  • Upvote 1

Share this post


Link to post
Share on other sites
Нужно заменить чтобы он подключался загрузчиком форума

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

Share this post


Link to post
Share on other sites

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

 

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

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

Edited by Strategius

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Edited by Strategius

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

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

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

 

В тупике...

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...