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

[2.3.x][an23] Ajax Thanks / Мод "Спасибо"


andaril

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

Название: [an23] Ajax Thanks / Мод "Спасибо"

Добавил: andaril

Добавлен: 25 Фев 2009

Обновлен: 13 Авг 2009

Категория: IP.Board 2.3.x

 

+---------------------------------------------------------------------

| Invision Power Board v2.3.x

| =================================================================

| http://www.invisionpower.com

| http://www.ibresource.ru

| http://ipbskins.ru

| =================================================================

+---------------------------------------------------------------------

|

| > Мод "Спасибо"

| > by andaril

| > Базируется на моде "Thanks" by Unlovelt

| > И "Thanks" by AVol

|

| > Date: 12.08.2006

|

+---------------------------------------------------------------------

|

| > Мод добавляет возможность зарегистрированным пользователям

| > сказать "спасибо" за ЛЮБОЙ пост другого пользователя.

|

| > База данных совместима с модом от AVol и Unlovelt

|

+---------------------------------------------------------------------

|

| > Автор не несет никакой ответственности за любые действия,

| > произошедшие по вине этого модуля

| > Вы используете его на свой страх и риск

|

+---------------------------------------------------------------------

 

Постараюсь просматривать тему тут как можно чаще, но лучше за ошибками обращаться сюда.

 

ЗЫ: Уважаемые пользователи. Я, конечно, понимаю, что не все тут "продвинутые" администраторы, и понимают что такое php, html, mysql, БД, переменные, но объяснять все так же подробно, как в пошаговой инструкции я тоже не буду. Надеюсь вы поймете меня. Лучше спросите совета у кого-то из ваших знакомых.

 

Нажмите здесь, чтобы скачать файл

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

Если не сложно, думаю часть про изменения лучше в загнать.
  • Лайк 1
Ссылка на комментарий
Поделиться на других сайтах

Я думаю лучше так оставить. :D

Тем более у вас есть права на редактирование.

 

И еще, у вас в ФА парсер не обрабатывает nofollow вроде норм. ;)

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

Я думаю лучше так оставить. :D

Тем более у вас есть права на редактирование.

 

И еще, у вас в ФА парсер не обрабатывает nofollow вроде норм. :)

Хозяин барин ;)

 

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

 

А он его в форуме разве обрабатывает? Лучше не обращай внимание, архив содержит дырки и получше этой :) Только никому нет до них дела, видимо АйБиресурс денно и нощьно начал бороться с кризисом.

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

Доработка проста до жути, просто я аякс в спасибо добавил где-то год назад, а инструкцию дописать лень было.

 

Насчет парсера, просто знакомая ошибка когда появляется html'овский <a href=''.... Да и я ваш ФА не знаю, чтобы говорить, что парсит)

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

Поставил модуль все как описано в install.txt. Но невыводится кнопка" Спасибо".

Просмотрел html код топика, нет даже кода

<img src='style_images/<#IMG_DIR#>/thanks.gif' border='0'  alt='Спасибо' />

Шаблон button_thanks, создан.

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

значит либо нету ничего в шаблоне.

либо не перекешировали стили

либо не редактировали как положено topics.php

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

значит либо нету ничего в шаблоне.

skin_topic>button_thanks> Содержимое

<span id='thank_button{$post}'><a href="{$this->ipsclass->base_url}act=thanks&type=add&f={$this->ipsclass->input['f']}&t={$this->ipsclass->input['t']}&pid={$post}" title="Спасибо" onclick="return add_thanks({$post}, {$member_id});"><img src='style_images/<#IMG_DIR#>/thanks.gif' border='0'  alt='Спасибо' /></a></span>

либо не перекешировали стили

Всё делал

либо не редактировали как положено topics.php

Содержимое файла topics.php после редактирования

$row['delete_button'] = $row['pid'] != $this->topic['topic_firstpost'] 
						  ? $this->delete_button($row['pid'], $poster) 
						  : '';

	/*/ -- Thanks (by AVol) - Begin -- /*/
	if ($this->ipsclass->vars['thanks_mod_enable'])
	{
		$member_thanks = explode(',',$row['post_thanks']);

		if (   ( in_array($this->topic['forum_id'], explode(',',$this->ipsclass->vars['thanks_forums'])) or (!$this->ipsclass->vars['thanks_forum_lim']) )
			and ( in_array($this->ipsclass->member['mgroup'], explode(',',$this->ipsclass->vars['thanks_from_groups'])) or (!$this->ipsclass->vars['thanks_from_grp_lim']) )
			and ( in_array($poster['mgroup'], explode(',',$this->ipsclass->vars['thanks_to_groups'])) or (!$this->ipsclass->vars['thanks_to_grp_lim']) )
			and ($this->ipsclass->member['id'])   )
		{
			if ( (!in_array($this->ipsclass->member['id'],$member_thanks)) and ($this->ipsclass->member['id'] != $row['author_id']) )
			{
				$row['thanks_button'] = $this->ipsclass->compiled_templates['skin_topic']->button_thanks($row['pid'], $row['author_id'] );
			}
		}

		if (   ( in_array($this->ipsclass->member['mgroup'], explode(',',$this->ipsclass->vars['thanks_view_groups'])) or (!$this->ipsclass->vars['thanks_view_grp_lim']) )
			and ( (count($member_thanks) > 0) && ($member_thanks[0] != "") )   )
		{
			$in_thanks = (count($member_thanks)==2) ? $row['post_thanks'] : implode(',',$member_thanks);

			$this->ipsclass->DB->simple_construct( array( 'select' => 'id, members_display_name, mgroup', 'from' => 'members', 'where' => 'id IN (' . $in_thanks . ')', 'order' => 'members_display_name ASC') );
			$this->ipsclass->DB->simple_exec();

			while($who_thanks = $this->ipsclass->DB->fetch_row())
			{
				$who_thanks['members_display_name'] = $this->ipsclass->make_name_formatted( $who_thanks['members_display_name'], $who_thanks['mgroup'] );
				$show_thanks .= "<a href='{$this->ipsclass->base_url}showuser={$who_thanks['id']}' target='_blank'>" . $who_thanks['members_display_name'] . "</a>" . ', ';
			}
			$row['who_thanks'] = "<br /><br /><div class=\"thin\"><I>{$this->ipsclass->lang['thx_thanks_told']}:</I><div class=\"signature\">" . $show_thanks . "</div></div>";
		}
	}
	/*/ -- Thanks (by AVol) -  End  -- /*/

	$row['edit_button']   = $this->edit_button($row['pid'], $poster, $row['post_date']);

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

Сочувствую.

 

 

Мод обновлен. Выходила ошибка, когда у юзеров не было "спасибов". Необходимо обновить файлы языка и thanks.php в папке ./sources/action_public/

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

Пипец :D , я ступил.

Форум новый, постов от юзверов пока нет, а смотрел я под админом свои-же топики. Естетственно мне как автору кнопка "спасибо" не показывалась ;)

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

Спасибо за мод! Все прекрасно работает. Волнует единственный вопрос: Что и где необходимо сделать, чтобы полоска сказавших "спасибо" отображалась не в самом сообщении под подписью, а под самим сообщением, примерно вот так:

 

post-75413-1236188103_thumb.jpg

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

Интересно а как сделать кнопку забрать спасибо, ну или что-то типа :D и отображение сколько раз сказал спасибо, к примеру:

сейчас

Спасибо сказали: 3 раз(а)

интересно было бы что-то на подобии

Сказал(а) спасибо : # раз(а)
Поблагодарили: # раз(а)

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

Спасибо за мод! Все прекрасно работает. Волнует единственный вопрос: Что и где необходимо сделать, чтобы полоска сказавших "спасибо" отображалась не в самом сообщении под подписью, а под самим сообщением, примерно вот так:
сделать вроде реально, но надо копать RenderRow (skin_topic). У меня на этого нет времени, да и желания, ну не нравится мне вывод под постом, может найдутся другие добрые люди, не вижу в адаптации стилей под такой вид особых тяжестей.
Интересно а как сделать кнопку забрать спасибо, ну или что-то типа
если читали thanks.php то там есть todo с этой функцией. Пока не до него, позже, через недели две, реализую.
отображение сколько раз сказал спасибо, к примеру
на "поблагодарили" можно и самому поменять. А вот на учет пола юзера. :D Я подумаю. Или же я вас не понял?

Но опять же учет пола и "раз"/"раза" не раньше чем через две недели. Ибо я в армию не шибко хочу.

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

обновлена инструкция по обновлению мода. Возникал дубль "спасибов"

 

странно, что никто не пишет о таких ошибках. :D

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

Не, я имелл виду количество которое ты сказал спасибок и кому и где
ааа, не. Имхо слишком жутко. Тем более писать инструкцию для этого слишком геморно.

 

но в принципе идея нравится. Посмотрим еще

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

Спасибо большое!

Всё стало без проблем, работает.

Только вот непонял почему при просмотре темы, в блоке с инфой о юзере, не пишется "Сказали спасибо: @ раз(а)".

 

Выводит просто:

Сообщений: 51

Регистрация: Вчера, 15:28

Из: Украина, Николаев

Пользователь №: 2

1

 

1 - это кол-во спасибо :D

 

Что я сделал не так?)

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

Ты не добавил изменения все в скины, вроде в renderrow.

 

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

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

Кстати под номером не прописывается ссылка на просмотр благодарностей конкретному пользователю Оо

 

там в инструкции начиная с

Редактирование языков

./cache/lang_cache/*/lang_topic.php

./cache/lang_cache/*/lang_profile.php

 

изменять и анг. файлы тоже?

 

Изменил и англ. файлы.

Перепроверил русские (всего 2 языка установлено).

Кеш обновил.

Никаких результатов Оо

Версия 2.3.3

 

Кстати...

Такая-же штука и при просмотре списка пользователей.

 

Когда просматриваешь конкретный профайл, всё корректно отображается

Спасибо сказали: 8 раз(а)

+ 8 раз(а) является ссылкой, которая ведёт в список благодарностей юзера. вобщем как нада.

:D

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

×
×
  • Создать...