Твой софтовый форум > WeB - Developments > Скрипты > Форумы

поиск модулей ipb

Дата публикации: 26.08.2009 - 21:10
Pages: 1, 2, 3
x-foby
видел такие моды на офсайте (англ.), ток может скажешь версию форума? а то как-то не ясно на какую искать)))
[V.I.P]
вот ресурс тут всё это есть
[V.I.P]
QUOTE
У тебя стоит Simple Reputation System
*

у меня стоит eXTended Reputation System
x-foby
QUOTE([V.I.P] @ 1.05.2007 - 20:58)
у меня стоит eXTended Reputation System
*



Извиняюсь за оффтоп:
eXTended Reputation System это и есть Simple Reputation System, только в нём есть возможность видеть рейтинг юзеров по репе.. там даже в архиве написано))))
scorpion-ds
А eXTended Reputation System совместим с 2.2.2, а то я на днях планирую, обновить форум с 2.1.7 до версии 2.2.2 и хотелось бы поставить этот модуль туда и не только его...
x-foby
scorpion-ds, глянь:
Reputation System v4.5.4

Мод очччень похож на тот, который здесь wink.gif

На счёт eXTended Reputation System

QUOTE
Как? smile.gif Очистить все исправления наверно. Хотя может симпл идентична экстендид в некоторых файлах, я не ставил. Но чтобы не мучаться сам посмотри.

Чтобы меня не доставали выкладываю инструкцию тут.
Напоминаю, что для тех у кого мод стоял на 2.1.7 не надо делать пункты 1-3.
Будьте окуратны и смотрите где надо добавлять перед а где после.
В профиле репутацию я убрал. Тоесть она отображаеться но её нельзя изминять. Просто мне показалось это тупым, тем более что в 2.2.2 есть своя система оценки пользователей. По-этому репа должна даваться только в темах за конкретные посты как мод спасибо.

1) Выполнить SQL-запросы:
SQL
ALTER TABLE `ibf_members` ADD `reputation` INT NOT NULL ;
ALTER TABLE `ibf_members` ADD `rep_allow` TINYINT( 1 ) DEFAULT '1' NOT NULL ;
ALTER TABLE `ibf_members` ADD `rep_notify` TINYINT( 1 ) DEFAULT '1' NOT NULL ;
CREATE TABLE `ibf_reputation` (
  `id` int(11) NOT NULL auto_increment,
  `from_user` int(11) NOT NULL default '0',
  `to_user` int(11) NOT NULL default '0',
  `forum` int(11) NOT NULL default '0',
  `topic` int(11) NOT NULL default '0',
  `post` int(11) NOT NULL default '0',
  `created` int(11) NOT NULL default '0',
  `message` text NOT NULL,
  `rating` int(11) NOT NULL default '0',
  `anonym` TINYINT(1) NOT NULL DEFAULT '0',
  PRIMARY KEY  (`id`)
) ;


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

3) Копирование файлов:
Скопировать папки из данного архива в директорию с форумом (корень форума)
Скопировать файл из архива lang_reputation.php во все папки существующие в cache/lang_cache/ (например: /cache/lang_cache/ru/)

4) Редактирование файлов:
./index.php
./sources/classes/class_session.php
./sources/sql/mysql_queries.php
./sources/action_public/topics.php
./sources/action_public/profile.php
./sources/action_public/usercp.php
./sources/lib/func_usercp.php
./sources/action_admin/member.php


4.1) ./index.php
НАХОДИМ:
CODE
    'component'  => array( 'component'    , 'component' , array() ),

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
    'rep'  => array( 'reputation'   , 'reputation'   , array() ),


4.2) ./sources/classes/class_session.php
НАХОДИМ (load_member):
CODE
id, name, mgroup, member_login_key, email, restrict_post, view_sigs, view_avs, view_pop, view_img, auto_track,

ДОБАВЛЯЕМ ПОСЛЕ (не потеряйте запятую! после rep_notify должна стоят запятая!!!):
CODE
rep_allow, rep_notify,


4.3) ./sources/sql/mysql_queries.php
НАХОДИМ 2 РАЗА (topics_get_posts, topics_get_posts_with_join):
(Не потеряйте запятую после 'm.members_display_name', где она есть!!)
CODE
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,

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
m.reputation,


4.4) ./sources/action_public/topics.php
НАХОДИМ:
CODE
       //------
       // Add it to the cached list
       //------

       $this->cached_members[ $row['author_id'] ] = $poster;
     }

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
     $poster['reputation_minus'] = str_replace("{PID}", $row['pid'], $poster['reputation_minus']);
     $poster['reputation_add'] = str_replace("{PID}", $row['pid'], $poster['reputation_add']);


НАХОДИМ:
CODE
   return $member;

ДОБАВЛЯЕМ ПЕРЕД:
CODE
   if(strtolower($this->ipsclass->input['act']) == 'st' OR $this->ipsclass->input['act'] == 'rep')
   {
     $member['reputation_allow'] = true;

     $member['reputation_text'] = $this->ipsclass->lang['reputation'];
     if (($this->ipsclass->member['id'] != $member['id']) && ($this->ipsclass->member['posts'] >= $this->ipsclass->vars['rep_posts']) && $this->ipsclass->member['rep_allow'])
     {
       $member['reputation_minus'] = "<a href='java script:rep_change_window_open(\"{$this->ipsclass->base_url}act=rep&type=win_minus&mid={$member['id']}&p={PID}\");' title='{$this->ipsclass->lang['rep_dec']}'>{$this->ipsclass->lang['minus']}</a>";
       $member['reputation_add'] = "<a href='java script:rep_change_window_open(\"{$this->ipsclass->base_url}act=rep&type=win_add&mid={$member['id']}&p={PID}\");' title='{$this->ipsclass->lang['rep_inc']}'>{$this->ipsclass->lang['plus']}</a>";
     }
     else
     {
       $member['reputation_minus'] = "{$this->ipsclass->lang['minus_disabled']}";
       $member['reputation_add'] = "{$this->ipsclass->lang['plus_disabled']}";
     }
     $member['reputation_scores'] = "<a href='{$this->ipsclass->base_url}act=rep&type=history&mid={$member['id']}' title='{$this->ipsclass->lang['view_rep']}'>{$member['reputation']}</a>";
   }


4.5) ./sources/action_public/profile.php
НАХОДИМ:
CODE
//------
// PHOTO
//------

ДОБАВЛЯЕМ ПЕРЕД:
CODE
  //------
  // Reputation
  //-----
   
  $member['reputation_t'] = $this->ipsclass->lang['reputation'];
  if (($this->ipsclass->member['id'] != $member['id']) && ($this->ipsclass->member['posts'] >= $this->ipsclass->vars['rep_posts']))
  {
   $member['reputation_m'] = "<a href='java script:rep_change_window_open(\"{$this->ipsclass->base_url}act=rep&type=win_minus&mid={$member['id']}\");' title='{$this->ipsclass->lang['rep_dec']}'>{$this->ipsclass->lang['minus']}</a>";
   $member['reputation_a'] = "<a href='java script:rep_change_window_open(\"{$this->ipsclass->base_url}act=rep&type=win_add&mid={$member['id']}\");' title='{$this->ipsclass->lang['rep_inc']}'>{$this->ipsclass->lang['plus']}</a>";
  }
  else
  {
   $member['reputation_m'] = "{$this->ipsclass->lang['minus_disabled']}";
   $member['reputation_a'] = "{$this->ipsclass->lang['plus_disabled']}";
  }
  $member['reputation_s'] = "<a href='{$this->ipsclass->base_url}act=rep&type=history&mid={$member['id']}' title='{$this->ipsclass->lang['view_rep']}'>{$member['reputation']}</a>";


4.6) ./sources/action_public/usercp.php
НАХОДИМ:
CODE
    if ( $open_qreply == FALSE )
    {
      $open_qreply = 0;
    }

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
    $rep_notify = $this->ipsclass->member['rep_notify'];


НАХОДИМ:
CODE
    $html_qr = "<select name='OPEN_QR' class='forminput'>";

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
    $html_rep_notify = "<select name='REP_NOTIFY' class='forminput'>";


НАХОДИМ:
CODE
    $html_qr   .= $open_qreply == 1  ? "<option value='1' selected='selected'>".$this->ipsclass->lang['yes']."</option>\n<option value='0'>".$this->ipsclass->lang['no']."</option>"
                      : "<option value='1'>".$this->ipsclass->lang['yes']."</option>\n<option value='0' selected='selected'>".$this->ipsclass->lang['no']."</option>";

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
    $html_rep_notify   .= $rep_notify == 1    ? "<option value='1' selected='selected'>".$this->ipsclass->lang['yes']."</option>\n<option value='0'>".$this->ipsclass->lang['no']."</option>"
                      : "<option value='1'>".$this->ipsclass->lang['yes']."</option>\n<option value='0' selected='selected'>".$this->ipsclass->lang['no']."</option>";


НАХОДИМ:
CODE
           'QR'   => $html_qr."</select>",

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
           'REP_NOTIFY'   => $html_rep_notify."</select>",


4.7) ./sources/lib/func_usercp.php
НАХОДИМ:
CODE
                              'view_prefs'   => $this->ipsclass->input['postpage']."&".$this->ipsclass->input['topicpage'],

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
                              'rep_notify'    => intval($this->ipsclass->input['REP_NOTIFY']),


4.8) ./sources/action_admin/member.php
НАХОДИМ:
CODE
$form['website'] = $this->ipsclass->adskin->form_input( "website"   , $mem['website'] );

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
$form['reputation']  = $this->ipsclass->adskin->form_input("reputation", $mem['reputation']);
$form['rep_allow']  = $this->ipsclass->adskin->form_yes_no("rep_allow", $mem['rep_allow'] );


НАХОДИМ:
CODE
                             'mgroup_others'   => $_POST['mgroup_others'] ? ','.implode( ",", $_POST['mgroup_others'] ).',' : '',

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
                             'reputation'    => $this->ipsclass->input['reputation'],
                             'rep_allow'    => $this->ipsclass->input['rep_allow'],


4.9) ./skin_acp/IPB2_Standard/acp_skin_html/cp_skin_member.php
НАХОДИМ:
CODE
<br />
<fieldset class='formmain-fieldset'>
<legend><strong>Другая информация</strong></legend>

ДОБАВЛЯЕМ ПЕРЕД:
CODE
<br>
<fieldset class='formmain-fieldset'>
<legend><strong>Настройки репутации</strong></legend>
<table cellpadding='0' cellspacing='0' border='0' width='100%'>
<tr>
<td width='40%' class='tablerow1'><strong>Репутация пользователя</strong></td>
<td width='60%' class='tablerow2'>{$form['reputation']}</td>
</tr>
<tr>
<td width='40%' class='tablerow1'><strong>Может изменять репутацию других пользователей?</strong></td>
<td width='60%' class='tablerow2'>{$form['rep_allow']}</td>
</tr>
</table>
</fieldset>


5) Редактирование скинов
Admin CP -> LOOK & FEEL -> * -> Edit Template HTML
(Админцентр -> ВНЕШНИЙ ВИД -> * -> Изменить HTML фрагменты)

5.1) skin_profile (Просмотр профиля) / show_profile
НАХОДИМ:
CODE
<!--{WARN_LEVEL}-->

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
<script type="text/javascript">
function rep_change_window_open(addr)
{
win1 = open(addr,"win1","menubar=no,status=no,toolbar=no,width=600,height=225");
}
</script>
<br/>{$info['reputation_text']}<b>{$info['reputation_scores']}</b> {$info['reputation_text_2']}


5.2) skin_topic (Просмотр темы) / topic_page_top
НАХОДИМ:
CODE
<script type="text/javascript" src="jscripts/ipb_topic.js"></script>

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
<script type="text/javascript">
function rep_change_window_open(addr)
{
win1 = open(addr,"win1","menubar=no,status=no,toolbar=no,width=600,height=225");
}
</script>


5.3) skin_topic (Просмотр темы) / RenderRow
НАХОДИМ:
CODE
   {$author['warn_text']} {$author['warn_minus']}{$author['warn_img']}{$author['warn_add']}

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
<if="$author['reputation_allow'] == "true"">
  <br/> <br/>{$author['reputation_text']}{$author['reputation_minus']}  <b>{$author['reputation_scores']}</b>  {$author['reputation_add']}
</if>


5.4) skin_ucp (Личные данные пользователя) / settings_end
НАХОДИМ:
CODE
<if="$this->ipsclass->vars['posting_allow_rte'] == 1">
<tr>
 <td>{$this->ipsclass->lang['type_of_editor']}<div class='desc'>{$this->ipsclass->lang['rte_text']}</div></td>
 <td>{$data['editor']}</td>
</tr>
</if>

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
<tr>
 <td class="formsubtitle" colspan="2">{$this->ipsclass->lang['rep_settings']}</td>
</tr>
<tr>
 <td>{$this->ipsclass->lang['rep_notify']}</td>
 <td align='left'>{$data[REP_NOTIFY]}</td>
</tr>


5.5) skin_profile/personal_portal_main
НАХОДИМ:
CODE
<p>{$member['_member_rank_img']}</p>

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
     <!-- REP -->
     <script type="text/javascript">
     function rep_change_window_open(addr)
     {
      win1 = open(addr,"win1","menubar=no,status=no,toolbar=no,width=600,height=225");
    }
      </script>
      <b>{$member['reputation_t']}</b> <b>{$member['reputation_s']}</b> {$this->ipsclass->lang['reputation_2']}
      <!-- / REP -->

5.6) skin_global (Основные HTML фрагменты) / global_board_header
НАХОДИМ:
CODE
<div class='ipb-top-right-link'><a href="{$this->ipsclass->base_url}act=Members">{ipb.lang['tb_mlist']}</a></div>

ДОБАВЛЯЕМ ПОСЛЕ (или перед. Как хотите.):
CODE
<div class='ipb-top-right-link'><a href="{$this->ipsclass->base_url}act=rep&type=rating">Репутация</a></div>


5.7) Делаем ребилд кэша для каждого скина:
Админцентр -> ВНЕШНИЙ ВИД -> Утилиты для стилей -> Перестройка кэш файлов -> Перестроить все кэш файлы
ACP -> LOOK & FEEL -> Skin Tools -> Rebuild Skin Set Cache -> Rebuild All

6) Редактирование языков:
./cache/lang_cache/*/lang_topic.php
./cache/lang_cache/*/lang_profile.php
./cache/lang_cache/*/lang_ucp.php

6.1) ./cache/lang_cache/*/lang_topic.php
./cache/lang_cache/*/lang_profile.php
НАХОДИМ:
CODE
$lang = array (

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
//Simple Reputation System
'reputation' => "Репутация: ",
'reputation_2' => "(змінювати репутацію можна тільки у темах)",
'plus' => "<img src='https://softoroom.org/style_images/1/r_add.gif' border='0' />",
'minus' => "<img src='https://softoroom.org/style_images/1/r_minus.gif' border='0' />",
'plus_disabled' => "<img src='style_images/<#IMG_DIR#>/r_add1.gif' border='0' />",
'minus_disabled' => "<img src='style_images/<#IMG_DIR#>/r_minus1.gif' border='0' />",
'rep_inc' => "Поднять репутацию",
'rep_dec' => "Опустить репутацию",
'view_rep' => "Просмотреть репутацию",
'change_rep' => "Изменение репутации",


6.2) ./cache/lang_cache/*/lang_ucp.php
НАХОДИМ:
CODE
$lang = array (

ДОБАВЛЯЕМ ПОСЛЕ:
CODE
'rep_settings'  => "Настройки репутации",
'rep_notify'    => "Уведомлять через личные сообщения об изменениях в репутации?",



взято с:
scorpion-ds
walet

Поставил я уже себе eXTended Reputation System, хоть она и от 2.1.7 была, но с некоторыми модификациями встала нормально на 2.2.2
svitak
На одном форуме вот что увидел (смотри скрин ниже).

user posted image

Может кто подскажет где такую моду взять.... (я имею размещение рекламы)

у меня стоит IPB 2.1.4
SdmDimRS
Ищу Русский Garage module для IPB 2.1.7.
Win
Ищу мод предупреждений, как тут.
Pages: 1, 2, 3


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: поиск модулей ipb
SoftoRooM © 2004-2024