Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
andaril

Русские даты в IP. Board 2.1.x

Recommended Posts

Имя файла: Русские даты в IP. Board 2.1.x

Владелец файла: andaril

Файл размещен: 21 апр 2007

Файл обновлен: 14 фев 2011

Категория файла: Mods/Моды

 

Позволяет поменять "1.12.2007" на "1 Декабря 2007"

 

+---------------------------------------------------------------------

| Invision Power Board v2.1.х

| =================================================================

| При поддержке ipbskins.ru

| =================================================================

+---------------------------------------------------------------------

|

| > Мод "Русские даты в IP Board"

| > Автор fr0z3n aka andar!l

|

| > Версия: 1.0

| > Дата: 21.04.2007

|

+---------------------------------------------------------------------

|

| > Эта модификация позволяет сделать отображение всех дат

| > форума (названия месяцев, дней) на русском языке

| > По запросу: Hugo Weaving

|

+---------------------------------------------------------------------

Багов не обнаружил.

 

Нажмите сюда, чтобы скачать этот файл

Edited by andaril

Share this post


Link to post
Share on other sites

Не за что. Надо бы выложить куратора темы да все времени не нахожу переделать его в обычный текстовой вариант :)

 

А сайт ваш неплохой :) Молодцы

Share this post


Link to post
Share on other sites

Спасибо! :)

 

 

PS. Вопросик такой. Например, при просмотре темы с сообщением я хочу, чтобы формат регистрации отображался так: "1 сент 2006", а при просмотре профиля, чтобы формат был такой: "01.09.2006".

Ведь изначально формат времени регистрации отображается одинаково, что в профиле, что при просмотре темы с сообщением. А как вот сделать так, как я предложил? :)

Share this post


Link to post
Share on other sites

Кмх, вот вам моя цитата с ibrportal.net о том как работает данная модификация. Это так, для общего развития

Начнем с способов:

Мне известно три разных способа как можно это реализовать.

  • Это установить все даты в числовом формате, тогда в датах не будет слов вообще. Я не вижу смысла писать о нем.
  • Воспользоваться функциями setlocale() и strftime() которые изменяют язык для дат под установки вашей "локали", в нашем случае локаль русская. Я сегодня попытался реализовать это... У меня прекрасно получилось перевести почти все. Но... как всегда одно "но", функция setlocale () у меня сбила настройки дат которые должны идти в GMT формате. Может это всего лишь моя "криворукость", но мне почему то так не кажется. в общем этим "но" было то что такой метод полностью "убил" календарь, там все завязано с функцией gmdate(), а локаль сделала невозможным доступ к этой функции. Если бы ips делала свою доску сразу используя эти функции, я про setlocale(), проблем было бы меньше.
  • Вот и добрались до третьего способа. Он прост как никогда. Просто заменить названия месяцев, с помощью регулярных выражений, на их русские эквиваленты.

Самое хорошее в данном способе то что он не зависим от "локали", ведь при втором способе надо еще и поставить правильное название локали, тк они зависят от настроек вэб-сервера, и еще то что он достаточно прост в установке.

А специально для вас.

Открывайте файл

./sources/action_public/profile.php

Находите строку:

$info['joined']	  = $this->ipsclass->get_date( $member['joined'], 'JOINED' );

И заменяете её на

//$info['joined']	  = $this->ipsclass->get_date( $member['joined'], 'JOINED' );
$info['joined']	  = gmdate( "j.n.Y", $member['joined'] );

Подробнее о форматах дат вы можете узнать на http://www.php.net/date

Share this post


Link to post
Share on other sites

Спасибо! :(

 

Да, информацию про этот мод я уже почитал.

Share this post


Link to post
Share on other sites

Незачто. Обращайтесь. :(

Share this post


Link to post
Share on other sites

Привет! Я установил этот мод, но при просмотре профиля в строке "Часовой пояс пользователя" показывает: 4 {Dec} 2007, 16:09, Где нужно исправить? спасибо.

Share this post


Link to post
Share on other sites

сегодня гляну

Share this post


Link to post
Share on other sites

Спасибо! Жду с большим нетерпением!

Share this post


Link to post
Share on other sites

Дело кажется в файле Profile.php, а конкретнее вот в этой строке:

 

$info['local_time'] = $member['time_offset'] != "" ? gmdate( $this->ipsclass->vars['clock_long'], time() + ($member['time_offset']*3600) + ($this->ipsclass->vars['time_adjust'] * 60) ) : $this->ipsclass->lang['no_info'];

 

Тут, мне кажется, надо что-то поменять...

Share this post


Link to post
Share on other sites

попробуйте поменять на

$info['local_time'] = $member['time_offset'] != "" ? preg_replace("/{(\w+)}/e" ,"\$this->lang['\\1']", gmdate( $this->ipsclass->vars['clock_long'], time() + ($member['time_offset']*3600) + ($this->ipsclass->vars['time_adjust'] * 60) ) ) : $this->ipsclass->lang['no_info'];

не смотрел. просто по вашим строкам поменял

Share this post


Link to post
Share on other sites

А теперь вот что пишет: 7 2007, 21:16

Share this post


Link to post
Share on other sites

ой :D

сорри

$info['local_time'] = $member['time_offset'] != "" ? preg_replace("/{(\w+)}/e" ,"\$this->ipsclass->lang['\\1']", gmdate( $this->ipsclass->vars['clock_long'], time() + ($member['time_offset']*3600) + ($this->ipsclass->vars['time_adjust'] * 60) ) ) : $this->ipsclass->lang['no_info'];

вот оно

Share this post


Link to post
Share on other sites

Пашет: 7 Дек 2007, 21:22

Спасибо, земляк! Внеси изменения в свой файл, чтоб другие не мучались как я :D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...