Добавляем статистику пользователей по репутации
Ждать было нельзя, репутация пользователей росла, а на отсутствие статистики пользователи постоянно жаловались…
Вот пришлось создавать, кто в этом нуждается делаем следующее:
(не забудьте перед всеми изменениями сделать бекап базы и изменяемых файлов, чтобы в случае проблем можно было вернуться к прежнему состоянию)
1. в базе данных создаем таблицу
jos_fb_karma (sql запрос на создание таблицы в приложении)
2. меняем файл
fb_karma.php (лежит в приложенном архиве) в папке
components/com_fireboard/sources/
3. в папку плагинов ложим из архива папку
karma (в папке файлы
karmauser.php, karmauserslist.php, karmauserchange.php)
4. в файле
fireboard.php делаем объявление плагинов
после строк
| Код: |
| case 'karma':
include (JB_ABSSOURCESPATH . 'fb_karma.php');
break; |
Добавляем
| Код: |
| case 'karmauser':
if (file_exists(JB_ABSTMPLTPATH . '/plugin/karma/karmauser.php')) {
include (JB_ABSTMPLTPATH . '/plugin/karma/karmauser.php');
} else {
include (JB_ABSPATH . '/template/default/plugin/karma/karmauser.php');
}
break;
case 'karmauserslist':
if (file_exists(JB_ABSTMPLTPATH . '/plugin/karma/karmauserslist.php')) {
include (JB_ABSTMPLTPATH . '/plugin/karma/karmauserslist.php');
} else {
include (JB_ABSPATH . '/template/default/plugin/karma/karmauserslist.php');
}
break;
case 'karmauserchange':
if (file_exists(JB_ABSTMPLTPATH . '/plugin/karma/karmauserchange.php')) {
include (JB_ABSTMPLTPATH . '/plugin/karma/karmauserchange.php');
} else {
include (JB_ABSPATH . '/template/default/plugin/karma/karmauserchange.php');
}
break; |
5. делаем ссылки на статистику репутации
5.1. в сообщениях на строчку «Репутация» в файле
view.php (лежит в шаблоне default)
ищем строку
| Код: |
| $msg_karma = "<strong>" . _KARMA . ":</strong> $karmaPoints"; |
и меняем ее
| Код: |
| if ($my->id != '0') {
$msg_karma = '<a href=' . sefRelToAbs(JB_LIVEURLREL . '&func=karmauser&userid=' . $userinfo->userid . '' ) . '>' . _KARMA . ': </a><strong>'. $karmaPoints .'</strong>';
} else {
$msg_karma = "<strong>" . _KARMA . ":</strong> $karmaPoints";
} |
5.2. в профиле на строчку «Репутация» в файле
fbprofile.php (лежит в папке плагинов
../plugin/fbprofile/)
ищем строку
| Код: |
| $msg_karma = "<strong>" . _KARMA . ":</strong> $karmaPoints"; |
и меняем ее
| Код: |
| $msg_karma = '<a href=' . sefRelToAbs(JB_LIVEURLREL . '&func=karmauser&userid=' . $userinfo->userid . '' ) . '>' . _KARMA . ': </a><strong>'. $karmaPoints .'</strong>'; |
5.3. в статистике добавляем после ссылки на список пользователей ссылку на список по репутации, файл
frontstats.php (лежит в папке плагинов
../plugin/stats/)
замените код
| Код: |
| <td class = "td-1 fbm" align="left">
<?php echo _STAT_TOTAL_USERS; ?>:<b><a href = "<?php echo $userlist;?>"><?php echo $totalmembers; ?></a> </b>
<?php echo _STAT_LATEST_MEMBERS; ?>:<b> <a href = "<?php echo sefRelToAbs(FB_PROFILE_LINK_SUFFIX.''.$lastestmemberid)?>" title = "<?php echo _STAT_PROFILE_INFO; ?> <?php echo $lastestmember;?>"><?php echo $lastestmember; ?></a> </b>
<br/> <?php echo _STAT_TOTAL_MESSAGES; ?>: <b> <?php echo $totalmsgs; ?></b>
<?php echo _STAT_TOTAL_SUBJECTS; ?>: <b> <?php echo $totaltitles; ?></b> <?php echo _STAT_TOTAL_SECTIONS; ?>: <b> <?php echo $totalcats; ?></b> <?php echo _STAT_TOTAL_CATEGORIES; ?>: <b> <?php echo $totalsections; ?></b>
<br/> <?php echo _STAT_TODAY_OPEN_THREAD; ?>: <b> <?php echo $todaystitle; ?></b> <?php echo
_STAT_YESTERDAY_OPEN_THREAD; ?>: <b> <?php echo $yesterdaystitle; ?></b> <?php echo _STAT_TODAY_TOTAL_ANSWER; ?>: <b> <?php echo $todaytotal; ?></b> <?php echo _STAT_YESTERDAY_TOTAL_ANSWER; ?>: <b> <?php echo $yesterdaytotal; ?></b>
<br/>
» <a href = "<?php echo sefRelToAbs(JB_LIVEURLREL .'&func=latest');?>"><?php echo _STAT_VIEW_RECENT_POSTS_ON_FORUM; ?></a> » <a href = "<?php echo $statslink;?>"><?php echo _STAT_MORE_ABOUT_STATS; ?></a> » <a href="<?php echo $userlist;?>"><?php echo _STAT_USERLIST; ?></a>
</td> |
на код, при этом подробная статистика, список пользователей и репутация будут доступны еще и только зарегестиррованным пользователям
| Код: |
|
<td class = "td-1 fbm">
<?php echo _STAT_TOTAL_USERS; ?>: <a href = "<?php echo $userlist;?>" style="font-weight:bold;"><?php echo $totalmembers; ?></a>
<?php echo _STAT_LATEST_MEMBERS; ?>: <a href = "<?php echo sefRelToAbs(FB_PROFILE_LINK_SUFFIX.''.$lastestmemberid)?>" title = "<?php echo _STAT_PROFILE_INFO; ?> <?php echo $lastestmember;?>" style="font-weight:bold;"><?php echo $lastestmember; ?></a>
<br/><?php echo _STAT_TOTAL_MESSAGES; ?>: <b><?php echo $totalmsgs; ?></b>
<?php echo _STAT_TOTAL_SUBJECTS; ?>: <b><?php echo $totaltitles; ?></b>
<?php echo _STAT_TOTAL_SECTIONS; ?>: <b><?php echo $totalcats; ?></b>
<?php echo _STAT_TOTAL_CATEGORIES; ?>: <b><?php echo $totalsections; ?></b>
<br/><?php echo _STAT_TODAY_OPEN_THREAD; ?>: <b><?php echo $todaystitle; ?></b>
<?php echo _STAT_YESTERDAY_OPEN_THREAD; ?>: <b><?php echo $yesterdaystitle; ?></b>
<?php echo _STAT_TODAY_TOTAL_ANSWER; ?>: <b><?php echo $todaytotal; ?></b>
<?php echo _STAT_YESTERDAY_TOTAL_ANSWER; ?>: <b><?php echo $yesterdaytotal; ?></b>
</td>
</tr>
<tr class = "<?php echo $boardclass ;?>sectiontableentry1">
<td class = "td-1 fbm">
<?php
echo '» <a href = ' . sefRelToAbs(JB_LIVEURLREL . '&func=latest') . ' style="font-weight:bold;">' . _STAT_VIEW_RECENT_POSTS_ON_FORUM . '</a>';
if ($my->id != '0') {
echo ' » <a href =' . $statslink . ' style="font-weight:bold;">' . _STAT_MORE_ABOUT_STATS . '</a>';
echo ' » <a href=' . $userlist . ' style="font-weight:bold;">' . _STAT_USERLIST . '</a>';
echo ' » <a href=' . sefReltoAbs(JB_LIVEURLREL . '&func=karmauserslist') . ' style="font-weight:bold;">' . _KARMA . '</a>';
} else {
echo ' » ' . _STAT_MORE_ABOUT_STATS;
echo ' » ' . _STAT_USERLIST;
echo ' » ' . _KARMA;
}
?>
</td> |
5.4. в списке пользователей на значение репутации ссылку на подробную репутацию пользователя, файл
userlist.php (лежит в папке плагинов
../plugin/userlist/)
ищем строки
| Код: |
| if ($fbConfig['userlist_karma'])
{
?>
<td class = "td-7 fbs" align="center">
<?php echo $ulrow->karma; ?>
</td>
<?php
} |
и меняем их
| Код: |
| if ($fbConfig['userlist_karma']) {
?>
<td class = "td-7 fbs" style="text-align:center;">
<?php echo '<a href='. sefRelToAbs(JB_LIVEURLREL . '&func=karmauser&userid=' . $ulrow->id . '' ) . '><strong>' . $ulrow->karma . '</strong></a>'; ?>
</td>
<?php
} |
6. в файле
russian.php изменить значение _KARMA_WAIT, в форуме реализовано изменение репутации только через 6 часов, теперь это будет относиться к одному и тому же пользователю, другому можно; и чтоб фраза звучала правильно меняем:
| Код: |
| DEFINE('_KARMA_WAIT','Вы можете изменять карму только для одного человека каждые 6 часов. <br/>Пожалуйста, убедитесь, что положенное время прошло, когда в следующий раз Вы будете изменять карму пользователя.'); |
на
| Код: |
| DEFINE('_KARMA_WAIT','Вы можете изменять карму для одного участника только каждые 6 часов. <br/>Пожалуйста, убедитесь, что положенное время прошло, когда в следующий раз Вы будете изменять карму пользователя.'); |
скачать архив с файлами
Пробуем… еще раз напоминаю чтоб перед всеми изменениями сделайте бекап