proit Опубликовано 5 Октября 2009 Жалоба Поделиться Опубликовано 5 Октября 2009 Создал новую группу, выставил ограничение 0/0 для +/- к выставлению репутации.Решил зарегиться для проверки и понаставлять +/- и каково было мое удивление, когда я смог это сделать. Возможно, кто то уже сталкивался с этим багом и уже знает решение, прошу помощи. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 proit Опубликовано 6 Октября 2009 Автор Жалоба Поделиться Опубликовано 6 Октября 2009 Вопрос до сих пор актуален. Решение пока не нашел( Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 proit Опубликовано 7 Октября 2009 Автор Жалоба Поделиться Опубликовано 7 Октября 2009 (изменено) Отписался в тех.поддержку. Надеюсь, помогут Изменено 7 Октября 2009 пользователем proit Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 steroid Опубликовано 8 Октября 2009 Жалоба Поделиться Опубликовано 8 Октября 2009 Вряд ли стоит надеяться.. Это баг исключительно мода расширенной репутации. Здесь стоит уповать лишь на возможный интузиазм здешних спецов: Ritsuka, FatCat, либо каким-нибудь образом донести о выявленной проблеме разработчику мода. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 proit Опубликовано 8 Октября 2009 Автор Жалоба Поделиться Опубликовано 8 Октября 2009 Да, оказалось это действительно баг хука Найду время пофиксю. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 proit Опубликовано 9 Октября 2009 Автор Жалоба Поделиться Опубликовано 9 Октября 2009 (изменено) Оказалось, просто это не было предусмотрено хуком.Написать фикс не проблема, когда проблема яснаВ общем ищем в hooks/ah30ReputationCoreFunctions.php строки: /* Day Cutoff */ $day_cutoff = time() - 86400; /* Check Max Positive Votes */ if( ipsRegistry::member()->getProperty( 'g_rep_max_positive' ) && $rating == 1 ) { $total = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'count(*) as votes', 'from' => 'reputation_index', 'where' => 'member_id=' . ipsRegistry::member()->getProperty( 'member_id' ) . ' AND rep_rating=1 AND rep_date > ' . $day_cutoff ) ); if( $total['votes'] >= ipsRegistry::member()->getProperty( 'g_rep_max_positive' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_quota_pos']; return false; } } /* Check Max Negative Votes */ if( ipsRegistry::member()->getProperty( 'g_rep_max_negative' ) && $rating == -1 ) { $total = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'count(*) as votes', 'from' => 'reputation_index', 'where' => 'member_id=' . ipsRegistry::member()->getProperty( 'member_id' ) . ' AND rep_rating=-1 AND rep_date > ' . $day_cutoff ) ); if( $total['votes'] >= ipsRegistry::member()->getProperty( 'g_rep_max_negative' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_quota_neg']; return false; } }Заменяем на: /* Day Cutoff */ $day_cutoff = time() - 86400; /* FIX PROIT. Check Reputation Quota*/ if( !ipsRegistry::member()->getProperty( 'g_rep_max_positive' ) && !ipsRegistry::member()->getProperty( 'g_rep_max_negative' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_offline']; return false; } /* FIX PROIT. Check Max Positive Votes */ if( $rating == 1 ) { if( !ipsRegistry::member()->getProperty( 'g_rep_max_positive' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_offline']; return false; } $total = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'count(*) as votes', 'from' => 'reputation_index', 'where' => 'member_id=' . ipsRegistry::member()->getProperty( 'member_id' ) . ' AND rep_rating=1 AND rep_date > ' . $day_cutoff ) ); if( $total['votes'] >= ipsRegistry::member()->getProperty( 'g_rep_max_positive' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_quota_pos']; return false; } } /* FIX PROIT. Check Max Negative Votes */ if( $rating == -1 ) { if( !ipsRegistry::member()->getProperty( 'g_rep_max_negative' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_offline']; return false; } $total = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'count(*) as votes', 'from' => 'reputation_index', 'where' => 'member_id=' . ipsRegistry::member()->getProperty( 'member_id' ) . ' AND rep_rating=-1 AND rep_date > ' . $day_cutoff ) ); if( $total['votes'] >= ipsRegistry::member()->getProperty( 'g_rep_max_negative' ) ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_quota_neg']; return false; } } Теперь, когда выдача оценок для группы запрещена, будет показываться табличка "Rating failed: Вы исчерпали лимит положительных оценок на сегодня" Еще рекомендую убрать дублирование кода. Удалите блок: if( $rating == -1 AND ipsRegistry::$settings['reputation_point_types'] == 'positive' ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_invalid']; return false; } if( $rating == 1 AND ipsRegistry::$settings['reputation_point_types'] == 'negative' ) { $this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_invalid']; return false; }Вот так все простоP.S. Фикс актуален для AH30_Reputation_1.0.2_FIX_RU Изменено 9 Октября 2009 пользователем proit alex_3dm и hyundai-hs отреагировали на это 2 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Алексей Кузнецов_88415 Опубликовано 8 Мая 2011 Жалоба Поделиться Опубликовано 8 Мая 2011 Подскажите пожалуйста, у меня вылетает ошибка при добавлении репутации: Rating failed: <html><head><title>502 Bad Gateway</title></head><body bgcolor="white"></body></html> где копатЬ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
proit
Создал новую группу, выставил ограничение 0/0 для +/- к выставлению репутации.
Решил зарегиться для проверки и понаставлять +/- и каково было мое удивление, когда я смог это сделать.
Возможно, кто то уже сталкивался с этим багом и уже знает решение, прошу помощи.
Ссылка на комментарий
Поделиться на других сайтах
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.