мод реализует показ в % времени до следующего звания на форуме, то есть показывает ваш "прогресс"...
выглядит это так (примерно):
Если заинтересовало - ставим.
Данный мод не имеет своих файлов и ничего на сервер закачивать не надо.
Правка файлов форума:
Код: Выделить всё
* @param string &$rank_img_src the rank image source is stored here after execution
Вставить после найденного
Код: Выделить всё
* @param int &$percent_complete the percentage of the way a user is to the next rank, where -1 means "not applicable"
Код: Выделить всё
function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
К части кода
Код: Выделить всё
, &$rank_img_src
Добавить после
Код: Выделить всё
, &$percent_complete = 0
Код: Выделить всё
if (!empty($user_rank))
Вставить перед найденным
Код: Выделить всё
if (!is_int($percent_complete) || $percent_complete < 0 || $percent_complete > 100)
{
$percent_complete = -1;
}
Код: Выделить всё
else if ($user_posts !== false)
{
Вставить после найденного
Код: Выделить всё
$next_rank_post_count = -1;
Код: Выделить всё
if ($user_posts >= $rank['rank_min'])
Вставить перед найденным
Код: Выделить всё
if ($user_posts < $rank['rank_min'])
{
$next_rank_post_count = $rank['rank_min'];
}
else
Код: Выделить всё
$rank_title = $rank['rank_title'];
Вставить перед найденным
Код: Выделить всё
if ($percent_complete == -1 && $next_rank_post_count > -1)
{
$rank_difference = $next_rank_post_count - $rank['rank_min'];
$user_progress = $user_posts - $rank['rank_min'];
$percent_complete = round(($user_progress / $rank_difference) * 100, 1);
}
Код: Выделить всё
'RANK_IMG' => $user_info['rank_image'],
Вставить после найденного
Код: Выделить всё
'PERCENTAGE_PROGRESS_NUM' => $user_info['percentage_progress'],
'PERCENTAGE_PROGRESS' => sprintf($user->lang['PERCENTAGE_PROGRESS'], $user_info['percentage_progress']),
Код: Выделить всё
get_user_rank($user_row['user_rank'], $user_row['user_posts'], $user_row['rank_title'], $user_row['rank_image'], $user_row['rank_image_src']);
К части строки
Код: Выделить всё
, $user_row['rank_image_src']
Добавить после найденного
Код: Выделить всё
, $user_row['percentage_progress']
Код: Выделить всё
get_user_rank($row['user_rank'], (($row['user_id'] == ANONYMOUS) ? false : $row['user_posts']), $rank_title, $rank_img, $rank_img_src);
К части строки
Код: Выделить всё
$rank_img_src
Добавить после найденного
Код: Выделить всё
, $percentage_progress
Код: Выделить всё
get_user_rank($data['user_rank'], (($user_id == ANONYMOUS) ? false : $data['user_posts']), $rank_title, $rank_img, $rank_img_src);
К части строки
Код: Выделить всё
$rank_img_src
Добавить после найденного
Код: Выделить всё
, $percentage_progress
Код: Выделить всё
'RANK_IMG_SRC' => $rank_img_src,
Вставить после найденного
Код: Выделить всё
'PERCENTAGE_PROGRESS_NUM' => $percentage_progress,
'PERCENTAGE_PROGRESS' => sprintf($user->lang['PERCENTAGE_PROGRESS'], $percentage_progress),
Код: Выделить всё
if ($poster_id == ANONYMOUS)
{
$user_cache[$poster_id] = array(
Вставить после найденного
Код: Выделить всё
'percentage_progress' => -1,
Код: Выделить всё
get_user_rank($row['user_rank'], false, $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']);
К части строки
Код: Выделить всё
$user_cache[$poster_id]['rank_image_src']
Добавить после найденного
Код: Выделить всё
, $user_cache[$poster_id]['percentage_progress']
Код: Выделить всё
$id_cache[] = $poster_id;
$user_cache[$poster_id] = array(
Вставить после найденного
Код: Выделить всё
'percentage_progress' => -1,
Код: Выделить всё
get_user_rank($row['user_rank'], $row['user_posts'], $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']);
К части строки
Код: Выделить всё
$user_cache[$poster_id]['rank_image_src']
Добавить после найденного
Код: Выделить всё
, $user_cache[$poster_id]['percentage_progress']
Код: Выделить всё
'RANK_IMG_SRC' => $user_cache[$poster_id]['rank_image_src'],
Вставить после найденного
Код: Выделить всё
'PERCENTAGE_PROGRESS_NUM' => $user_cache[$poster_id]['percentage_progress'],
'PERCENTAGE_PROGRESS' => sprintf($user->lang['PERCENTAGE_PROGRESS'], $user_cache[$poster_id]['percentage_progress']),
Код: Выделить всё
?>
Вставить перед найденным
Код: Выделить всё
$lang = array_merge($lang, array(
'PERCENTAGE_PROGRESS' => '%s%%',
'PROGRESS_TO_NEXT_RANK' => 'Progress to next rank:'
));
Код: Выделить всё
?>
Вставить перед найденным
Код: Выделить всё
$lang = array_merge($lang, array(
'PERCENTAGE_PROGRESS' => '%s%%',
'PROGRESS_TO_NEXT_RANK' => 'Прогресс до следующего звания:'
));
Код: Выделить всё
<!-- IF memberrow.RANK_IMG --><span class="rank-img">{memberrow.RANK_IMG}</span><!-- ELSE --><span class="rank-img">{memberrow.RANK_TITLE}</span><!-- ENDIF -->
после части строки
Код: Выделить всё
<!-- ENDIF -->
Вставить код
Код: Выделить всё
<!-- IF memberrow.PERCENTAGE_PROGRESS_NUM > -1 --><div class="rank_progress_bar" title="{L_PROGRESS_TO_NEXT_RANK}"><span style="width:{memberrow.PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{memberrow.PERCENTAGE_PROGRESS}</span></div><!-- ENDIF -->
Код: Выделить всё
<!-- IF RANK_IMG --><dd style="text-align: center;">{RANK_IMG}</dd><!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF PERCENTAGE_PROGRESS_NUM > -1 --><dd>{L_PROGRESS_TO_NEXT_RANK}<div class="rank_progress_bar"><span style="width:{PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{PERCENTAGE_PROGRESS}</span></div></dd><!-- ENDIF -->
Код: Выделить всё
<!-- IF RANK_IMG --><dt><!-- IF RANK_TITLE --> <!-- ELSE -->{L_RANK}:<!-- ENDIF --></dt> <dd>{RANK_IMG}</dd><!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF PERCENTAGE_PROGRESS_NUM > -1 --><dt>{L_PROGRESS_TO_NEXT_RANK}</dt><dd><div class="rank_progress_bar"><span style="width:{PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{PERCENTAGE_PROGRESS}</span></div></dd><!-- ENDIF -->
Код: Выделить всё
<!-- IF RANK_IMG --><dd>{RANK_IMG}</dd><!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF PERCENTAGE_PROGRESS_NUM > -1 --><dd>{L_PROGRESS_TO_NEXT_RANK}<div class="rank_progress_bar"><span style="width:{PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{PERCENTAGE_PROGRESS}</span></div></dd><!-- ENDIF -->
Код: Выделить всё
<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF postrow.PERCENTAGE_PROGRESS_NUM > -1 --><dd>{L_PROGRESS_TO_NEXT_RANK}<div class="rank_progress_bar"><span style="width:{postrow.PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{postrow.PERCENTAGE_PROGRESS}</span></div></dd><!-- ENDIF -->
Код: Выделить всё
.clear {
Вставить перед найденным
Код: Выделить всё
.rank_progress_bar {
border: 1px solid #b4bac0;
margin-right: 1em;
position: relative;
clear:right
}
.rank_progress_bar span {
z-index:2;
position:relative
}
.rank_progress_bar .bar {
background-color: #fff;
border-right: 1px solid #b4bac0;
display:block;
height: 100%;
z-index:1;
position:absolute;
top: 0;
left: 0
}
Код: Выделить всё
<!-- IF RANK_IMG -->
<tr>
<td align="center">{RANK_IMG}</td>
</tr>
<!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF PERCENTAGE_PROGRESS_NUM > -1 -->
<tr>
<td>{L_PROGRESS_TO_NEXT_RANK}<div class="rank_progress_bar"><span style="width:{PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{PERCENTAGE_PROGRESS}</span></div></td>
</tr>
<!-- ENDIF -->
Код: Выделить всё
<!-- IF postrow.RANK_IMG -->
<tr>
<td>{postrow.RANK_IMG}</td>
</tr>
<!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF postrow.PERCENTAGE_PROGRESS_NUM > -1 -->
<tr>
<td>{L_PROGRESS_TO_NEXT_RANK}<div class="rank_progress_bar"><span style="width:{postrow.PERCENTAGE_PROGRESS_NUM}%" class="bar"></span><span>{postrow.PERCENTAGE_PROGRESS}</span></div></td>
</tr>
<!-- ENDIF -->
Код: Выделить всё
/* Misc
------------ */
Вставить после найденного
Код: Выделить всё
.rank_progress_bar {
border: 1px solid #A9B8C2;
margin-right: 1em;
position: relative;
clear:right
}
.rank_progress_bar span {
z-index:2;
position:relative
}
.rank_progress_bar .bar {
background-color: #fff;
border-right: 1px solid #A9B8C2;
display:block;
height: 100%;
z-index:1;
position:absolute;
top: 0;
left: 0
}
На этом всё. Почистите кэш и наслаждайтесь работой мода.