January 11, 20179 yr Здравствуйте. Есть хук, добавляющий уведомления о смене репутации. Работает отлично, но почему-то отказывается работать с хуком (SD32) Reputation Reason... Не подскажете, пожалуйста, в чем там проблема? Вот оба хука: (SD32) Reputation Reason.rar (NB34) Enhanced Reputation Notifications 1.0.3.xml Edited January 11, 20179 yr by Strategius
January 11, 20179 yr (SD32) Reputation Reason использует отдельный класс для выдаче репутации, нежели стандартный который перегружает хук Enhanced Reputation Notifications. Они не совместимы.
January 12, 20179 yr Author Понял. А можно поменять класс в хуке Enhanced Reputation Notifications, чтобы он перезагружал не стандартный класс, а тот, что используется в Reputation Reason?
January 12, 20179 yr Скорее всего нет, потому что он находится в папке hooks. Хотя можете попробовать.
January 12, 20179 yr Author Скорее всего нет, потому что он находится в папке hooks. Хотя можете попробовать.А на что именно нужно заменить, не подскажете? Оригинальный класс - это classReputationCache? Edited January 12, 20179 yr by Strategius
January 12, 20179 yr В хуке файл подключается обычным способом 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.
January 12, 20179 yr Author Нужно заменить чтобы он подключался загрузчиком форумаЗаменил код, но с ним Reputation Reason вообще не работает, после нажатия на кнопку смены репутации ничего не происходит и репутация не добавляется...
January 12, 20179 yr Author Этот код встречается в двух файлах - sd32ReputationAjaxActionOverloader.php и sd32ReputationStaticActionOverloader.php, и репутация работает, только если сделать правку в sd32ReputationAjaxActionOverloader.php :huh: В настройках хука Enhanced Reputation Notifications указать чтобы он перегружал класс sd32ReputationCoreFunctions.Заменить "...classToOverload";s:20:"classReputationCache" на "...classToOverload";s:20:"sd32ReputationCoreFunctions"? Edited January 12, 20179 yr by Strategius
January 12, 20179 yr Заменить "...classToOverload";s:20:"classReputationCache" на "...classToOverload";s:20:"sd32ReputationCoreFunctions"?В настройках хука, а не в файле хука.Если править сериализиованую строку, то нужно делать это правильно. s:20: это означает тип string размером 20 байт (в ANSI один символ занимает один байт занимает), следовательно при изменении нужно правильно указать размер строки. Но ковырять эти значения не нужно. Все изменения делаются при редактирование хука.
January 12, 20179 yr Author Добавил, но почему-то уведомления так и не приходят... При замене оригинального класса тоже тот же результат :( Edited January 12, 20179 yr by Strategius
January 12, 20179 yr Почему в списке оба класса? Я же вроде сказал, что он должен перегружать этот вместо старого. Такими кривыми правками он никогда не будет работать, и так не факт что сможет. Удалите левый файл, посмотрите содержимое файла в hooks он должен расширять указанный в настройках класс.
January 12, 20179 yr Author А какой именно файл в hooks нужно смотреть? И как удалить ненужный файл из настроек хука? Вот по пунктам, что я сделал: 1. Сделал правку из поста #62. Добавил новый файл в настройках хука3. Отключил старый файл (выставил значение - Не выбрано). В тупике...
January 12, 20179 yr Author Вроде все сделал как написали, но результата пока нет... Накосячил в имени файла?
January 12, 20179 yr Скажите нам, причем здесь имя файла? Вы сообщения читаете внимательно? Сделайте пожалуйста это несколько раз. 5, 6, 10 раз, столько, сколько потребуется. Было сказано изменить расширяемый класс на sd32ReputationCoreFunctions. Прочитайте внимательно названия всех полей. Покажите нам какое поле отвечает за именем класса расширяемого этим файлом. Зачем надо было лезть в имени файла?
Здравствуйте. Есть хук, добавляющий уведомления о смене репутации. Работает отлично, но почему-то отказывается работать с хуком (SD32) Reputation Reason...
Не подскажете, пожалуйста, в чем там проблема?
Вот оба хука:
(SD32) Reputation Reason.rar
(NB34) Enhanced Reputation Notifications 1.0.3.xml
Edited by Strategius