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

-=MIF=-'s Блог

  • запись
    1
  • комментариев
    17
  • просмотров
    409

Мод "Спасибо" by AVol Invision Power Board v2.3.1


-=MIF=-

292 просмотра

скачать

 

http://ifolder.ru/4813025 - с исправлениями от Sannis

 

+---------------------------------------------------------------------
|   Invision Power Board v2.3.1
|  =================================================================
|   [url="http://www.invisionpower.com"]http://www.invisionpower.com[/url]
|   [url="http://www.ibresource.ru"]http://www.ibresource.ru[/url]
|  =================================================================
+---------------------------------------------------------------------
|
|   > Мод "Спасибо"
|   > by AVol
|   >  (http://www.ibresource.ru/forums/index.php?showuser=41059)
|   > Базируется на моде "Thanks" by Unlovelt
|
|   > Version: 2.0.4
|   > Date: 12.08.2006
|   > Last Update: 03.09.2006
|
+---------------------------------------------------------------------
|
|   > Изменения в 2.0.4:
|   > - При проверке прав теперь учитываются права форума-прародителя.
|   > - Права проверяются как на просмотр, так и на чтение.
|   > - Добавленна поддержка тега скрытого текста от Vic'er.
|   > - Добавлен просмотр благодарностей в списке пользователей с возможностью сортировки по ней.
|   > - Добавленна возможность просмотра количества благодарностей в профиле (спасибо -=mayday=-).
|   > - Добавленные отдельные языковые строки для просмотра темы, профиля и списка пользователей.
|
|   > Изменения в 2.0.2:
|   > - Добавленна проверка прав на просмотр сообщений из темы.
|   > - Добавлен отдельный языковой файл.
|
|   > Изменения в 2.0.0:
|   > - Просмотр истории благодарностей.
|   > - Функции правки благорарностей.
|   > - Функция пересчета благодарностей.
|   > - Дополнительные настройки в админцентре.
|
|   > Изменения в 1.1.0:
|   > - Добавленны настройки в Админцентре.
|   > - Возможность включения/отключения мода.
|   > - Возможность ограничения по форумам.
|   > - возможность ограничения по группам.
|
|   > Изменения в 1.0.3:
|   > - Исправленн редирект обратно на пост, за который сказанно "спасибо".
|   > - Исправленна ссылка на профиль сказавшего "спасибо".
|
|   > Изменения в 1.0.2:
|   > - Исправленна ошибка, в результате которой в списке сказавших
|   >   "спасибо" отображался еще и автор поста.
|   > - Гости тоже могут видеть список сказавших "спасибо".
|   > - Небольшое "косметическое" изменение в thanks.php.
|
+---------------------------------------------------------------------
|
|   > Мод добавляет возможность зарегистрированным пользователям
|   > сказать "спасибо" за ЛЮБОЙ пост другого пользователя.
|   > Т.к. мод основан на моде от Unlovelt и использует тот же
|   > принцип хранения в базе, он является полностью совместимым
|   > с его базой.
|
+---------------------------------------------------------------------
|
|   > Автор не несет никакой ответственности за любые действия, 
|   > произошедшие по вине этого модуля
|   > Вы используете его на свой страх и риск
|
+---------------------------------------------------------------------

######################################################################
Загрузка дополнительных файлов на сервер:
======================================================================
Загружаем файл thanks.php в sources/action_public/
======================================================================
Загружаем thanks.gif в каталог с вашим стилем (style_images/*/)
======================================================================
Загружаем файл lang_thanks.php во все папки существующие в cache/lang_cache/
(например: /cache/lang_cache/ru/)
======================================================================

######################################################################
Импорт настроек:
======================================================================
ACP -> TOOLS & SETTINGS -> View All General Settings -> Import an XML settings file
Админцентр -> НАСТРОЙКИ -> Все основные настройки -> Импорт системных настроек (XML)
======================================================================
Загружаем XML с настройками (ipb_settings_thanks.xml).
======================================================================

######################################################################
Выполнение SQL-запросов ("ibf_" заменить на свой префикс!):
======================================================================
Для таблицы members:
----------------------------------------------------------------------
ALTER TABLE `ibf_members` ADD (thanks_point int( 11 ) NOT NULL default '0');
----------------------------------------------------------------------
Для таблицы posts:
----------------------------------------------------------------------
ALTER TABLE `ibf_posts` add (post_thanks text );
======================================================================

######################################################################
./index.php
======================================================================
Найти:
----------------------------------------------------------------------
                "reg"        => array( "register"           , 'register'     , array() ),
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
                /*/ -- Thanks (by AVol) - Begin -- /*/
                "thanks"     => array( "thanks"             , 'thanks'       , array() ),
                /*/ -- Thanks (by AVol) -  End  -- /*/
======================================================================

######################################################################
./sources/action_public/topics.php
======================================================================
Найти:
----------------------------------------------------------------------
	$row['edit_button']   = $this->edit_button($row['pid'], $poster, $row['post_date']);
----------------------------------------------------------------------
Добавить Выше:
----------------------------------------------------------------------
	/*/ -- 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'] );
			}
		}

		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`', '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())
			{
				$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  -- /*/
======================================================================

######################################################################
./sources/ipclass.php
======================================================================
Найти:
----------------------------------------------------------------------
	$member['message_icon']    = $this->compiled_templates[ $skin_file ]->member_icon_msg( $member['id'] );
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
	/*/ -- Thanks (by AVol) - Begin -- /*/
           if ($this->vars['thanks_mod_enable'])
           {
               if ($this->vars['thanks_history_enable'])
               {
                   $member['thanks_point'] = "{$this->lang['thx_thanks_told']}: <a href='{$this->base_url}act=thanks&type=history&mid={$member['id']}' target='_blank'>" . 
                       $member['thanks_point'] . " {$this->lang['thx_thanks_told_suf']}</a><br />";
               }
               else
               {
                   $member['thanks_point'] = "{$this->lang['thx_thanks_told']}: " . $member['thanks_point'] . " {$this->lang['thx_thanks_told_suf']}<br />";
               }
           }
           else
           {
               $member['thanks_point'] = "";
           }
           /*/ -- Thanks (by AVol) -  End  -- /*/
======================================================================

######################################################################
./sources/action_public/profile.php
======================================================================
Найти:
----------------------------------------------------------------------
   	$info['msn_name']             = $member['msnname']    ? $member['msnname']    : $this->ipsclass->lang['no_info'];
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
   	$info['thanks_point']         = $member['thanks_point'];
======================================================================
Найти:
----------------------------------------------------------------------
   	$info['posts'] = $this->ipsclass->do_number_format($info['posts']);
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
	/*/ -- Thanks (by AVol) - Begin -- /*/
	if ($this->ipsclass->vars['thanks_mod_enable'])
	{
		if ($this->ipsclass->vars['thanks_history_enable'])
		{
			$info['thanks_point'] = "{$this->ipsclass->lang['thx_thanks_told']}: <a href='{$this->ipsclass->base_url}act=thanks&type=history&mid={$member['id']}' target='_blank'>" . 
				$member['thanks_point'] . " {$this->ipsclass->lang['thx_thanks_told_suf']}</a><br />";
		}
		else
		{
			$info['thanks_point'] = "{$this->ipsclass->lang['thx_thanks_told']}: " . $member['thanks_point'] . " {$this->ipsclass->lang['thx_thanks_told_suf']}<br />";
		}
	}
	else
	{
		$info['thanks_point'] = "";
	}
	/*/ -- Thanks (by AVol) -  End  -- /*/
======================================================================

######################################################################
./sources/action_public/memberlist.php
======================================================================
Найти:
----------------------------------------------------------------------
   	$the_sort_key = array( 'members_display_name'    => 'sort_by_name',
   						   'posts'   => 'sort_by_posts',
   						   'joined'  => 'sort_by_joined',
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
   						   /*/ -- Thanks (by AVol) - Begin -- /*/
   						   'thanks_point' => 'thx_thanks_told_count',
   						   /*/ -- Thanks (by AVol) -  End  -- /*/
======================================================================

######################################################################
./sources/classes/class_session.php
======================================================================
Найти:
----------------------------------------------------------------------
           $this->ipsclass->DB->build_query( array( 'select' => "id, name, mgroup, member_login_key, email, restrict_post, view_sigs, view_avs, view_pop, view_img, auto_track,
															  mod_posts, language, skin, new_msg, show_popup, msg_total, time_offset, posts, joined, last_post, subs_pkg_chosen,
															  ignored_users, login_anonymous, last_visit, last_activity, dst_in_use, view_prefs, org_perm_id, mgroup_others, temp_ban, sub_end,
															  has_blog, members_markers, members_editor_choice, members_auto_dst, members_display_name, members_created_remote,
															  members_cache, members_disable_pm
----------------------------------------------------------------------
Добавить После:
----------------------------------------------------------------------
,thanks_point
======================================================================

######################################################################
./sources/sql/mysql_queries.php
======================================================================
Найти:
----------------------------------------------------------------------
   function topics_get_posts_with_join( $a )
   {
   	# topics.php

   	return "SELECT p.*,
			m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
			me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name,
			pc.*
----------------------------------------------------------------------
Добавить После:
----------------------------------------------------------------------
,m.thanks_point
======================================================================

######################################################################
Редактирование языков
./cache/lang_cache/*/lang_topic.php
./cache/lang_cache/*/lang_profile.php
======================================================================
Найти:
----------------------------------------------------------------------
$lang = array (
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
/*/ -- Thanks (by AVol) - Begin -- /*/
'thx_thanks_told' => "Спасибо сказали",
'thx_thanks_told_suf' => "раз(а)",
/*/ -- Thanks (by AVol) -  End  -- /*/
======================================================================

######################################################################
./cache/lang_cache/*/lang_mlist.php
======================================================================
Найти:
----------------------------------------------------------------------
$lang = array (
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
/*/ -- Thanks (by AVol) - Begin -- /*/
'thx_thanks_told_count' => "Кол-во благодарностей",
/*/ -- Thanks (by AVol) -  End  -- /*/
======================================================================

######################################################################
Правка шаблонов. Выполнять следует для всех установленных скинов!
Admin CP -> LOOK & FEEL -> * -> Edit Template HTML
Админцентр -> ВНЕШНИЙ ВИД -> * -> Изменить HTML фрагменты
======================================================================
 skin_topic (Просмотр темы/Topic View) -> RenderRow
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
{$author['member_number']}<br />
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
{$author['thanks_point']}
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
{$post['signature']}
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
{$post['who_thanks']}
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
{$post['report_link']}
----------------------------------------------------------------------
Добавить После:
----------------------------------------------------------------------
{$post['thanks_button']}
----------------------------------------------------------------------
======================================================================
 skin_profile (Просмотр профиля/Profile View) -> show_profile
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
<!--{WARN_LEVEL}-->
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
<br/ >{$info['thanks_point']}
----------------------------------------------------------------------
======================================================================
 skin_mlist (Список пользователей/Member List) -> mlist_page_end
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
colspan="7"
----------------------------------------------------------------------
Заменить на:
----------------------------------------------------------------------
colspan="8"
----------------------------------------------------------------------
======================================================================
 skin_mlist (Список пользователей/Member List) -> mlist_page_header
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
<th align="center" width="10%">{ipb.lang['member_posts']}</th>
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
<th align="center" width="10%">{ipb.lang['thx_thanks_told_count']}</th>
----------------------------------------------------------------------
======================================================================
 skin_mlist (Список пользователей/Member List) -> mlist_show_row
----------------------------------------------------------------------
Найти:
----------------------------------------------------------------------
<td class="row2" align="center" width="10%">{$member['posts']}</td>
----------------------------------------------------------------------
Добавить Ниже:
----------------------------------------------------------------------
<td class="row2" align="center" width="10%">{$member['thanks_point']}</td>
----------------------------------------------------------------------
======================================================================
 Добавить шаблон/Add Template Bit
----------------------------------------------------------------------
Название фрагмента шаблона / New Template Bit Name :
----------------------------------------------------------------------
button_thanks
----------------------------------------------------------------------
Входящие переменные / New Template Bit Incoming Data Variables :
----------------------------------------------------------------------
$post
----------------------------------------------------------------------
Группа для фрагмента / New Template Bit Group :
----------------------------------------------------------------------
skin_topic
----------------------------------------------------------------------
Тело шаблона :
----------------------------------------------------------------------
<a href="index.php?act=thanks&type=add&f={$this->ipsclass->input[f]}&t={$this->ipsclass->input[t]}&pid={$post}" title="Thanks"><img src='style_images/<#IMG_DIR#>/thanks.gif' border='0'  alt='Thanks' /></a>
----------------------------------------------------------------------

17 комментариев


Рекомендуемые комментарии

Это конечно все хорошо! Но как сделать так, что бы при обновление моего форума с версии 2,1,7 до версии 2,3,1 остались все, сказавшие спасибо? Перехожу на лицензию :) И кстати... кинь ссылку на скачку этого мода!
Ссылка на комментарий
Это конечно все хорошо! Но как сделать так, что бы при обновление моего форума с версии 2,1,7 до версии 2,3,1 остались все, сказавшие спасибо? Перехожу на лицензию :) И кстати... кинь ссылку на скачку этого мода!
не удалять поля и таблицы этого мода

http://www.ibresource.ru/forums/index.php?...ost&id=1469

Ссылка на комментарий
skin_mlist (Список пользователей/Member List) -> mlist_page_end

skin_mlist (Список пользователей/Member List) -> mlist_page_header

skin_mlist (Список пользователей/Member List) -> mlist_show_row

 

У меня тоже такого нет. Как быть? Помогите срочно

Ссылка на комментарий

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

 

Мод установил. Всё работает корректно, проблем пока не обнаружено.

 

Вопрос к автору!

Должна ли отображаться информация о количестве благодарностей непосредственно в профиле пользователя?

Ссылка на комментарий

все прекрастно, но данного фрагмента нету в версии 2.3.3

 

skin_mlist (Список пользователей/Member List) -> mlist_page_end

skin_mlist (Список пользователей/Member List) -> mlist_page_header

skin_mlist (Список пользователей/Member List) -> mlist_show_row

 

как быть?

Ссылка на комментарий

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

 

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

 

Для следующих постеров:

Если вы будете писать о багах или появившихся у вас ошибках сюда, то вероятность что вам помогут стремится к нулю.

Ссылка на комментарий
×
×
  • Создать...

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

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