Страница 1 из 1

Users of the day локализация

Добавлено: 30.06.2005 19:29
automan
есть такой маленький мод

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

######################################################## 
## 
## MOD Title:   Users of the day
## MOD Version: 2.1
## Author:     ZoZo <zozo@etoiles.net> 
## 
## Description:  
## Displays, under the online users list, a list of the registered users
## who have visited 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:
## 
## October 22th 2004: v2.1
## 1. Now admins are displayed first, then mods then users.
## 2. Corrected a problem in the text file with Easy Mod Installer.
## 
## 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'] = '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 IF(user_level=1,3,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]--------
# 
как бы вы перевили

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

$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:';
'%d registered users visit during the last %d hours:
%d зарегестрированых пользователей посетили нас в течении %d часов?

будут еще какие то предложения?

Добавлено: 30.06.2005 20:01
Balamut

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

$lang['Day_users'] = '%d зарегистрированных пользователей посетили форум за последние %d часа:';
$lang['Not_day_users'] = '%d зарегистрированных пользователей <span style="color:red">НЕ</span> посетили форум за последние %d часа:';
:lol: Логично, правда?

Добавлено: 30.06.2005 20:16
automan
Smayliks , логично, но не красиво так как длинно сильно

Добавлено: 30.06.2005 20:30
Balamut

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

$lang['Day_users'] = '%d зареганных юзров было за %d часа:'; 
$lang['Not_day_users'] = '%d зареганных гадов небыло за %d часа:';
Пойдёт? :wink:

Добавлено: 30.06.2005 23:04
automan
Smayliks :lol:
не, ну это не серьезно
я остановился на таком:
$lang['Day_users'] = 'Сегoдня былo %d пoльзoвателей :';

Добавлено: 01.07.2005 7:44
[R: R@m$e$ :U]
automan
суть в том, что это может быть не за 24 часа... потому там тема про часы и поднята...

Добавлено: 05.07.2005 1:26
automan
Скажите как можно изменить этот мод
чтоб он выводил статистику не за последние 24 часа
а за день, тоесть чтоб после 00.00
списолк юзеров внизу обнулялся

Добавлено: 29.01.2006 20:50
Rman
automan писал(а):Скажите как можно изменить этот мод
чтоб он выводил статистику не за последние 24 часа
а за день, тоесть чтоб после 00.00
списолк юзеров внизу обнулялся
Подскажите кто знает - пожалуйста. Интересует тоже самое.

Добавлено: 29.01.2006 20:55
ssmol
Rman писал(а):
automan писал(а):Скажите как можно изменить этот мод
чтоб он выводил статистику не за последние 24 часа
а за день, тоесть чтоб после 00.00
списолк юзеров внизу обнулялся
Подскажите кто знает - пожалуйста. Интересует тоже самое.
неасилил...

вообщето он по дефолту именно так и обновляется

Добавлено: 29.01.2006 22:33
VVVas
ssmol писал(а):вообщето он по дефолту именно так и обновляется
не правда - мод от ZoZo показывает именно за 24 часа. Это мод от quazi показывает за сутки.

Добавлено: 29.01.2006 23:36
ssmol
VVVas
понятно. я просто на автора мода смотрю тока когда в мод_лист вписываю :) а так мне главное функцианал :)

Добавлено: 15.06.2006 8:28
Putul
Нужен был мод типа Users of the day (собственно, он-то мне и нужен был). Поставил себе мод от Zozo, но надо было, чтобы показывалось именно от 0:00, но при этом без дополнительных наворотов quazi. Просто вставил запрос к базе от quazi. Далее манипуляция с установленным модом от ZoZo:

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

# 
#-----[ OPEN ]--------------------------------------------------
# 
/includes/page_header.php
# 
#-----[ FIND ]--------------------------------------------------
#
$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0
	ORDER BY IF(user_level=1,3,user_level) DESC, username ASC";
#
#-----[ REPLACE WITH ]------------------------------------------
#
$sql = "SELECT u.user_id, u.username, u.user_level, u.user_lastvisit, u.user_session_time, s.session_time, s.session_ip, s.session_logged_in, u.user_allow_viewonline 
	FROM " . USERS_TABLE . " u 
	LEFT JOIN " . SESSIONS_TABLE . " s ON u.user_id = s.session_user_id 
	WHERE u.user_session_time >= " . ( mktime(0, 0, 0) ) . " 
	GROUP BY u.username 
	ORDER BY u.username ASC, u.user_session_time ASC";
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
Кстати, после этого сортировка списка будет тоже от quazi, а именно - строго по алфавиту, а не сначала по статусу, а потом по алфавиту. Это мне тоже нужно было.)

Добавлено: 08.05.2008 14:16
ddd111
А как сделать так, чтобы список выводился не по алфавиту, а "по последнему действию", как в моде для IPB.
Там, кто последний что-то делал на форуме - выводится первым и так далее по убыванию

:?:

Добавлено: 08.05.2008 17:13
FladeX
ddd111

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

   ORDER BY IF(user_level=1,3,user_level) DESC, username ASC"; 
вот это строку поменять.
И потом, причем тут локализация? )