30 $ilias = $DIC[
'ilias'];
31 $objDefinition = $DIC[
'objDefinition'];
34 $ilCtrl = $DIC[
'ilCtrl'];
45 $this->objDefinition = &$objDefinition;
48 $this->lng->loadLanguageModule(
"rbac");
50 $this->ctrl = &$ilCtrl;
52 $this->gui_obj = $a_gui_obj;
54 $this->roles = array();
67 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
69 $form->setFormAction($this->ctrl->getFormAction($this,
"owner"));
70 $form->setTitle($this->lng->txt(
"info_owner_of_object"));
73 $login->setDataSource($this->ctrl->getLinkTargetByClass(array(get_class($this),
74 'ilRepositorySearchGUI'),
'doUserAutoComplete',
'',
true));
77 $login->setInfo($this->lng->txt(
"chown_warning"));
81 $form->addCommandButton(
"changeOwner", $this->lng->txt(
"change_owner"));
83 $this->tpl->setContent($form->getHTML());
90 $rbacsystem = $DIC[
'rbacsystem'];
91 $ilObjDataCache = $DIC[
'ilObjDataCache'];
100 if ($user_id != $this->gui_obj->object->getOwner()) {
101 $this->gui_obj->object->setOwner($user_id);
102 $this->gui_obj->object->updateOwner();
103 $ilObjDataCache->deleteCachedEntry($this->gui_obj->object->getId());
105 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
111 ilUtil::sendSuccess($this->lng->txt(
'owner_updated'),
true);
113 if (!$rbacsystem->checkAccess(
"edit_permission", $this->gui_obj->object->getRefId())) {
114 $this->ctrl->redirect($this->gui_obj);
118 $this->ctrl->redirect($this,
'owner');
127 $ilTabs = $DIC[
'ilTabs'];
129 $perm = ($a_cmd ==
'perm') ?
true :
false;
131 $info = ($a_cmd ==
'perminfo') ?
true :
false;
132 $owner = ($a_cmd ==
'owner') ?
true :
false;
133 $log = ($a_cmd ==
'log') ?
true :
false;
135 $ilTabs->addSubTabTarget(
136 "permission_settings",
137 $this->ctrl->getLinkTarget($this,
"perm"),
148 $ilTabs->addSubTabTarget(
150 $this->ctrl->getLinkTargetByClass(array(get_class($this),
"ilobjectpermissionstatusgui"),
"perminfo"),
156 $ilTabs->addSubTabTarget(
158 $this->ctrl->getLinkTarget($this,
"owner"),
165 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
167 $ilTabs->addSubTabTarget(
169 $this->ctrl->getLinkTarget($this,
"log"),
180 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
182 $this->ctrl->redirect($this,
"perm");
187 include_once
"Services/AccessControl/classes/class.ilRbacLogTableGUI.php";
188 $table =
new ilRbacLogTableGUI($this,
"log", $this->gui_obj->object->getRefId());
189 $this->tpl->setContent($table->getHTML());
194 include_once
"Services/AccessControl/classes/class.ilRbacLogTableGUI.php";
195 $table =
new ilRbacLogTableGUI($this,
"log", $this->gui_obj->object->getRefId());
197 $table->writeFilterToSession();
203 include_once
"Services/AccessControl/classes/class.ilRbacLogTableGUI.php";
204 $table =
new ilRbacLogTableGUI($this,
"log", $this->gui_obj->object->getRefId());
206 $table->resetFilter();
static _lookupLogin($a_user_id)
lookup login
const PEAR_ERROR_CALLBACK
resetOffset($a_in_determination=false)
Reset offset.
static _lookupId($a_user_str)
Lookup id by login.
static getInstance()
Get instance.
const TAB_POSITION_PERMISSION_SETTINGS
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
Class ilPermissionGUI RBAC related output.