Перейти к контенту

Не работает хук [AH30] Reputation после обновления до 3.1.3


Ralf99

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

Обновился с 3.1.2 до 3.1.3 и перестал работать хук [AH30] Reputation 1.0.2. После того как вводишь комментарий к репутации и нажимаешь "добавить" окно повышения репы сворачивается, а сама репа не повышается. В консоле JavaScript вылазит ошибка :

 

Failed to load resource: the server responded with a status of 503 (Service Unavailable)

_http://site.ru/index.php?&app=core&module=ajax&section=reputation&do=add_rating&app_rate=forums&type=pid&type_id=41&secure_key=aaefd215c6b8d5fb5a19640969ff4b0d&rating=1&rep_msg=Kommentariy

 

Код JS скрипта мода:

 

 

</script><link rel="stylesheet" type="text/css" title='Main' media="screen" href="http://test1.ru/public/style_css/css_1/ah30reputation.css" /> 
<script type='text/javascript'> 
for( var id in ipb.global.reputation )
{
if ( $( id ) )
{
	if ( $( id ).down('.rep_up') )
	{
		$( id ).down('.rep_up').stopObserving();
		$( id ).down('.rep_up').observe( 'click', ah30Rep.bindAsEventListener(0, 1, id) );
	}

	if ( $( id ).down('.rep_down') )
	{
		$( id ).down('.rep_down').stopObserving();
		$( id ).down('.rep_down').observe( 'click', ah30Rep.bindAsEventListener(0, -1, id) );
	}
}
}
function ah30Rep( event )
{
Event.stop(event);

type	= ( arguments )[1];
id		= ( arguments )[2];

if( !ipb.global.reputation[ id ] )
{
	return;
}
else
{
	var rep = ipb.global.reputation[ id ];
}

if ( $( id ).down('.rep_up') )
{
	$( id ).down('.rep_up').hide();
}

if ( $( id ).down('.rep_down') )
{
	$( id ).down('.rep_down').hide();
}

pos = $(id).cumulativeOffset();
finalPos = { 
		top: pos.top + $(id).getHeight(),
		left: ( pos.left )
	};

popup =	new Element('div',
			{
				id: id + '_popup'
			}
		).hide().setStyle('padding-top:5px;padding-left:4px;');
$(id).insert( { bottom: popup } );

popup.update( "<div id='reputationMsgBox'><input type='textbox' name='rep_msg' id='rep_msg' value='' size='30' /> <input type='submit' id='sendRep' class='input_submit ah30rep_input' value='Отправить' /> или <a href='javascript:void(0);' id='cancelRep' class='cancel'>Отмена</a><br /><span class='desc ah30rep_desc'>Введите комментарий к репутации.</span></div>" );

$(id).down('ul').setStyle('float:right;');

$(id).removeClassName('rep_bar_expanded');
$(id).removeClassName('rep_bar_shrink');

new Effect.Morph( $(id),
	{
		style: 'rep_bar_expanded',
		duration: 0.4,
		afterFinish: function()
		{
			new Effect.Appear( popup, {duration:0.4} );
		}
	} 
);

/* Class */
if ( type == 1 )
{
	$('rep_msg').addClassName('ah30rep_positive');
}
else if ( type == -1 )
{
	$('rep_msg').addClassName('ah30rep_negative');
}

$('reputationMsgBox').writeAttribute('id', id + '_box' );
$('cancelRep').writeAttribute('id', id + '_cancel' );
$('sendRep').writeAttribute('id', id + '_send' );
$('rep_msg').writeAttribute('id', id + '_msg' );

$( id + '_cancel' ).observe( 'click', ah30CancelRep.bindAsEventListener(0, type, id) );
$( id + '_send' ).observe( 'click', ah30SendRep.bindAsEventListener(0, type, id) );
}
function ah30CancelRep( event )
{
Event.stop(event);

type	= ( arguments )[1];
id		= ( arguments )[2];

ah30ShrinkBar( id );
}
function ah30SendRep( event )
{
Event.stop(event);

type	= ( arguments )[1];
id		= ( arguments )[2];
value	= ( type == 1 ) ? 1 : -1;

if( ! ipb.global.reputation[ id ] )
{
	return;
}
else
{
	var rep = ipb.global.reputation[ id ];
}

ah30ShrinkBar(id,false);

// Send ping
new Ajax.Request( rep.sendUrl + '&rating=' + value + '&rep_msg=' + encodeURIComponent($(id + '_msg').getValue()),
	{
		method: 'get',
		onSuccess: function( t )
		{
			if( t.responseText == 'done' )
			{
				try {									
					// It worked! Hide the rep buttons
					rep.obj.down('.rep_up').hide();
					rep.obj.down('.rep_down').hide();
				} catch(err) { }

				// Update the figure
				var rep_display = rep.obj.down('.rep_show');
				if( rep_display )
				{										
					['positive', 'negative', 'zero'].each(function(c){ rep_display.removeClassName(c) });

					var newValue = rep.currentRating + value;

					if( newValue > 0 )
					{
						rep_display.addClassName('positive');
					}
					else if( newValue < 0 )
					{
						rep_display.addClassName('negative');
					}
					else
					{
						rep_display.addClassName('zero');
					}

					rep_display.update( parseInt( rep.currentRating + value ) );
				}
			}
			else
			{
				alert('Rating failed: ' + t.responseText );
			}
		}
	}
);	
}
function ah30ShrinkBar( id, buttons )
{
if ( ! id )
{
	return;
}

$( id + '_send' ).stopObserving();
$( id + '_cancel' ).stopObserving();

$(id).removeClassName('rep_bar_shrink');

new Effect.Fade( $( id + '_popup' ),
	{
		duration: 0.4,
		afterFinish: function()
		{
			new Effect.Morph( $(id),
				{
					style: 'rep_bar_shrink',
					duration: 0.4,
					afterFinish: function()
					{
						$(id).removeClassName('rep_bar_expanded');

						if ( typeof( buttons ) == 'undefined' || buttons == true )
						{
							$(id).down('ul').setStyle('float:left;');

							if ( $( id ).down('.rep_up') )
							{
								$( id ).down('.rep_up').show();
							}

							if ( $( id ).down('.rep_down') )
							{
								$( id ).down('.rep_down').show()
							}
						}

						Element.remove( id + '_popup' );
					}
				}
			);
		}
	}
);
}
</script>

 

 

 

Сам мод:AH30_Reputation_1.0.2_RU.rar

Ссылка на комментарий
Поделиться на других сайтах

Сам исправил. В таблице reputation_index разработчики убрали один столбец, из-за этого мод не мог записать в эту таблицу данные.
  • Лайк 1
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
а никто не знает, как отключить отображение репутации везде где это возможно для группы администраторов?
Ссылка на комментарий
Поделиться на других сайтах

Сам исправил. В таблице reputation_index разработчики убрали один столбец, из-за этого мод не мог записать в эту таблицу данные.

Подскажи, пожалуйста, какой столбец вернул.

Скачал новую версию и поставил с сайта автора, благо бесплатно. Работает.

С какого адреса качал? Что-то нигде не найду, а сайт автора, похоже, загнулся временно. Может, сюда выложишь? Много у кого такая проблема.

Ссылка на комментарий
Поделиться на других сайтах

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

 

В общем пришлось поставть 3.1.2. и сравнивать таблицы

Действительно, в таблице reputation_index пропало поле "MISC"

Его можно восстановить через phpMyAdmin простым запросом:

ALTER TABLE `reputation_index` ADD `misc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL

У вас имя таблицы может содержать префикс, будьте внимательны.

После этого мод снова работает.

Кажется.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 2 недели спустя...
  • 2 недели спустя...

У кого не заработало, попробуйте добавить префикс свой в назавние таблицы, к примеру, если по умолчанию префикс ibf_ то запрос выглядит так:

 

ALTER TABLE `ibf_reputation_index` ADD `misc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL

 

У меня вроде заработало

Ссылка на комментарий
Поделиться на других сайтах

Попробуйте проверить наличие файла ah30ReputationCoreFunctions.php в папке hooks, если его нет, то из архива надо его туда залить. Но на этом история не заанчивается. Ошибку все равно может показывать! Для этого пробуем отключить этот хук и заново включить! Проверяем! Должно работать!

 

Моя версия 3.1.4, Заработало!

Ссылка на комментарий
Поделиться на других сайтах

когда жмешь на ник пользователя которому выставил репутацию, и читаешь в левом столбце Latest Reputation там за место комментов вот такая фигня

"%u0437%u0430 %u0443%u0447%u0430%u0441%u0442%u04..." я написал там "за участие" по русски..

 

а если пишешь по английски то все ок. Вообще перевод бы на русский не помешал. Никто не делал перевод?

 

 

Впринципе 3.1.4 все работает. Единственное нужно выполнить инструкции этих постов, добавить столбец в phpmyadmin и указать правильный префикс

http://forums.ibresource.ru/index.php?/topic/61717/page__view__findpost__p__375718

http://forums.ibresource.ru/index.php?/topic/61717/page__view__findpost__p__377623

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
Хорошо может тогда есть альтернативные моды репутации, где можно описать за что репутация выставлена и посмотреть кто ее сделал?
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Хорошо может тогда есть альтернативные моды репутации, где можно описать за что репутация выставлена и посмотреть кто ее сделал?

Поддерживаю вопрос! Очень нужен такой хук!!!

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.