Вывод стажа пользователя в сообщении

Автор kak2z, 17 сентября 2015, 15:08:35

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kak2z

Цитата: sgtWhite от 17 сентября 2015, 14:40:37kak2z, на пальцах я его вычесть могу, это не проблема  :) Но не кодом.


в конец файла display.template.php добавить

function showDate( $date ) // $date --> время в формате Unix time
{
    $stf      = 0;
    $cur_time = time();
    $diff     = $cur_time - $date;

    $seconds = array( 'секунда', 'секунды', 'секунд' );
    $minutes = array( 'минута', 'минуты', 'минут' );
    $hours   = array( 'час', 'часа', 'часов' );
    $days    = array( 'день', 'дня', 'дней' );
    $weeks   = array( 'неделя', 'недели', 'недель' );
    $months  = array( 'месяц', 'месяца', 'месяцев' );
    $years   = array( 'год', 'года', 'лет' );
    $decades = array( 'десятилетие', 'десятилетия', 'десятилетий' );

    $phrase = array( $seconds, $minutes, $hours, $days, $weeks, $months, $years, $decades );
    $length = array( 1, 60, 3600, 86400, 604800, 2630880, 31570560, 315705600 );

    for ( $i = sizeof( $length ) - 1; ( $i >= 0 ) && ( ( $no = $diff / $length[ $i ] ) <= 1 ); $i -- ) {
        ;
    }
    if ( $i < 0 ) {
        $i = 0;
    }
    $_time = $cur_time - ( $diff % $length[ $i ] );
    $no    = floor( $no );
    $value = sprintf( "%d %s ", $no, getPhrase( $no, $phrase[ $i ] ) );

    if ( ( $stf == 1 ) && ( $i >= 1 ) && ( ( $cur_time - $_time ) > 0 ) ) {
        $value .= time_ago( $_time );
    }

    return $value . ' назад';
}

function getPhrase( $number, $titles ) {
    $cases = array( 2, 0, 1, 1, 1, 2 );

    return $titles[ ( $number % 100 > 4 && $number % 100 < 20 ) ? 2 : $cases[ min( $number % 10, 5 ) ] ];
}


в файле display.template.php найти
// Show the profile, website, email address, and personal message buttons.и перед этим вставить
//Show experience time
if((int)$message['member']['registered_timestamp'] > 0){
$my_time = (int)time() - (int)$message['member']['registered_timestamp'];
echo '<li>Стаж: ' . (showDate($message['member']['registered_timestamp'])) . '</li>';
}
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

sgtWhite

 O0 Огромное спасибо. Доведу методом тыка.