[ticket/10173] Use a loop var for the birthdays list to allow proper templating

Introduce a loop variable for the list of birthdays to allow templates to
handle how the list is displayed.

We keep the old BIRTHDAY_LIST variable that contains the precompiled list
around for backward compatibility.

PHPBB3-10173
This commit is contained in:
Andreas Fischer 2011-05-08 15:24:03 +02:00
parent 6a3f34ae61
commit 2f458352b8
3 changed files with 14 additions and 6 deletions

View file

@ -96,12 +96,20 @@ if ($config['load_birthdays'] && $config['allow_birthdays'])
while ($row = $db->sql_fetchrow($result))
{
$birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
$birthday_username = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
$birthday_list .= (($birthday_list != '') ? ', ' : '') . $birthday_username;
$birthday_year = (int) substr($row['user_birthday'], -4);
$birthday_age = $now['year'] - $birthday_year;
if ($age = (int) substr($row['user_birthday'], -4))
if ($birthday_year)
{
$birthday_list .= ' (' . ($now['year'] - $age) . ')';
$birthday_list .= ' (' . $birthday_age . ')';
}
$template->assign_block_vars('birthdays', array(
'USERNAME' => $birthday_username,
'AGE' => ($birthday_year) ? $birthday_age : '',
));
}
$db->sql_freeresult($result);
}

View file

@ -35,9 +35,9 @@
<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p>
<!-- ENDIF -->
<!-- IF S_DISPLAY_BIRTHDAY_LIST and BIRTHDAY_LIST -->
<!-- IF S_DISPLAY_BIRTHDAY_LIST and .birthdays -->
<h3>{L_BIRTHDAYS}</h3>
<p><!-- IF BIRTHDAY_LIST -->{L_CONGRATULATIONS}: <strong>{BIRTHDAY_LIST}</strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF --></p>
<p><!-- IF .birthdays -->{L_CONGRATULATIONS}: <strong><!-- BEGIN birthdays -->{birthdays.USERNAME}<!-- IF birthdays.AGE !== '' --> ({birthdays.AGE})<!-- ENDIF --><!-- IF not birthdays.S_LAST_ROW -->, <!-- ENDIF --><!-- END birthdays --></strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF --></p>
<!-- ENDIF -->
<!-- IF NEWEST_USER -->

View file

@ -50,7 +50,7 @@
</tr>
<tr>
<td class="row1" align="center" valign="middle"><img src="{T_THEME_PATH}/images/whosonline.gif" alt="{L_BIRTHDAYS}" /></td>
<td class="row1" width="100%"><p class="genmed"><!-- IF BIRTHDAY_LIST -->{L_CONGRATULATIONS}: <b>{BIRTHDAY_LIST}</b><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF --></p></td>
<td class="row1" width="100%"><p class="genmed"><!-- IF .birthdays -->{L_CONGRATULATIONS}: <b><!-- BEGIN birthdays -->{birthdays.USERNAME}<!-- IF birthdays.AGE !== '' --> ({birthdays.AGE})<!-- ENDIF --><!-- IF not birthdays.S_LAST_ROW -->, <!-- ENDIF --><!-- END birthdays --></b><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF --></p></td>
</tr>
</table>
<!-- ENDIF -->