ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilUserUtil.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
13 {
25  static function getNamePresentation($a_user_id,
26  $a_user_image = false, $a_profile_link = false, $a_profile_back_link = "",
27  $a_force_first_lastname = false, $a_omit_login = false, $a_sortable = true)
28  {
29  global $lng, $ilCtrl, $ilDB;
30 
31  if (!($return_as_array = is_array($a_user_id)))
32  $a_user_id = array($a_user_id);
33 
34  $sql = 'SELECT
35  a.usr_id,
36  firstname,
37  lastname,
38  title,
39  login,
40  b.value public_profile,
41  c.value public_title
42  FROM
43  usr_data a
44  LEFT JOIN
45  usr_pref b ON
46  (a.usr_id = b.usr_id AND
47  b.keyword = %s)
48  LEFT JOIN
49  usr_pref c ON
50  (a.usr_id = c.usr_id AND
51  c.keyword = %s)
52  WHERE ' . $ilDB->in('a.usr_id', $a_user_id, false, 'integer');
53 
54  $userrow = $ilDB->queryF($sql, array('text', 'text'), array('public_profile', 'public_title'));
55 
56  $names = array();
57 
58  while ($row = $ilDB->fetchObject($userrow))
59  {
60  if ($a_force_first_lastname ||
61  $has_public_profile = in_array($row->public_profile, array("y", "g")))
62  {
63  $title = "";
64  if($row->public_title == "y" && $row->title)
65  {
66  $title = $row->title . " ";
67  }
68  if($a_sortable)
69  {
70  $pres = $row->lastname;
71  if(strlen($row->firstname))
72  {
73  $pres .= (', '.$row->firstname.' ');
74  }
75  }
76  else
77  {
78  $pres = $title;
79  if(strlen($row->firstname))
80  {
81  $pres .= $row->firstname.' ';
82  }
83  $pres .= ($row->lastname.' ');
84  }
85 
86  }
87 
88  if(!$a_omit_login)
89  {
90  $pres.= "[".$row->login."]";
91  }
92 
93  if ($a_profile_link && $has_public_profile)
94  {
95  $ilCtrl->setParameterByClass("ilpublicuserprofilegui", "user", $row->usr_id);
96  if ($a_profile_back_link != "")
97  {
98  $ilCtrl->setParameterByClass("ilpublicuserprofilegui", "back_url",
99  rawurlencode($a_profile_back_link));
100  }
101  $pres = '<a href="'.$ilCtrl->getLinkTargetByClass("ilpublicuserprofilegui", "getHTML").'">'.$pres.'</a>';
102  }
103 
104  if ($a_user_image)
105  {
106  $img = ilObjUser::_getPersonalPicturePath($row->usr_id, "xxsmall");
107  $pres = '<img border="0" src="'.$img.'" alt="'.$lng->txt("icon").
108  " ".$lng->txt("user_picture").'" /> '.$pres;
109  }
110 
111  $names[$row->usr_id] = $pres;
112  }
113 
114  foreach($a_user_id as $id)
115  {
116  if (!$names[$id])
117  $names[$id] = "unknown";
118  }
119 
120  return $return_as_array ? $names : $names[$a_user_id[0]];
121  }
122 
123 }
124 ?>