Yamaliya
Новичёк
Сообщений: 86
Регистрация: 02.2018
|
Перенесено из темы "ExBB 1.1.170412" в файле \include\lib.php функцию get_rd заменить на PHP:function get_rd($sess_id = 0) { // Advanced internal redirect by yura3d
$rd = (!empty($_SESSION['rd'])) ? $_SESSION['rd'] : 'index.php';
if (!$sess_id) return $rd;
preg_match('#([^\?]+|)(\?([^\#]+)|)(\#(.*)|)#s', $rd, $rd);
if ($rd[3] === '') $rd[3] = '?'._SESSION_ID;
else $rd[3] = $rd[2].'&'._SESSION_ID;
if ($rd[4] !== '') {$rd[5] = $rd[4];}
else {$rd[5] = '';}
return $rd = $rd[1].$rd[3].$rd[5];
}
Временные интервалы удобнее задавать в минутах, а не секундах. В файле include\fm.class.php фунцию _DateFormat можно заменить на Спойлер (Показать)PHP:function _DateFormat($time, $adv = true) { // Форматирование даны в виде 21 Декабря, 2006 - 20:03:17
static $rus_m = array('01' => 'января', '02' => 'февраля', '03' => 'марта', '04' => 'апреля', '05' => 'мая','06' => 'июня','07' => 'июля', '08' => 'августа', '09' => 'сентября', '10' => 'октября', '11' => 'ноября', '12' => 'декабря');
$currDay = strftime ("%d",$time);
$currMonth = strftime ("%m",$time);
$currYear = strftime ("%Y",$time);
$tm = date("H:i",$time);
if ($adv) {
$userTime = $this->_Nowtime + $this->user['timedif'] * 3600;
if ($userTime - $time < 60) {
return '<b style="color: blue">меньше минуты назад</b>';}
else if ($userTime - $time < 72000) {
$hours = floor(($userTime - $time) / 3600);
$minutes = floor(($userTime - $time) / 60 - $hours * 60);
return '<b style="color: darkblue">'.(($hours) ? $hours.' '.$this->_RussianUnstemming('час', true, $hours).' ' : '').(($minutes) ? $minutes.' '.$this->_RussianUnstemming('минут', false, $minutes).' ' : '').'назад</b>';
}
if ($currDay . $currMonth . $currYear == strftime("%d%m%Y", $userTime - 86400)) {
return "<b>Вчера — $tm</b>";}
else if ($currDay . $currMonth . $currYear == strftime('%d%m%Y', $userTime)) {
return "<b>Сегодня — $tm</b>";}
}
return (($currDay[0] == '0') ? $currDay[1] : $currDay).' '.$rus_m[$currMonth].' '.$currYear.' — '.$tm;
} , и перед ней нужно добавить функцию Спойлер (Показать)PHP:function _russianUnstemming($stem, $male, $value) { // Крайне упрощённая версия анстеммера
$last = $value % 10;
if ($last >= 5 && $last <= 9 || $value >= 11 && $value <= 19 || !$last) {
return ($male) ? "{$stem}ов" : $stem;}
else if ($last >= 2 && $last <= 4) {
return ($male) ? "{$stem}а" : "{$stem}ы";}
return ($male) ? $stem : "{$stem}у";
}
Подробнее смотрите здесь... |