ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilAwarenessUserProviderMemberships.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once("./Services/Awareness/classes/class.ilAwarenessUserProvider.php");
6 
15 {
21  function getProviderId()
22  {
23  return "mmbr_user_grpcrs";
24  }
25 
31  function getTitle()
32  {
33  $this->lng->loadLanguageModule("mmbr");
34  return $this->lng->txt("mmbr_awrn_my_groups_courses");
35  }
36 
42  function getInfo()
43  {
44  $this->lng->loadLanguageModule("crs");
45  return $this->lng->txt("mmbr_awrn_my_groups_courses_info");
46  }
47 
53  function getInitialUserSet()
54  {
55  global $ilDB;
56 
57  $awrn_logger = ilLoggerFactory::getLogger('awrn');
58 
59  include_once("./Services/Membership/classes/class.ilParticipants.php");
60  $groups_and_courses_of_user = ilParticipants::_getMembershipByType($this->getUserId(), array("grp", "crs"));
61 
62  $awrn_logger->debug("Courses and groups of user:'".$this->getUserId()."': ".implode(", ",$groups_and_courses_of_user));
63 
64  $set = $ilDB->query($q = "SELECT DISTINCT usr_id FROM obj_members ".
65  " WHERE ".$ilDB->in("obj_id", $groups_and_courses_of_user, false, "integer"));
66 
67  $awrn_logger->debug($q);
68 
69  $ub = array();
70  while ($rec = $ilDB->fetchAssoc($set))
71  {
72  $ub[] = $rec["usr_id"];
73  }
74 
75  $awrn_logger->debug("Got ".count($ub)." distinct members.");
76 
77  return $ub;
78  }
79 }
80 ?>
getTitle()
Provider title (used in awareness overlay and in administration settings)
getInfo()
Provider info (used in administration settings)
static _getMembershipByType($a_usr_id, $a_type, $a_only_member_role=false)
get membership by type Get course or group membership
A class that provides a collection of users for the awareness tool.
All members of the same courses/groups as the user.
global $ilDB
static getLogger($a_component_id)
Get component logger.