ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilObjRoleTemplate.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
24require_once "./Services/Object/classes/class.ilObject.php";
25
35{
42 public function __construct($a_id = 0, $a_call_by_reference = false)
43 {
44 $this->type = "rolt";
45 parent::__construct($a_id, $a_call_by_reference);
46 }
47
52 public function getPresentationTitle() : string
53 {
55
56 if ($r === $this->getUntranslatedTitle()) {
57 return $r;
58 }
59
60 return $r . ' (' . $this->getUntranslatedTitle() . ')';
61 }
62
69 public function delete()
70 {
71 // put here role template specific stuff
72 global $DIC;
73
74 $rbacadmin = $DIC['rbacadmin'];
75
76 // delete rbac permissions
77 $rbacadmin->deleteTemplate($this->getId(), $_GET["ref_id"]);
78
79 // always call parent delete function at the end!!
80 return (parent::delete()) ? true : false;
81 }
82
83 public function isInternalTemplate()
84 {
85 if (substr($this->getTitle(), 0, 3) == "il_") {
86 return true;
87 }
88
89 return false;
90 }
91
93 {
94 global $DIC;
95
96 $objDefinition = $DIC['objDefinition'];
97
98 $filter = array();
99
100 switch ($this->getTitle()) {
101 case "il_grp_admin":
102 case "il_grp_member":
103 case "il_grp_status_closed":
104 case "il_grp_status_open":
105 $obj_data = $objDefinition->getSubObjects('grp', false);
106 unset($obj_data["rolf"]);
107 $filter = array_keys($obj_data);
108 $filter[] = 'grp';
109 break;
110
111 case "il_crs_admin":
112 case "il_crs_tutor":
113 case "il_crs_member":
114 case "il_crs_non_member":
115 $obj_data = $objDefinition->getSubObjects('crs', false);
116 unset($obj_data["rolf"]);
117 $filter = array_keys($obj_data);
118 $filter[] = 'crs';
119 break;
120 case "il_frm_moderator":
121 $filter[] = 'frm';
122 break;
123 case "il_chat_moderator":
124 $filter[] = 'chtr';
125 break;
126 }
127
128 return $filter;
129 }
130} // END class.ilObjRoleTemplate
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
Class ilObjRoleTemplate.
getPresentationTitle()
For autogenerated role templates this returns 'Translated Title (untranslated title)'.
__construct($a_id=0, $a_call_by_reference=false)
Constructor @access public.
static _getTranslation($a_role_title)
Class ilObject Basic functions for all objects.
getId()
get object id @access public
getUntranslatedTitle()
get untranslated object title @access public
getTitle()
get object title @access public
global $DIC
Definition: goto.php:24
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc