Public Member Functions

ilObjRoleFolder Class Reference

Inheritance diagram for ilObjRoleFolder:
Collaboration diagram for ilObjRoleFolder:

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)
 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

Detailed Description

Definition at line 37 of file class.ilObjRoleFolder.php.


Member Function Documentation

ilObjRoleFolder::createRole ( a_title,
a_desc 
)

creates a local role in current rolefolder (this object)

public

Parameters:
string title
string description
Returns:
object role object

Definition at line 127 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);
                $roleObj->create();
                        
                // ...and put the role into local role folder...
                $rbacadmin->assignRoleToFolder($roleObj->getId(),$this->getRefId(),"y");

                return $roleObj;
        }

Here is the call graph for this function:

ilObjRoleFolder::delete (  ) 

delete rolefolder and all related data

public

Returns:
boolean true if all object data were removed; false if only a references were removed

Reimplemented from ilObject.

Definition at line 93 of file class.ilObjRoleFolder.php.

References $rbacreview, $role_id, $roles, 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;
        }

Here is the call graph for this function:

ilObjRoleFolder::ilClone ( a_parent_ref  ) 

copy all properties and subobjects of an rolefolder.

DISABLED public

Returns:
integer new ref id

Reimplemented from ilObject.

Definition at line 69 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.

Parameters:
integer reference_id or object_id
boolean treat the id as reference_id (true) or object_id (false)

Definition at line 45 of file class.ilObjRoleFolder.php.

References ilObject::ilObject().

        {
                $this->type = "rolf";
                $this->ilObject($a_id,$a_call_by_reference);
        }

Here is the call graph for this function:

ilObjRoleFolder::isDeleted (  ) 

checks if role folder is in trash private

Returns:
integer return negative tree if in trash, otherwise false

Definition at line 188 of file class.ilObjRoleFolder.php.

References $q, and $row.

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;
        }

Here is the caller graph for this function:

ilObjRoleFolder::purge (  ) 

checks if rolefolder contains any roles.

if not the rolefolder is deleted public

Returns:
boolean true if rolefolder is deleted

Definition at line 155 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;
        }

Here is the call graph for this function:

ilObjRoleFolder::read ( a_force_db = false  ) 

read object data from db into object

Parameters:
boolean public

Reimplemented from ilObject.

Definition at line 51 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"));

                }
        }

Here is the call graph for this function:


The documentation for this class was generated from the following file: