<?php
/***************************************************************************
- * Copyright (C) 2003-2010 Polytechnique.org *
+ * Copyright (C) 2003-2014 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-function smarty_function_profile($params, &$smarty)
+function smarty_function_profile($params, $smarty)
{
$params = new PlDict($params);
- $with_promo = $params->b('promo', false);
+ $with_promo = $params->b('promo', false) || $params->b('cat', false);
$with_sex = $params->b('sex', true);
$with_link = $params->b('link', true);
+ $with_dir = $params->b('directory', true);
$with_groupperms = $params->b('groupperms', true);
+ $raw = $params->b('raw', false);
$user = $params->v('user');
+ $profile = $params->v('profile');
+
if (is_int($user) || ctype_digit($user)) {
$user = User::getWithUID($user);
}
- $name = pl_entities($user->directoryName());
- if ($with_sex && $user->isFemale()) {
- $name = '•' . $name;
+ if ($with_dir) {
+ $name = pl_entities($user->directoryName());
+ } else {
+ $name = pl_entities($user->fullName());
}
if ($with_promo) {
- $promo = $user->promo();
+ $promo = $user->category();
if ($promo) {
$name .= ' (' . pl_entities($promo) . ')';
}
}
+ if ($raw) {
+ return $name;
+ }
+
+ if ($with_sex && $user->isFemale()) {
+ $name = '•' . $name;
+ }
if ($with_link) {
- $profile = ($user instanceof Profile) ? $user : $user->profile();
+ if (is_null($profile)) {
+ $profile = $user->profile();
+ }
+
if ($profile) {
$name = '<a href="profile/' . $profile->hrid() . '" class="popup2">' . $name . '</a>';
}
}
- if ($user->lost) {
+ if ($profile && $profile->isDead()) {
+ $name .= ' †';
+ } else if ($user->lost) {
$name .= ' <a href="https://www.polytechnique.org/marketing/broken/' . $user->hruid . '"><img src="images/icons/error.gif" alt="Patte cassée" /></a>';
}
if ($with_groupperms && $user instanceof User && $user->group_perms == 'admin' && !empty($name)) {
return $name;
}
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
?>