[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)) 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); $db->sql_freeresult($result);
} }

View file

@ -35,9 +35,9 @@
<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p> <!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_DISPLAY_BIRTHDAY_LIST and BIRTHDAY_LIST --> <!-- IF S_DISPLAY_BIRTHDAY_LIST and .birthdays -->
<h3>{L_BIRTHDAYS}</h3> <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 --> <!-- ENDIF -->
<!-- IF NEWEST_USER --> <!-- IF NEWEST_USER -->

View file

@ -50,7 +50,7 @@
</tr> </tr>
<tr> <tr>
<td class="row1" align="center" valign="middle"><img src="{T_THEME_PATH}/images/whosonline.gif" alt="{L_BIRTHDAYS}" /></td> <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> </tr>
</table> </table>
<!-- ENDIF --> <!-- ENDIF -->