Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Users of the day

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Scaryman
phpBB 1.2.0
Сообщения: 16
Стаж: 18 лет 11 месяцев

Users of the day

Сообщение Scaryman »

Поставил этот мод, он отображает список пользователей которые были на форуме за последние XX часов! Проблема в том, что в этом списке сначала отображаются модераторы, потом администраторы, а потом пользователи! А мне надо чтобы сначала были администраторы, потом модераторы, а потом пользователи! Подскажите пожалуйста где и что надо поменять!

Код: Выделить всё

######################################################## 
## 
## MOD Title: Users of the day 
## MOD Version: 2.0 
## Author: ZoZo <zozo@etoiles.net> 
## 
## Description: 
## Displays, under the online users list, a list of the users 
## who come during the last XX hours. Can also display the list 
## of the users who didn't come. (see "Edit below") 
## 
## Installation Level: easy 
## Installation Time: 2-3 minutes 
## 
## Files To Edit: 3 
## - /templates/subSilver/index_body.tpl 
## - /language/lang_english/lang_main.php 
## - /includes/page_header.php 
## 
## Included Files: None 
## 
######################################################## 
## VERSION HISTORY: 
## 
## June 20th 2003: v2.0 
## 1. The list's delay is customizable, but you must give a number in hours, 24 by default. 
## 2. There's now a counter for each list. 
## 3. The MOD doesn't display the list of the users who didn't visit by default. 
## 
## October 28th 2002: v1.1 
## 1. The MOD uses the database variable "user_session_time" instead of "user_lastvisit", which is updated only when the user logs out. 
## 
## October 15th 2002: v1.0 
## 1. Created main features. 
## 
######################################################## 
## TODO LIST: 
## 
## 1. Don't restrict the time unit to hours. 
## 
######################################################## 
## PLEASE REPORT ANY BUGS OR SUGGESTIONS ## 
######################################################## 

# 
#-----[ ACTION: open ]--------------------------------- 
# 
/templates/subSilver/index_body.tpl 

# 
#-----[ ACTION: find ]--------------------------------- 
# 
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td> 

# 
#-----[ ACTION: replace by ]--------------------------- 
# 
<td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td> 

# 
#-----[ ACTION: find ]--------------------------------- 
# 
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td> 

# 
#-----[ ACTION: add after ]---------------------------- 
# 
</tr> 
<tr> 
<td class="row1" align="left"><span class="gensmall">{USERS_OF_THE_DAY_LIST}</span></td> 

# 
#-----[ ACTION: repeat for all templates ]------------- 
# 



# 
#-----[ ACTION: open ]-------------------------------- 
# 
/language/lang_english/lang_main.php 

# 
#-----[ ACTION: find ]-------------------------------- 
# 
$lang['Registered_users'] = 

# 
#-----[ ACTION: add before ]-------------------------- 
# 
$lang['Day_users'] = '%d registered users visit during the last %d hours:'; 
$lang['Not_day_users'] = '%d registered users <span style="color:red">DIDN\'T</span> visit during the last %d hours:'; 

# 
#-----[ ACTION: repeat for all languages ]------------ 
# 



# 
#-----[ ACTION: open ]-------------------------------- 
# 
/includes/page_header.php 

# 
#-----[ ACTION: find ]-------------------------------- 
# 
'LOGGED_IN_USER_LIST' => $online_userlist, 

# 
#-----[ ACTION: add after ]--------------------------- 
# 
'USERS_OF_THE_DAY_LIST' => $day_userlist, 

# 
#-----[ ACTION: find ]-------------------------------- 
# 
// 
// Obtain number of new private messages 
// if user is logged in 
// 

# 
#-----[ ACTION: add before ]-------------------------- 
# 
// 
// Users of the day MOD 
// 

// ############ Edit below ############ 
// # 
$display_not_day_userlist = 0; // change to 1 here if you also want the list of the users who didn't visit to be displayed 
$users_list_delay = 24; // change here to the number of hours wanted for the list 
// # 
// ############ Edit above ############ 

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time 
FROM ".USERS_TABLE." 
WHERE user_id > 0 
ORDER BY user_level DESC, username ASC"; 
if( !($result = $db->sql_query($sql)) ) 
{ 
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql); 
} 

$day_userlist = ''; 
$day_users = 0; 
$not_day_userlist = ''; 
$not_day_users = 0; 

while( $row = $db->sql_fetchrow($result) ) 
{ 
$style_color = ''; 
if ( $row['user_level'] == ADMIN ) 
{ 
$row['username'] = '<b>' . $row['username'] . '</b>'; 
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
} 
else if ( $row['user_level'] == MOD ) 
{ 
$row['username'] = '<b>' . $row['username'] . '</b>'; 
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
} 
if ( $row['user_allow_viewonline'] ) 
{ 
$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>'; 
} 
else 
{ 
$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>'; 
} 
if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN ) 
{ 
if ( $row['user_session_time'] >= ( time() - $users_list_delay * 3600 ) ) 
{ 
$day_userlist .= ( $day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link; 
$day_users++; 
} 
else 
{ 
$not_day_userlist .= ( $not_day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link; 
$not_day_users++; 
} 
} 
} 

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . ' ' . $day_userlist; 

$not_day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Not_day_users'], $not_day_users, $users_list_delay) ) . ' ' . $not_day_userlist; 

if ( $display_not_day_userlist ) 
{ 
$day_userlist .= '<br />' . $not_day_userlist; 
} 

// 
// End of MOD 
// 



# 
#-----[ ACTION: save/close all ]---------------------- 
# 

# 
#-----[ ACTION: upload the modified files ]----------- 
# 

# 
#-----[ ACTION: enjoy ]------------------------------- 
# 

# 
#-----[ PLEASE REPORT ANY BUGS OR SUGGESTIONS]-------- 
#
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 4 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Scaryman
Это тяжёлый мод, так как он выполняет кучу sql-запросов при каждом обращении к страницам форума.
Кстати, вот ещё одна версия мода: http://www.phpbbguru.net/community/view ... hlight=day

Добавлено спустя 1 минуту 34 секунды:

А вот облегчённая версия мода: http://www.phpbbguru.net/community/view ... 8015#28015

Добавлено спустя 41 секунду:

Поиск рулит :mrgreen:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)

Вернуться в «Поддержка модов для phpBB 2.0.x»