Class ilObjRoleFolder. More...
Public Member Functions | |
ilObjRoleFolder ($a_id=0, $a_call_by_reference=true) | |
Constructor public. | |
read ($a_force_db=false) | |
read object data from db into object | |
ilClone ($a_parent_ref) | |
copy all properties and subobjects of an rolefolder. | |
delete () | |
delete rolefolder and all related data | |
createRole ($a_title, $a_desc, $a_import_id=0) | |
creates a local role in current rolefolder (this object) | |
purge () | |
checks if rolefolder contains any roles. | |
isDeleted () | |
checks if role folder is in trash private |
Class ilObjRoleFolder.
Definition at line 35 of file class.ilObjRoleFolder.php.
ilObjRoleFolder::createRole | ( | $ | a_title, | |
$ | a_desc, | |||
$ | a_import_id = 0 | |||
) |
creates a local role in current rolefolder (this object)
public
string | title | |
string | description |
Definition at line 125 of file class.ilObjRoleFolder.php.
References $rbacadmin, $rbacreview, ilObject::getRefId(), and ilUtil::stripSlashes().
{ global $rbacadmin, $rbacreview; // check if role title is unique if ($rbacreview->roleExists($a_title)) { $this->ilias->raiseError($this->lng->txt("msg_role_exists1")." '".ilUtil::stripSlashes($a_title)."' ". $this->lng->txt("msg_role_exists2"),$this->ilias->error_obj->MESSAGE); } include_once ("classes/class.ilObjRole.php"); $roleObj = new ilObjRole(); $roleObj->setTitle($a_title); $roleObj->setDescription($a_desc); //echo "aaa-1-"; if ($a_import_id != "") { //echo "aaa-2-".$a_import_id."-"; $roleObj->setImportId($a_import_id); } $roleObj->create(); // ...and put the role into local role folder... $rbacadmin->assignRoleToFolder($roleObj->getId(),$this->getRefId(),"y"); return $roleObj; }
ilObjRoleFolder::delete | ( | ) |
delete rolefolder and all related data
public
Reimplemented from ilObject.
Definition at line 91 of file class.ilObjRoleFolder.php.
References $rbacreview, $role_id, and ilObject::getRefId().
{ // always call parent delete function first!! if (!parent::delete()) { return false; } // put here rolefolder specific stuff global $rbacreview; $roles = $rbacreview->getRolesOfRoleFolder($this->getRefId()); // FIRST DELETE ALL LOCAL/BASE ROLES OF FOLDER foreach ($roles as $role_id) { $roleObj =& $this->ilias->obj_factory->getInstanceByObjId($role_id); $roleObj->setParent($this->getRefId()); $roleObj->delete(); unset($roleObj); } // always call parent delete function at the end!! return true; }
ilObjRoleFolder::ilClone | ( | $ | a_parent_ref | ) |
copy all properties and subobjects of an rolefolder.
DISABLED public
Reimplemented from ilObject.
Definition at line 67 of file class.ilObjRoleFolder.php.
References $rbacadmin.
{ // DISABLED // DO NOTHING ROLE FOLDERS AREN'T COPIED // $new_ref_id = parent::ilClone($a_parent_ref); return false; global $rbacadmin; // always call parent ilClone function first!! $new_ref_id = parent::ilClone($a_parent_ref); // put here rolefolder specific stuff // ... and finally always return new reference ID!! return $new_ref_id; }
ilObjRoleFolder::ilObjRoleFolder | ( | $ | a_id = 0 , |
|
$ | a_call_by_reference = true | |||
) |
Constructor public.
integer | reference_id or object_id | |
boolean | treat the id as reference_id (true) or object_id (false) |
Definition at line 43 of file class.ilObjRoleFolder.php.
References ilObject::ilObject().
{ $this->type = "rolf"; $this->ilObject($a_id,$a_call_by_reference); }
ilObjRoleFolder::isDeleted | ( | ) |
checks if role folder is in trash private
Definition at line 192 of file class.ilObjRoleFolder.php.
Referenced by purge().
{ $q = "SELECT tree FROM tree WHERE child='".$this->getRefId()."'"; $row = $this->ilias->db->getRow($q); if ($row->tree < 0) { return $row->tree; } return false; }
ilObjRoleFolder::purge | ( | ) |
checks if rolefolder contains any roles.
if not the rolefolder is deleted public
Definition at line 159 of file class.ilObjRoleFolder.php.
References $rbacadmin, $rbacreview, $tree, ilObject::getRefId(), and isDeleted().
{ global $rbacreview, $rbacadmin, $tree; $local_roles = $rbacreview->getRolesOfRoleFolder($this->getRefId()); if (count($local_roles) == 0) { $rbacadmin->revokePermission($this->getRefId()); if ($tree_id = $this->isDeleted()) { $deleted_tree = new ilTree ($tree_id,- (int) $tree_id); $deleted_tree->deleteTree($deleted_tree->getNodeData($this->getRefId())); } else { $tree->deleteTree($tree->getNodeData($this->getRefId())); } $this->delete(); return true; } return false; }
ilObjRoleFolder::read | ( | $ | a_force_db = false |
) |
read object data from db into object
boolean | public |
Reimplemented from ilObject.
Definition at line 49 of file class.ilObjRoleFolder.php.
References ilObject::getId(), ilObject::setDescription(), and ilObject::setTitle().
{ parent::read(); if ($this->getId() != ROLE_FOLDER_ID) { $this->setDescription($this->lng->txt("obj_".$this->getType()."_local_desc").$this->getTitle().$this->getDescription()); $this->setTitle($this->lng->txt("obj_".$this->getType()."_local")); } }