Перейти к содержимому


Как поменять время на MKportal в движке?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 arbigon

arbigon

    Активный участник

  • Пользователи
  • PipPipPip
  • 125 сообщений
  • Пол:Мужчина
  • Город:Vyborg
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 09 June 2011 - 21:36

Как поменять время на MKportal в движке?
То там только в панели максимум +2, а надо больше!!!
Просто в чате и в новостях время отстаёт на 4 часа.


Изображение

Я думаю многие с этим столкнулись, а на форуме все впорядке время работает.

Сообщение отредактировал arbigon: 09 June 2011 - 21:50


#2 de_coder

de_coder

    Активный участник

  • Пользователи
  • PipPipPip
  • 192 сообщений
  • Пол:Мужчина
  • Город:Russia SPb
  • Форум:IPB 2.1.x
  • Версия MKP:C1.2 RC1

Отправлено 09 June 2011 - 21:39

В корне сайта в файле index.php (а так же в похожем файле если хотите что бы в админке тоже все было правильно.. в файле /mkportal/admin/index.php) перед:

Цитата

$switch = array('blog'         =>   "blog",
                'chat'         =>   "chat",
                'contents'     =>   "contents",
                'downloads'    =>   "downloads",
                'gallery'      =>   "gallery",
                'news'         =>   "news",

Добавить:

Цитата

date_default_timezone_set('Europe/Moscow');

В файле mkportal/include/functions.php

заменить участок кода:

Цитата

function create_date($now, $form="")
{
global $mkportals, $MK_TIMEDIFF;

switch($form) {
   case 'short':
       $format = "d M Y";
     break;
   case 'time':
       $format = "H:i";
     break;
   case 'small':
       $format = "F Y";
     break;
   case 'normal':
       $format= "l, d F Y";
     break;
//Meo: Changed in C 0.1 to increase available date format
case 'short2':
       $format = "M d, H:i";
     break;
// End
   default:
   $format = "l, d F Y H:i";
     break;
}

if ( empty($translate) && $this->mklang != 'English' ) {
   @reset($this->lang);
   while ( list($match, $replace) = @each($this->lang) )
   {
   $translate[$match] = $replace;
   }
}
$diff = $mkportals->member['timezone'];
if (substr($mkportals->member['timezone'], 0, 1) == '-') {
   $diff = str_replace("-", "", $diff);
   $now = $now - (3600 * $diff);
} else {
   $now = $now + (3600 * $diff);
}
$diff = $MK_TIMEDIFF;
if (substr($mkportals->member['timezone'], 0, 1) == '-') {
   $diff = str_replace("-", "", $diff);
   $now = $now - (3600 * $diff);
} else {
   $now = $now + (3600 * $diff);
}

return ( !empty($translate) ) ? strtr(@gmdate($format, $now), $translate) : @gmdate($format, $now);

}

Заменить на:

Цитата

function create_date($now, $form="")
{
global $mkportals, $MK_TIMEDIFF;

switch($form) {
   case 'short':
       $format = "d M Y";
     break;
   case 'time':
       $format = "H:i";
     break;
   case 'small':
       $format = "F Y";
     break;
   case 'normal':
       $format= "l, d F Y";
     break;
//Meo: Changed in C 0.1 to increase available date format
case 'short2':
       $format = "M d, H:i";
     break;
// End
   default:
   $format = "l, d F Y H:i";
     break;
}

     return date($format, $now);


}

Сообщение отредактировал de_coder: 09 June 2011 - 21:42


#3 arbigon

arbigon

    Активный участник

  • Пользователи
  • PipPipPip
  • 125 сообщений
  • Пол:Мужчина
  • Город:Vyborg
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 09 June 2011 - 21:51

Просмотр сообщенияde_coder (9.6.2011, 21:39) писал:

В корне сайта в файле index.php (а так же в похожем файле если хотите что бы в админке тоже все было правильно.. в файле /mkportal/admin/index.php) перед:



Добавить:



В файле mkportal/include/functions.php

заменить участок кода:



Заменить на:

СПАСИБО БОЛЬШОЕ!  
Всё отлично работает и время теперь точное.... :rolleyes:

Сообщение отредактировал arbigon: 10 June 2011 - 10:27


#4 sweper

sweper

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений
  • Форум:Нет
  • Версия MKP:Нет

Отправлено 14 July 2011 - 12:56

Скажите время для москвы,а то на час отстаёт

#5 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 21 August 2013 - 08:38

вобщето правельней будет В файле mkportal/include/functions.php чтоб дату писало на русском а не на английском :)

заменить участок кода на:
function create_date($now, $form="")
{
   global $mkportals, $MK_TIMEDIFF;
   switch($form) {
	 case 'short':
		 $format = "d M Y";
	   break;
	 case 'time':
		 $format = "H:i";
	   break;
	 case 'small':
		 $format = "F Y";
	   break;
	 case 'normal':
		 $format= "l, d F Y";
	   break;
//Meo: Changed in C 0.1 to increase available date format
   case 'short2':
		 $format = "M d, H:i";
	   break;
// End
	 default:
	   $format = "l, d F Y H:i";
	   break;
   }
   if ( empty($translate) && $this->mklang != 'UTF8' ) {
	 @reset($this->lang);
	 while ( list($match, $replace) = @each($this->lang) )
	 {
	   $translate[$match] = $replace;
	 }
   }
 
  return ( !empty($translate) ) ? strtr(date($format, $now), $translate) : date($format, $now);
}





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных