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

[MODDB] Advanced Page Generation Time

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

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

##############################################################
## Author Notes:
##
## Server Uptime is available in Linux only.
## Be sure you have permission to run uptime(1) utility.
##
##############################################################  
Нету у вас доступа к утилите uptime. Поэтому статистка недоступна.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

x-ray писал(а):Обязательно нужно добавить в описалово, что Advanced Page Generation Time Add-On: Server Uptime не работает, если этот самый аптайм менее двух дней.
В моём моде работает :)

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

if (@file_exists('/proc/uptime'))
{
        $uptime_array = explode(" ", exec("cat /proc/uptime"));
        $up_sec = round($uptime_array[0], 0);
        $up_min = $up_sec / 60;
        $up_hour = $up_min / 60;
        $up_day = floor($up_hour / 24);
        $up_hour = floor($up_hour - ($up_day * 24));
        $up_min = floor($up_min - ($up_day * 24 * 60) - ($up_hour * 60));
        $up_sec = floor($up_sec - ($up_day * 24 * 60 * 60) - ($up_hour * 60 * 60) - ($up_min * 60));
        $uptime_array = array($up_day, $up_hour, $up_min, $up_sec);
}
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Siava, спасибо за код.

Вопрос о том. что выдает uptime (это отличается от содержимого '/proc/uptime') при кол-ве дней менее 1 остается открытым.
Аватара пользователя
Никто
Advanced Lamers Team
Сообщения: 316
Стаж: 18 лет 3 месяца
Откуда: Химки
Забанен: Бессрочно

Сообщение Никто »

Siava
А если файл не exist? ;)
У меня все равно не работает ;) или надо создать вышеуказанную папку?
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Никто
Если не exist, то там есть продолжение.. оно уже не важно ;)
Если у тебя этого файла нет, то создание такового не поможет.
Мод я писал для своей конфигурации Slackware Linux, поэтому и не выкладываю весь.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Никто
Advanced Lamers Team
Сообщения: 316
Стаж: 18 лет 3 месяца
Откуда: Химки
Забанен: Бессрочно

Сообщение Никто »

Siava
А может важно? ;) напиши плиз
Долой edgar'a - самого тупого юзера на форуме!
x-ray
phpBB 1.0.0
Сообщения: 5
Стаж: 18 лет 4 месяца

Сообщение x-ray »

Coagulant писал(а): Просто нет возможности проверить, что выдает uptime при аптайме менее 2-х дней. Подскажите? :wink:
судя по этой строке

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

preg_match( "/up (\d+) days,\s+([\d+\:]+)/", $exec_uptime, $cur_uptime );
мод остаётся работоспособным если есть слово days, . В случае аптайма менее суток - слово days вобще отсутствует, а от суток до двух просто day.
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

x-ray
То что вы написали мне очевидно. Неясно, как выглядит результат работы утилиты uptime при времени работы сервера менее дня. Поделитесь?
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 19 лет 9 месяцев
Откуда: Москва
Благодарил (а): 209 раз
Поблагодарили: 4 раза

Сообщение Erlang »

x-ray писал(а):Обязательно нужно добавить в описалово, что Advanced Page Generation Time Add-On: Server Uptime не работает, если этот самый аптайм менее двух дней.
Можно пояснить для несведущих?
С уважением,
Сергей
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Coagulant
Coagulant писал(а):Неясно, как выглядит результат работы утилиты uptime при времени работы сервера менее дня.
возвращает days=0 и т.д.. :roll:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Siava писал(а):возвращает days=0 и т.д..
Утилита uptime у меня возвращает строчку вида up 7 days, 11:14. Если там 0 days было бы, то мод продолжает работать. Видимо кол-во дней вообще не выводится.
x-ray
phpBB 1.0.0
Сообщения: 5
Стаж: 18 лет 4 месяца

Сообщение x-ray »

В случае аптайма менее суток - слово days вобще отсутствует, а от суток до двух просто day.
Утилита uptime у меня возвращает строчку вида up 7 days, 11:14
.

сейчас строка :
up 1 day, 9:22,

десять часов назад была вот такой
up 23.22,
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

x-ray, попробуйте

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

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/page_tail.php
# 
#-----[ FIND ]------------------------------------------ 
#
	preg_match( "/up (\d+) days,\s+([\d+\:]+)/", $exec_uptime, $cur_uptime );
	if ( strpos($cur_uptime[2],':') != false)
	{
	   list ( $cur_uptime[3], $cur_uptime[2]) = explode ( ':', $cur_uptime[2] );
	}
#
#-----[ REPLACE WITH ]------------------------------------
#
	preg_match( "/up ((\d+) days,\s+)?([\d+\:\.]+)/", $exec_uptime, $cur_uptime );
	if ( strpos($cur_uptime[2],':') != false)
	{
	   list ( $cur_uptime[3], $cur_uptime[2]) = explode ( ':', $cur_uptime[2] );
	}
	elseif ( strpos($cur_uptime[2],'.') != false)
	{
	   list ( $cur_uptime[3], $cur_uptime[2]) = explode ( '.', $cur_uptime[2] );
	}
Интересно, а почему точка, а не двоеточие...

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

Исправил код в последнем посте
x-ray
phpBB 1.0.0
Сообщения: 5
Стаж: 18 лет 4 месяца

Сообщение x-ray »

каюсь... двоеточие.
NCom
phpBB 2.0.11
Сообщения: 810
Стаж: 18 лет 3 месяца
Откуда: Ставрополь
Забанен: Бессрочно

Сообщение NCom »

[ Время : 1.4977с | SQL-запросов : 66 | Gzip : Выкл. |
ЭТО ОЧЕНЬ ПЛОХО?

Вернуться в «Бета-версии модов для phpBB 2.0.x»