ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilForumModerators.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
12 {
13  private $db = null;
14  private $ref_id = 0;
15 
16  public function __construct($a_ref_id)
17  {
18  global $ilDB;
19 
20  $this->db = $ilDB;
21  $this->ref_id = $a_ref_id;
22  }
23 
24  public function addModeratorRole($a_usr_id)
25  {
26  global $rbacreview, $rbacadmin;
27 
28  $role_folder_id = $rbacreview->getRoleFolderIdOfObject($this->ref_id);
29  $role_list = $rbacreview->getRoleListByObject($role_folder_id);
30  foreach ($role_list as $role)
31  {
32  if(strpos($role['title'], 'il_frm_moderator') !== false)
33  {
34  $a_rol_id = $role['obj_id'];
35  break;
36  }
37  }
38 
39  if((int)$a_rol_id)
40  {
41  $user = $rbacadmin->assignUser($a_rol_id, $a_usr_id);
42  return true;
43  }
44 
45  return false;
46  }
47 
48  public function detachModeratorRole($a_usr_id)
49  {
50  global $rbacreview, $rbacadmin;
51 
52  $role_folder_id = $rbacreview->getRoleFolderIdOfObject($this->ref_id);
53  $role_list = $rbacreview->getRoleListByObject($role_folder_id);
54  foreach ($role_list as $role)
55  {
56  if(strpos($role['title'], 'il_frm_moderator') !== false)
57  {
58  $a_rol_id = $role['obj_id'];
59  break;
60  }
61  }
62 
63  if((int)$a_rol_id)
64  {
65  $user = $rbacadmin->deassignUser($a_rol_id, $a_usr_id);
66  return true;
67  }
68 
69  return false;
70  }
71 
72  public function getCurrentModerators()
73  {
74  global $rbacreview;
75 
76  $role_folder = $rbacreview->getRoleFolderOfObject($this->ref_id);
77  $roles = $rbacreview->getRoleListByObject($role_folder['child']);
78  foreach($roles as $role)
79  {
80  if(strpos($role['title'], 'il_frm_moderator') !== false)
81  {
82  $assigned_users = $rbacreview->assignedUsers($role['rol_id']);
83  break;
84  }
85  }
86  return is_array($assigned_users) ? $assigned_users : array();
87  }
88 
89 
90  public function getUsers()
91  {
92  global $rbacreview;
93 
94  $role_folder = $rbacreview->getRoleFolderOfObject($this->ref_id);
95  $roles = $rbacreview->getRoleListByObject($role_folder['child']);
96  foreach($roles as $role)
97  {
98  if(strpos($role['title'], 'il_frm_moderator') !== false)
99  {
100  $assigned_users = $rbacreview->assignedUsers($role['rol_id']);
101  //vd($assigned_users);
102  break;
103  }
104  }
105  return is_array($assigned_users) ? $assigned_users : array();
106  }
107 }
108 
109 ?>