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

Today At/Yesterday At

Добавлено: 12.05.2005 19:55
[R: R@m$e$ :U]
Всем известный мод "Сегодня в/Вчера в" =) я его, так сказать, обновил =) теперь выводит "вчера в...." почти везде... старался подобрать все подходящие места =))) и аддоны для пары модов =)

Скачать 2.0.3

Добавлено: 13.05.2005 13:37
[R: R@m$e$ :U]
обновляемся =) я накосячил немного =)

Добавлено: 13.05.2005 15:08
sigal
[R: R@m$e$ :U]
а что конкретно делается? на index.php в последних заторонутых темах стоит Вчера/Сегодня в? я полагаю что Сегодня жирным выделено?

Добавлено: 13.05.2005 16:55
[R: R@m$e$ :U]
а конкретно - почти по всему форуму числа будут отображаться в виде "Вчера в 14:00" и тд... в зависимости от настроек пользователя меняется формат даты... остаются только часы, минуты, секунды, am/pm воть... =) имхо, ни чего не понятно =) надо ставить и смотреть =)

Добавлено: 28.05.2005 8:16
[R: R@m$e$ :U]
исправлена ошибка в аддоне к альбому от Смартора...

[BETA] Today / Yesterday

Добавлено: 01.06.2005 12:03
quazi
вношу свои 5 копеек в эту спорную тему.
к сожалению мод имеет некоторую интергацию с другими изменениями в коде форума (собственный неопубликованный Last Visit MOD). строки, которые связаны с ними (изменениями) закоментированы или прокоментированы.
и так...

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

############################################################## 
## MOD Title: Today / Yesterday
## MOD Author: quazi < quazi >
## MOD Description: This MOD allows to see 'Today at' or 'Yesterday at' in the any location of the phpBB forum
## MOD Version: 1.0.0 Beta
## 
## Installation Level: easy
## Installation Time: 5 Minutes 
## Files To Edit: (3) includes/page_header.php, includes/functions.php, language/lang_english/lang_main.php
## Included Files: n/a
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/
############################################################## 
## Author Notes: 
##     This Mod is slightly integrated with other modifications in original phpBB code but it might work standalone. 
##     The questionable lines are marked and commented by //
##
############################################################## 
## MOD History:
##     2005-04-26 - Version 1.0.0 Beta
##          - First release.
##
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

#
#----[ OPEN ]-------
#
includes/page_header.php


#
#----[ FIND ]-------
#
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone']) : '';


#
#----[ REPLACE ]----
#
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone'], true) : '';


#
#----[ FIND ]-------
#
	'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($board_config['default_dateformat'], time(), $board_config['board_timezone'])),


#
#----[ REPLACE ]----
#
	'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($board_config['default_dateformat'], time(), $board_config['board_timezone'], false)),


#
#----[ OPEN ]-------
#
includes/functions.php


#
#----[ FIND ]-------
#
function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang;
	static $translate;

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

	return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
}


#
#----[ REPLACE ]----
#
function create_date($format, $gmepoch, $tz, $calcDelta=true)
{
	global $board_config, $lang;
	static $translate;
	if ( !$gmepoch )
	{
		// The next line integrated with the 'Last Visit' MOD (my own thing, unpublished)
		return $lang['datetime']['Hidden_time'];
	}

	$time = $gmepoch + (3600 * $tz);
	if ( $calcDelta ) {
		$midnight = gmmktime(0, 0, 0);
		$delta = $time - $midnight;
		if ($delta >= 0 && $delta < 86400)
		{
			return $lang['datetime']['Today'] . gmdate('H:i', $time);
		}
		else
		if ($delta < 0 && $delta > - 86400)
		{
			return $lang['datetime']['Yesterday'] . gmdate('H:i', $time);
		}
	}
	$pre_format = @gmdate($format, $time);

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

	return ( !empty($translate) ) ? strtr($pre_format, $translate) : $pre_format;
}


#
#----[ OPEN ]-------
#
language/lang_english/lang_main.php


#
#----[ FIND ]-------
#
$lang['datetime']['Dec'] = 'Dec';


#
#----[ AFTER, ADD ]-
#
$lang['datetime']['Today'] = 'Today at ';
$lang['datetime']['Yesterday'] = 'Yesterday at ';
// $lang['datetime']['Last_visit'] = 'Last visit '; // LastVisit MOD (unpublished)
$lang['datetime']['Hidden_time'] = 'Obscured by darkness';

Добавлено: 01.06.2005 13:34
[R: R@m$e$ :U]
просьба к администрации... убить данную тему... или оставить в основе пост от quazi...

Добавлено: 02.06.2005 20:16
baldahin
спасибо за мод. но после его установки не работает Birthday Mod, точнее на главной странице не отображаются те, у кого сегодня день рождения и в течении указанного срока (используется create_date). что-нибудь можно сделать?

Добавлено: 02.06.2005 20:46
quazi
baldahin писал(а):спасибо
пожалуйста

вопрос к кому относится? ко мне или к [R: R@m$e$ :U]?

скорее всего мод "Дни рождения" не совместим с моим (если его ставили) и в моде "Дни рождения" надо править несколько строчек, использующих функцию create_date. мод интереса у меня не вызвал и его не ставил, но код смотрел.

Добавлено: 03.06.2005 10:50
[R: R@m$e$ :U]
quazi
судя из вопроса, то к тебе...

Добавлено: 03.06.2005 11:29
quazi
немножко поправил свой пост с модом - заменил skipDelta на calcDelta (смысловую нагрузку неправильно задал первоначально)

baldahin, скорее всего вам в моде (во всех строчках мода "Дни рождения") где встречается строка create_date(параметр1, параметр2, параметр3) добавить четвертым параметром значение false:

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

create_date(параметр1, параметр2, параметр3, false)
Добавлено спустя 18 минут 19 секунд:

это примерно 10 строчек

Добавлено: 03.06.2005 19:06
baldahin
quazi писал(а):baldahin, скорее всего вам в моде (во всех строчках мода "Дни рождения") где встречается строка create_date(параметр1, параметр2, параметр3) добавить четвертым параметром значение false:

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

create_date(параметр1, параметр2, параметр3, false)
большое спасибо. помогло. отличный мод, отзывчивый автор :)

Добавлено: 06.06.2005 16:49
Поручик
Дополнение к моду
Показывает дату последнего визита пользователей при просмотре темы

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


#
#-----[ OPEN ]------------------------------
# 

viewtopic.php

#
#-----[ FIND ]-----------------------------------
# 
//
// Go ahead and pull all data for this topic
//
$sql = "SELECT u.username
#
#-----[ IN-LINE FIND ]------------------------------------------
#
u.user_allowavatar, u.user_allowsmile

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------
# Если вы установили мод Online/Offline/Hidden или Show Online In View Topic
, u.user_lastvisit

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------
# Если вы НЕ устанавливали мод Online/Offline/Hidden или Show Online In View Topic
, u.user_allow_viewonline, u.user_lastvisit

#
#-----[ FIND ]-----------------------------------
# 
	$poster_posts = ( $postrow[$i]['user_id'] != ANONYMOUS ) 

#
#-----[ BEFORE, ADD ]------------------------------------
#для мода Today At/Yesterday At 

	$poster_last_visit= '';
	if ( ($postrow[$i]['user_allow_viewonline'] || $userdata['user_level'] == ADMIN) &&  $postrow[$i]['user_id'] != ANONYMOUS ) 
	{
		if ( $board_config['time_today'] < $postrow[$i]['user_lastvisit'])
		{ 
			$poster_last_visit= $lang['Last_visited'] . ': ' . sprintf($lang['Today_at'], create_date($board_config['default_timeformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone'])).'<br />';
		}
		else if ( $board_config['time_yesterday'] < $postrow[$i]['user_lastvisit'])
		{ 
			$poster_last_visit= $lang['Last_visited'] . ': ' . sprintf($lang['Yesterday_at'], create_date($board_config['default_timeformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone'])).'<br />';
		}
		else
		{ 
			$poster_last_visit= $lang['Last_visited'] . ': ' . create_date($board_config['default_dateformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone']).'<br />';
		} 
	}

#
#-----[ BEFORE, ADD ]------------------------------------
#для мода от quazi 
	$poster_last_visit= '';
	if ( ($postrow[$i]['user_allow_viewonline'] || $userdata['user_level'] == ADMIN) &&  $postrow[$i]['user_id'] != ANONYMOUS ) 
	{
		$poster_last_visit= $lang['Last_visited'] . ': ' . create_date($board_config['default_dateformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone'], true).'<br />';
	}


#
#-----[ FIND ]-----------------------------------
# 
'POSTER_FROM' => $poster_from,

#
#-----[ AFTER, ADD ]------------------------------------
#
'POSTER_LAST_VISIT' => $poster_last_visit,

#
#-----[ OPEN ]------------------------------
# 

language/lang_russian/lang_main.php 

#
#-----[ FIND ]-----------------------------------
# 

?>

#
#-----[ BEFORE, ADD ]-----------------------------------
# 

$lang['Last_visited'] = 'Посл. визит';

#
#-----[ OPEN ]------------------------------
# 

language/lang_english/lang_main.php 

#
#-----[ FIND ]-----------------------------------
# 

?>

#
#-----[ BEFORE, ADD ]-----------------------------------
# 

$lang['Last_visited'] = 'Last Visit';

#
#-----[ OPEN ]------------------------------
# 

templates/subSilver/viewtopic_body.tpl

#
#-----[ FIND ]-----------------------------------
# 
<br />{postrow.POSTER_FROM}

#
#-----[ AFTER, ADD ]------------------------------------
#
<br />{postrow.POSTER_LAST_VISIT}

Добавлено: 07.06.2005 7:02
quazi
честно скажу.. сомнительно что это дополнение

еще честнее скажу - в интернете нет такого понятия онлайн или оффлайн
и моды типа Online/Offline/Hidden или Show Online In View Topic вызывают у меня только усмешку

можно говорить ТОЛЬКО об активности за последний ПРОМЕЖУТОК времени. все остальное - от лукавого

Добавлено: 15.07.2005 15:08
baldahin
Хотел поставить мод

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

############################################################## 
## MOD Title:          Advanced time management
## MOD Author:         -=ET=- < space_et@tiscali.fr > (n/a) http://www.golfexpert.net/phpbb
## MOD Description:    This MOD allow the board administrator(s)
##                     and each user to manage the times displayed
##                     on the board.
##                     They can use...
##                     - the user's computer time
##                     - the server UTC time & the user's computer settings
##                     - the server local time
##                     - a manual mode which allow to enable/disable
##                       the Daylight Saving Time (manually or
##                       synchronized with the serveur) and set
##                       the DST time lag of their state/country
## MOD Version:        2.1.1
## Compatibility:      2.0.15 (prior release not tested)
чтобы настроить автоматический переход на летнее время. Но при установленом сабже, это проблематично.

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

# 
#-----[ OPEN ]------------------------------------------------ 
#
includes/functions.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
# NOTE: this is a search by part(s) of code line(s)!
# The original line(s) to find is(are) longer and must look like this (if no MOD has already modify them):
#
# global $board_config, $lang;
#
global $board_config, $lang

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
$lang

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, $userdata, $pc_dateTime

# 
#-----[ FIND ]------------------------------------------------ 
# 
	return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));

# 
#-----[ REPLACE WITH ]---------------------------------------- 
#

// Start replacement - Advanced time management MOD
if ( $userdata['user_id'] != ANONYMOUS )
{
	switch ( $userdata['user_time_mode'] )
	{
		case MANUAL_DST:
			$dst_sec = $userdata['user_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case SERVER_SWITCH:
			$dst_sec = date('I', $gmepoch) * $userdata['user_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case FULL_SERVER:
			return ( !empty($translate) ) ? strtr(@date($format, $gmepoch), $translate) : @date($format, $gmepoch);
			break;
		case SERVER_PC:
			if ( isset($pc_dateTime['pc_timezoneOffset']) )
			{
				$tzo_sec = $pc_dateTime['pc_timezoneOffset'];
			} else
			{
				$user_pc_timeOffsets = explode("/", $userdata['user_pc_timeOffsets']);
				$tzo_sec = $user_pc_timeOffsets[0];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		case FULL_PC:
			if ( isset($pc_dateTime['pc_timeOffset']) )
			{
				$tzo_sec = $pc_dateTime['pc_timeOffset'];
			} else
			{
				$user_pc_timeOffsets = explode("/", $userdata['user_pc_timeOffsets']);
				$tzo_sec = $user_pc_timeOffsets[1];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		default:
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
			break;
	}
} else
{
	switch ( $board_config['default_time_mode'] )
	{
		case MANUAL_DST:
			$dst_sec = $board_config['default_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case SERVER_SWITCH:
			$dst_sec = date('I', $gmepoch) * $board_config['default_dst_time_lag'] * 60; 
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case FULL_SERVER:
			return ( !empty($translate) ) ? strtr(@date($format, $gmepoch), $translate) : @date($format, $gmepoch);
			break;
		case SERVER_PC:
			if ( isset($pc_dateTime['pc_timezoneOffset']) )
			{
				$tzo_sec = $pc_dateTime['pc_timezoneOffset'];
			} else
			{
				$tzo_sec = 0;
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		case FULL_PC:
			if ( isset($pc_dateTime['pc_timeOffset']) )
			{
				$tzo_sec = $pc_dateTime['pc_timeOffset'];
			} else
			{
				$tzo_sec = 0;
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		default:
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
			break;
	} 
}
// End replacement - Advanced time management MOD
Кто-нибудь имеет возможность совместить эти два мода?