Merge remote branch 'origin/platal-1.0.0'
[platal.git] / plugins / function.profile.php
index d686b1c..77909bd 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
 
 function smarty_function_profile($params, &$smarty)
 {
-    $with_promo = isset($params['with_promo']) ? $params['with_promo'] : false;
-    $with_sex   = isset($params['with_sex']) ? $params['with_sex'] : true;
-    $with_link  = isset($params['with_link']) ? $params['with_link'] : true;
-    $with_groupperms = isset($params['with_groupperms']) ? $params['with_groupperms'] : true;
-    $user = $params['user'];
+    $params = new PlDict($params);
+    $with_promo = $params->b('promo', false);
+    $with_sex   = $params->b('sex', true);
+    $with_link  = $params->b('link', true);
+    $with_groupperms = $params->b('groupperms', true);
+    $user = $params->v('user');
+    if (is_int($user) || ctype_digit($user)) {
+        $user = User::getWithUID($user);
+    }
 
-    $name = pl_entities($user->fullName());
+    $name = pl_entities($user->directoryName());
     if ($with_sex && $user->isFemale()) {
         $name = '&bull;' . $name;
     }
@@ -43,7 +47,10 @@ function smarty_function_profile($params, &$smarty)
             $name = '<a href="profile/' . $profile->hrid() . '" class="popup2">' . $name . '</a>';
         }
     }
-    if ($with_groupperms && $user instanceof User && $user->group_perms == 'admin') {
+    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)) {
         $name = '<strong>' . $name . '</strong>';
     }
     return $name;