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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
tonus
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 10 месяцев

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

Сообщение tonus »

Не могу найти, где и как сделать так, чтобы вместо возраста пользователя был день рождения пользователя. :oops: Только день и месяц.
Уважаемые Guru, пожалуйста, подскажите!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17312
Стаж: 20 лет 5 месяцев
Откуда: Красноярск
Благодарил (а): 634 раза
Поблагодарили: 2418 раз

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

Сообщение rxu »

Стандартно - нигде. Нужен мод.
Изображение
tonus
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 10 месяцев

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

Сообщение tonus »

И что делать? Я новичок и из этого ответа ничего не понял. Извините. Нельзя ли подробнее???
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17312
Стаж: 20 лет 5 месяцев
Откуда: Красноярск
Благодарил (а): 634 раза
Поблагодарили: 2418 раз

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

Сообщение rxu »

Вобщем, нужно вручную модифицировать код phpBB, чтобы этого добиться. Может, кто-то сделает.
Изображение
tonus
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 10 месяцев

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

Сообщение tonus »

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

Добавлено спустя 8 минут 4 секунды:
А кто этот "Кто-то"? Как к нему обратиться?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 21 год 5 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза

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

Сообщение Поручик »

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

наш форум http://forum.aeroion.ru/cat1.html
Vaal
phpBB 1.4.0
Сообщения: 31
Стаж: 20 лет 11 месяцев
Откуда: Russia, Lipetsk

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

Сообщение Vaal »

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

в 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',
tonus
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 10 месяцев

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

Сообщение tonus »

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

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

Сообщение Avidal »

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

Работает?
Аватара пользователя
oika
phpBB 1.4.1
Сообщения: 41
Стаж: 22 года 4 месяца
Откуда: Estonia

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

Сообщение oika »

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>
Прим: У меня сабсильвер.
meganom
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 8 месяцев

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

Сообщение meganom »

Есть одна проблема с данной модификацией:
Если поле с датой рождения не заполнено, появляется ошибка

Код: Выделить всё

[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,
Аватара пользователя
Slava9
phpBB 2.0.2
Сообщения: 321
Стаж: 17 лет 9 месяцев
Откуда: Киев
Благодарил (а): 47 раз

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

Сообщение Slava9 »

Пожалуйста, подскажите как вывести просто дату рождения в формате 12 апреля (без года) под аватарой на страничке viewtopic.php
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

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 -->
Аватара пользователя
Slava9
phpBB 2.0.2
Сообщения: 321
Стаж: 17 лет 9 месяцев
Откуда: Киев
Благодарил (а): 47 раз

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

Сообщение Slava9 »

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

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

Добавлено спустя 53 минуты 5 секунд:
еще одна девочка пожаловалась у нее в мае, а пишет апр
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

1. Какая в точности дата рождения стоит в его профиле?
2. Какой у него часовой пояс?

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