Добавлено: 15.07.2005 16:20
вы ставите новый мод поверх этого. и меняете логику функции create_date, которая уже изменена этим модом
скачать русский перевод, моды, скины и стили для phpBB, phpBB3
https://www.phpbbguru.net/community/
Живет сия вещь замечательно.quazi писал(а):##############################################################
## MOD Title: Today / Yesterday
## MOD Author: Rumata < http://forum.dklab.ru/users/Rumata >
## 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
Код: Выделить всё
#----[ OPEN ]-------
#
includes/page_header.php
#
#----[ FIND ]-------
#
$s_last_visit =
#
#----[ IN-LINE, FIND ]-------
#
$board_config['board_timezone']
#
#----[ IN-LINE, AFTER ADD ]-------
#
, true
Как это понять, перевести на русский, и для чего используеться?quazi писал(а):$lang['datetime']['Hidden_time'] = 'Obscured by darkness';
на случай, если время, передаваемое в функцию - пустое. редкий, практически невозможный случай, но если подобное произойдет - на форуме будет показано некорректное время, что-то в районе 1 янв 1970 года. что не есть хорошо, поэтому - лучше показать некую фразу.VVVas писал(а):для чего используеться
Код: Выделить всё
#----[ OPEN ]-------
#
index.php
#
#----[ FIND ]-------
#
if (!empty($result))
{
$time_now = time();
$this_year = create_date('Y', $time_now, $board_config['board_timezone'], false);
#
#----[ IN-LINE, FIND ]-------
#
$board_config['board_timezone']
#
#----[ IN-LINE, AFTER ADD ]-------
#
, false
#
#----[ FIND ]-------
#
$date_today = create_date('Ymd', $time_now, $board_config['board_timezone']);
#
#----[ IN-LINE, FIND ]-------
#
$board_config['board_timezone']
#
#----[ IN-LINE, AFTER ADD ]-------
#
, false
#
#----[ FIND ]-------
#
$date_forward = create_date('Ymd', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
#
#----[ IN-LINE, FIND ]-------
#
$board_config['board_timezone']
#
#----[ IN-LINE, AFTER ADD ]-------
#
, false
#----[ OPEN ]-------
#
viewtopic.php
#
#----[ FIND ]-------
#
// Start add - Birthday MOD
$this_year = create_date('Y', time(), $board_config['board_timezone']);
#
#----[ IN-LINE, FIND ]-------
#
$board_config['board_timezone']
#
#----[ IN-LINE, AFTER ADD ]-------
#
, false
#
#----[ FIND ]-------
#
$this_date = create_date('md', time(), $board_config['board_timezone']);
#
#----[ IN-LINE, FIND ]-------
#
$board_config['board_timezone']
#
#----[ IN-LINE, AFTER ADD ]-------
#
, false
Код: Выделить всё
return create_date($date_syntax,$date*86400+1,0);
а что на это говорит эксперимент? если честно, Birthday мод мне не интересен и я его видел один только раз. я тут уже просил показать сомнительные строки из мода, но желателен также контекст в котором эти строки вызывают сомнениеVVVas писал(а):Нужно ли её правит и на что это влияет?
Что не надо.quazi писал(а):а что на это говорит эксперимент?
Вот та часть про которую я говорюquazi писал(а):я тут уже просил показать сомнительные строки из мода, но желателен также контекст в котором эти строки вызывают сомнение
Код: Выделить всё
// Add function realdate for Birthday MOD
// the originate php "date()", does not work proberly on all OS, especially when going back in time
// before year 1970 (year 0), this function "realdate()", has a mutch larger valid date range,
// from 1901 - 2099. it returns a "like" UNIX date format (only date, related letters may be used, due to the fact that
// the given date value should already be divided by 86400 - leaving no time information left)
// a input like a UNIX timestamp divided by 86400 is expected, so
// calculation from the originate php date and mktime is easy.
// e.g. realdate ("m d Y", 3) returns the string "1 3 1970"
// UNIX users should replace this function with the below code, since this should be faster
//
//function realdate($date_syntax="Ymd",$date=0)
//{ return create_date($date_syntax,$date*86400+1,0); }
function realdate($date_syntax="Ymd",$date=0)
{
global $lang;
$i=2;
if ($date>=0)
{
return create_date($date_syntax,$date*86400+1,0);
} else
{
$year= -(date%1461);
$days = $date + $year*1461;
while ($days<0)
{
$year--;
$days+=365;
if ($i++==3)
{
$i=0;
$days++;
}
}
}
$leap_year = ($i==0) ? TRUE : FALSE;
$months_array = ($i==0) ?
array (0,31,60,91,121,152,182,213,244,274,305,335,366) :
array (0,31,59,90,120,151,181,212,243,273,304,334,365);
for ($month=1;$month<12;$month++)
{
if ($days<$months_array[$month]) break;
}
$day=$days-$months_array[$month-1]+1;
//you may gain speed performance by remove som of the below entry's if they are not needed/used
return strtr ($date_syntax, array(
'a' => '',
'A' => '',
'\\d' => 'd',
'd' => ($day>9) ? $day : '0'.$day,
'\\D' => 'D',
'D' => $lang['day_short'][($date-3)%7],
'\\F' => 'F',
'F' => $lang['month_long'][$month-1],
'g' => '',
'G' => '',
'H' => '',
'h' => '',
'i' => '',
'I' => '',
'\\j' => 'j',
'j' => $day,
'\\l' => 'l',
'l' => $lang['day_long'][($date-3)%7],
'\\L' => 'L',
'L' => $leap_year,
'\\m' => 'm',
'm' => ($month>9) ? $month : '0'.$month,
'\\M' => 'M',
'M' => $lang['month_short'][$month-1],
'\\n' => 'n',
'n' => $month,
'O' => '',
's' => '',
'S' => '',
'\\t' => 't',
't' => $months_array[$month]-$months_array[$month-1],
'w' => '',
'\\y' => 'y',
'y' => ($year>29) ? $year-30 : $year+70,
'\\Y' => 'Y',
'Y' => $year+1970,
'\\z' => 'z',
'z' => $days,
'\\W' => '',
'W' => '') );
}
// End add - Birthday MOD
Код: Выделить всё
function realdate($date_syntax="Ymd",$date=0)
{
return create_date($date_syntax,$date*86400+1,0);
}
Понятно, спасибо.quazi писал(а):по крайней мере закомментируйте монстра и раскомментируйте те две строчки
http://www.golfexpert.net/link.php?from=01&to=6quazi писал(а):create_date
функция которую я изменил в моде. она же (по-видимому) изменена вашим модом
то есть при наложении изменений перестают работать или один или оба. аналогия из жизни на один стул вдвоем не садятся. дайте ссылку на мод. я посмотрю и что-нибудь скажу
Добавлено спустя 9 минут 34 секунды:Просто какое-то странное сегодня (хоть оно и пытаеться быть сегодня): у одного пользователя, мод Today / Yesterday by Rumata пишет "Вчера".