Пропустить

Дни рождения вместо возраста

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Дни рождения вместо возраста

Сообщение tonus » 20.11.2008 18:15

Не могу найти, где и как сделать так, чтобы вместо возраста пользователя был день рождения пользователя. :oops: Только день и месяц.
Уважаемые Guru, пожалуйста, подскажите!

tonus
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 20.11.2008 18:06
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение rxu » 20.11.2008 18:20

Стандартно - нигде. Нужен мод.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Re: Дни рождения вместо возраста

Сообщение tonus » 20.11.2008 18:32

И что делать? Я новичок и из этого ответа ничего не понял. Извините. Нельзя ли подробнее???

tonus
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 20.11.2008 18:06
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение rxu » 20.11.2008 18:38

Вобщем, нужно вручную модифицировать код phpBB, чтобы этого добиться. Может, кто-то сделает.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Re: Дни рождения вместо возраста

Сообщение tonus » 20.11.2008 18:40

Боюсь некорректных действий, со своей стороны, которые приведут к сбою в стабильной работе моего форума. А там уже есть посетители. Жду Вашей помощи, rxu! Если можно, подробной инструкции. У меня 3 версия.
Спасибо.

Добавлено спустя 8 минут 4 секунды:
А кто этот "Кто-то"? Как к нему обратиться?

tonus
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 20.11.2008 18:06
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение Поручик » 20.11.2008 18:52

Этот "Кто-то" - тот, кто сюда заглянет и кому не лень будет.
И не надо ни к кому конкретно обращаться. Читайте Правила конференции. Сидите, ждите.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Поручик
Former team member
 
Сообщения: 4002
Зарегистрирован: 12.05.2005 16:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 26 раз.
Поблагодарили: 47 раз.

Re: Дни рождения вместо возраста

Сообщение Vaal » 21.11.2008 2:17

Чтобы отображался день рождения в профиле, сделал так

в memberlist.php после
$age = (int) ($now['year'] - $bday_year - $diff);

добавил
 if ($bday_day == 0) { $bday_day ="xx";  }
	 if ($bday_month == 0) { $bday_month ="xx"; }
	 $bday1 = ($bday_day . "." . $bday_month . "." . $bday_year);

после
'AGE'			=> $age,

добавил
'BDAY'         => $bday1,

в memberlist_view.html , в строку с
<!-- IF AGE -->
добавил BDAY
<!-- IF AGE --><dt>{L_BIRTHDAY}:</dt> <dd>{BDAY} ({AGE})</dd><!-- ENDIF -->

в языковые файлы(англ. и рус.) memberlist.php добавил строки
'BIRTHDAY'					=> 'День рождения',

'BIRTHDAY'					=> 'Birthday',

Vaal
phpBB 1.4.0
 
Сообщения: 31
Зарегистрирован: 03.11.2005 0:38
Откуда: Russia, Lipetsk
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение tonus » 21.11.2008 2:40

Спасибо, Vaal, большое спасибо за ответ-инструкцию!!! Всё подробно, как я и просил!
Мир не без добрых людей :D
Сейчас попробую. Надеюсь, всё получится.

tonus
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 20.11.2008 18:06
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение Avidal » 07.02.2009 13:21

Кто-нибудь тестил мод Vaal-a?

Работает?

Avidal
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 15.11.2008 23:51
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение oika » 22.06.2009 0:29

Avidal писал(а):Кто-нибудь тестил мод Vaal-a? Работает?


Да, работает. Единственное, что этим способом можно дополнить профиль строкой о дне рождения, а я заменила полностью строку возраста.
Сделала это так:

В memberlist_view.html
			<tr>
				<td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_AGE}: </td>
				<td><b class="genmed"><!-- IF AGE -->{AGE}<!-- ELSE --> - <!-- ENDIF --></b></td>
			</tr>


Заменить на
			<tr>
				<td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap"><!-- IF AGE -->{L_BIRTHDAY}: </td>
				<td><b class="genmed"><!-- IF AGE -->{BDAY} ({AGE})<!-- ELSE --> - <!-- ENDIF --></b></td>
			</tr>


Прим: У меня сабсильвер.
Аватара пользователя
oika
phpBB 1.4.1
 
Сообщения: 43
Зарегистрирован: 06.06.2004 10:43
Откуда: Estonia
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение meganom » 07.03.2010 1:09

Есть одна проблема с данной модификацией:
Если поле с датой рождения не заполнено, появляется ошибка
[phpBB Debug] PHP Notice: in file /memberlist.php on line 1671: Undefined variable: bday1
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4314: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4316: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4317: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4318: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)

код memberlist.php :
if ($bday_year)
		{
			$now = getdate(time() + $user->timezone + $user->dst - date('Z'));

			$diff = $now['mon'] - $bday_month;
			if ($diff == 0)
			{
				$diff = ($now['mday'] - $bday_day < 0) ? 1 : 0;
			}
			else
			{
				$diff = ($diff < 0) ? 1 : 0;
			}

			$age = (int) ($now['year'] - $bday_year - $diff);
			     if ($bday_day == 0) { $bday_day ="xx";  }
        if ($bday_month == 0) { $bday_month ="xx"; }
        $bday1 = ($bday_day . "." . $bday_month . "." . $bday_year);
		}
	}

	// Dump it out to the template
	return array(
		'AGE'			=> $age,
		'BDAY'          => $bday1,
		'RANK_TITLE'	=> $rank_title,
		'JOINED'		=> $user->format_date($data['user_regdate']),
		'VISITED'		=> (empty($last_visit)) ? ' - ' : $user->format_date($last_visit),
		'POSTS'			=> ($data['user_posts']) ? $data['user_posts'] : 0,
		'WARNINGS'		=> isset($data['user_warnings']) ? $data['user_warnings'] : 0,

строка 1671 указывает на
'BDAY' => $bday1,

Добавлено спустя 10 минут 41 секунду:
Палыч
Вы просто шаман!
Огромное спасибо!

P.S.
Куда-то пропал Ваш ответ :)
На всякий случай продублирую:
Палыч писал(а):Попробуйте
'BDAY' => (empty($bday1)) ? ' ' : $bday1,

meganom
phpBB 1.0.0
 
Сообщения: 7
Зарегистрирован: 21.01.2008 16:50
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение Slava9 » 19.10.2010 17:26

Пожалуйста, подскажите как вывести просто дату рождения в формате 12 апреля (без года) под аватарой на страничке viewtopic.php
Аватара пользователя
Slava9
phpBB 2.0.5
 
Сообщения: 244
Зарегистрирован: 07.01.2009 15:39
Откуда: Киев
Благодарил (а): 27 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение Nekstati » 19.10.2010 23:05

language/ru/common.php
// Найти
	'BIRTHDAYS'				=> 'Дни рождения',

// Добавить перед
	'BIRTHDAY'				=> 'День рождения',

viewtopic.php
// Найти

				if ($bday_year)
				{
					$diff = $now['mon'] - $bday_month;
					if ($diff == 0)
					{
						$diff = ($now['mday'] - $bday_day < 0) ? 1 : 0;
					}
					else
					{
						$diff = ($diff < 0) ? 1 : 0;
					}

					$user_cache[$poster_id]['age'] = (int) ($now['year'] - $bday_year - $diff);
				}

// Заменить на

				$user_cache[$poster_id]['age'] = ($bday_day && $bday_month ? $bday_day . ' ' : '') . ($bday_month ? $user->format_date(strtotime('2000-' . $bday_month . '-01'), 'M') : '');

styles/prosilver/template/viewtopic_body.html
// Найти
		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->

// Добавить после
		<!-- IF postrow.POSTER_AGE --><dd><strong>{L_BIRTHDAY}:</strong> {postrow.POSTER_AGE}</dd><!-- ENDIF -->
За это сообщение автора Nekstati поблагодарил:
Slava9 (20.10.2010 8:26)
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2181
Зарегистрирован: 19.03.2009 17:43
Благодарил (а): 6 раз.
Поблагодарили: 607 раз.

Re: Дни рождения вместо возраста

Сообщение Slava9 » 20.10.2010 8:29

Nekstati, спасибо вам огромное за быструю поддержку!
Все прекрасно выводится!

Добавлено спустя 11 минут 37 секунд:
Только что пользователь написал, что у него в профиле день рождения в сентябре, а на форуме выводится авг! как это исправить???? из-за чего так происходит? у меня в фев, так и выводит фев... а у него действительно в профиле стоит сентябрь, а выводится август

Добавлено спустя 53 минуты 5 секунд:
еще одна девочка пожаловалась у нее в мае, а пишет апр
Аватара пользователя
Slava9
phpBB 2.0.5
 
Сообщения: 244
Зарегистрирован: 07.01.2009 15:39
Откуда: Киев
Благодарил (а): 27 раз.
Поблагодарили: 0 раз.

Re: Дни рождения вместо возраста

Сообщение Nekstati » 20.10.2010 9:36

1. Какая в точности дата рождения стоит в его профиле?
2. Какой у него часовой пояс?
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2181
Зарегистрирован: 19.03.2009 17:43
Благодарил (а): 6 раз.
Поблагодарили: 607 раз.

След.

Вернуться в Запросы модов для phpBB 3.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы