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

Не работает хук [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 месяц спустя...

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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