А что именно не получилось? Каков результат? Какие ошибки?dimassamid писал(а):То что там написано осуществить не получилось
[ABD] Стаж
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
dimassamid
Проверил на локале - работает (верно считает или нет - не проверял).
Попробуйте вот в таком виде.
Обновлено до версии 1.0.2
31.12.2006 00.00 час
Проверил на локале - работает (верно считает или нет - не проверял).
Попробуйте вот в таком виде.
Обновлено до версии 1.0.2
31.12.2006 00.00 час

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 30.12.2006 20:01, всего редактировалось 5 раз.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Вы вставили фрагмент кода не ДО, а ПОСЛЕ
Забирайте исправленное.
Код: Выделить всё
$template->assign_block_vars('postrow', array(
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 18 лет 6 месяцев
- Откуда: Kiev
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
dimassamid
Laura
Попробуйте в исправленном варианте (архив с модом в посте http://phpbbguru.net/community/viewtopi ... 556#116556 обновлен).
Добавлено спустя 24 минуты 13 секунд:
Внесено еще несколько уточняющих исправлений.
Добавлено спустя 21 минуту 54 секунды:
Проверено на локале. Считает верно с точностью до дня. Только что зарегистрированному пользователю ставится стаж 1 день. Так что, всё должно быть ОК
Laura
Попробуйте в исправленном варианте (архив с модом в посте http://phpbbguru.net/community/viewtopi ... 556#116556 обновлен).
Добавлено спустя 24 минуты 13 секунд:
Внесено еще несколько уточняющих исправлений.
Добавлено спустя 21 минуту 54 секунды:
Проверено на локале. Считает верно с точностью до дня. Только что зарегистрированному пользователю ставится стаж 1 день. Так что, всё должно быть ОК

-
- phpBB 2.0.3
- Сообщения: 384
- Стаж: 19 лет 9 месяцев
- Откуда: Москва, Fortuna-net
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
svk
Так вот
С версии 1.0.2 уже можно рассказывать 
1) Удалил ненужный SQL запрос по полю timezone, т.к. и время регистрации, и текущее время, разница которых составляет стаж, имеют одну и туже временнУю зону.
2) В связи с этим, изменилась формула вычисления текущего времени.
Было:
Стало:
3) Блок расчета стажа заключил внутрь условия
Ибо иначе показывался стаж гостей, который, есессно, был равен возрасту форума
4) Как сказано в phpBB Coding Standard Guidelines,
Было:
Стало:
Здесь: 30.416 - среднее количество дней в месяце (как становится понятно, вычисляется по формуле 365/12
)
4) Ну и, в конце концов, устранил очепятку.
Было:
Стало:
А в остальном всё хорошо. Авторство сохранено за его владельцем 
Добавлено спустя 52 минуты 52 секунды:
Ну чего уж так-то, можно было и [ FINAL ]
Так вот


1) Удалил ненужный SQL запрос по полю timezone, т.к. и время регистрации, и текущее время, разница которых составляет стаж, имеют одну и туже временнУю зону.
2) В связи с этим, изменилась формула вычисления текущего времени.
Было:
Код: Выделить всё
$nowtime = time()+($postrow[$i]['user_timezone']*31*24*60*60);
Код: Выделить всё
$nowtime = time();
Код: Выделить всё
if($poster_joined)
{
....
}

4) Как сказано в phpBB Coding Standard Guidelines,
Поэтому привел в порядок формулы вычисления месяцев и дней.Operator precedence: Do you know the exact precedence of all the operators in PHP? Neither do I. Don't guess. Always make it obvious by using brackets to force the precedence of an equation so you know what it does.
Было:
Код: Выделить всё
$mes = strval(floor($staj/60/60/24/31));
$days = strval(round(($staj-$mes*60*60*24*31)/60/60/24));
Код: Выделить всё
$mes = strval(floor($staj/(3600*24*30.416)));
$days = strval(round(($staj-$mes*3600*24*30.416)/(3600*24)));

4) Ну и, в конце концов, устранил очепятку.
Было:
Код: Выделить всё
$poster_joined = "1 день";
Код: Выделить всё
$poster_joined = "Стаж: 1 день";

Добавлено спустя 52 минуты 52 секунды:
svk[ ТЕПЕРЬ РАБОТАЕТ] Стаж

Ну чего уж так-то, можно было и [ FINAL ]

-
- phpBB 2.0.3
- Сообщения: 384
- Стаж: 19 лет 9 месяцев
- Откуда: Москва, Fortuna-net
-
- phpBB 1.4.0
- Сообщения: 32
- Стаж: 18 лет 3 месяца
- Откуда: Израиль, Ашкелон
-
- phpBB 2.0.3
- Сообщения: 384
- Стаж: 19 лет 9 месяцев
- Откуда: Москва, Fortuna-net
-
- phpBB 1.4.0
- Сообщения: 32
- Стаж: 18 лет 3 месяца
- Откуда: Израиль, Ашкелон
-
- phpBB 1.4.1
- Сообщения: 41
- Стаж: 18 лет 4 месяца
- Откуда: extreme.BY