ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilGroupLP.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once "Services/Object/classes/class.ilObjectLP.php";
6 
14 class ilGroupLP extends ilObjectLP
15 {
16  public static function getDefaultModes($a_lp_active)
17  {
18  if (!$a_lp_active) {
19  return array(
21  );
22  } else {
23  return array(
26  );
27  }
28  }
29 
30  public function getDefaultMode()
31  {
33  }
34 
35  public function getValidModes()
36  {
37  return array(
41  );
42  }
43 
44  public function getMembers($a_search = true)
45  {
46  include_once 'Modules/Group/classes/class.ilGroupParticipants.php';
47  $member_obj = ilGroupParticipants::_getInstanceByObjId($this->obj_id);
48  return $member_obj->getMembers();
49  }
50 
51  protected static function isLPMember(array &$a_res, $a_usr_id, $a_obj_ids)
52  {
53  global $ilDB;
54 
55  // will only find objects with roles for user!
56  // see ilParticipants::_getMembershipByType()
57  $query = " SELECT DISTINCT obd.obj_id, obd.type, obd2.title" .
58  " FROM rbac_ua ua" .
59  " JOIN rbac_fa fa ON (ua.rol_id = fa.rol_id)" .
60  " JOIN object_reference obr ON (fa.parent = obr.ref_id)" .
61  " JOIN object_data obd ON (obr.obj_id = obd.obj_id)" .
62  " JOIN object_data obd2 ON (ua.rol_id = obd2.obj_id)" .
63  " WHERE obd.type = " . $ilDB->quote("grp", "text") .
64  " AND fa.assign = " . $ilDB->quote("y", "text") .
65  " AND ua.usr_id = " . $ilDB->quote($a_usr_id, "integer") .
66  " AND " . $ilDB->in("obd.obj_id", $a_obj_ids, "", "integer");
67  $set = $ilDB->query($query);
68  while ($row = $ilDB->fetchAssoc($set)) {
69  $role = $row["title"];
70  if (!stristr($role, "il_" . $row["type"] . "_admin_") &&
71  !stristr($role, "il_" . $row["type"] . "_tutor_")) {
72  $a_res[$row["obj_id"]] = true;
73  }
74  }
75 
76  return true;
77  }
78 }
static isLPMember(array &$a_res, $a_usr_id, $a_obj_ids)
$query
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
Create styles array
The data for the language used.
global $ilDB
getMembers($a_search=true)
static getDefaultModes($a_lp_active)