ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjGroup Class Reference

Class ilObjGroup. More...

+ Inheritance diagram for ilObjGroup:
+ Collaboration diagram for ilObjGroup:

Public Member Functions

 __construct ($a_id=0, $a_call_by_reference=true)
 Constructor public.
 setInformation ($a_information)
 set information
 getInformation ()
 get Information
 setGroupType ($a_type)
 set group type
 getGroupType ()
 get group type
 isGroupTypeModified ($a_old_type)
 check if group type is modified
 setRegistrationType ($a_type)
 set registration type
 getRegistrationType ()
 get registration type
 isRegistrationEnabled ()
 is registration enabled
 enableUnlimitedRegistration ($a_status)
 enable unlimited registration
 isRegistrationUnlimited ()
 is registration unlimited
 setRegistrationStart ($a_start)
 set registration start
 getRegistrationStart ()
 get registration start
 setRegistrationEnd ($a_end)
 set registration end
 getRegistrationEnd ()
 get registration end
 setPassword ($a_pass)
 set password
 getPassword ()
 get password
 enableMembershipLimitation ($a_status)
 enable max member limitation
 isMembershipLimited ()
 is max member limited
 setMaxMembers ($a_max)
 set max members
 getMaxMembers ()
 get max members
 enableWaitingList ($a_status)
 enable waiting list
 isWaitingListEnabled ()
 is waiting list enabled
 setLatitude ($a_latitude)
 Set Latitude.
 getLatitude ()
 Get Latitude.
 setLongitude ($a_longitude)
 Set Longitude.
 getLongitude ()
 Get Longitude.
 setLocationZoom ($a_locationzoom)
 Set LocationZoom.
 getLocationZoom ()
 Get LocationZoom.
 setEnableGroupMap ($a_enablemap)
 Set Enable Group Map.
 getEnableGroupMap ()
 Get Enable Group Map.
 validate ()
 validate group settings
 create ()
 Create group.
 update ()
 Update group.
 delete ()
 delete group and all related data
 read ()
 Read group.
 cloneObject ($a_target_id, $a_copy_id=0)
 Clone group (no member data)
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies (crs items, preconditions)
 cloneAutoGeneratedRoles ($new_obj)
 Clone group admin and member role permissions.
 join ($a_user_id, $a_mem_role="")
 join Group, assigns user to role private
 getDefaultMemberRole ()
 returns object id of created default member role public
 getDefaultAdminRole ()
 returns object id of created default adminstrator role public
 addMember ($a_user_id, $a_mem_role)
 add Member to Group public
 leaveGroup ()
 is called when a member decides to leave group public
 leave ($a_user_id)
 deassign member from group role private
 getGroupMemberIds ()
 get all group Member ids regardless of role public
 getGroupMemberData ($a_mem_ids, $active=1)
 get all group Members regardless of group role.
 getCountMembers ()
 getGroupAdminIds ($a_grpId="")
 get Group Admin Id public
 getDefaultGroupRoles ($a_grp_id="")
 get default group roles, returns the defaultlike create roles il_grp_member, il_grp_admin public
 getLocalGroupRoles ($a_translate=false)
 get ALL local roles of group, also those created and defined afterwards only fetch data once from database.
 getGrpStatusClosedTemplateId ()
 get group status closed template public
 getGrpStatusOpenTemplateId ()
 get group status open template public
 setExpirationDateTime ($a_date)
 set Expiration Date and Time public
 getExpiration ()
 Get expiration.
 getExpirationTimestamp ()
 updateGroupType ()
 Change group type.
 initGroupStatus ($a_grpStatus=GRP_TYPE_PUBLIC)
 set group status
 setGroupStatus ($a_status)
 Set group status.
 getGroupStatus ()
 get group status
 readGroupStatus ()
 get group status, redundant method because public
 getMemberRoles ($a_user_id)
 get group member status public
 getMemberRolesTitle ($a_user_id)
 get group member status public
 isAdmin ($a_userId)
 is Admin public
 initDefaultRoles ()
 init default roles settings public
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event happend, each object may decide how it reacts.
 exportXML ()
 deleteExportFiles ($a_files)
 downloadExportFile ($file)
 _lookupIdByTitle ($a_title)
 _isMember ($a_user_id, $a_ref_id, $a_field= '')
 _getMembers ($a_obj_id)
 getViewMode ()
 get view mode
 addAdditionalSubItemInformation (&$a_item_data)
 Add additional information to sub item, e.g.
 __initFileObject ()
 getMessage ()
 setMessage ($a_message)
 appendMessage ($a_message)
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public.
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not)
 read ($a_force_db=false)
 read object data from db into object
 getId ()
 get object id public
 setId ($a_id)
 set object id public
 setRefId ($a_id)
 set reference id public
 getRefId ()
 get reference id public
 getType ()
 get object type public
 setType ($a_type)
 set object type public
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions
 getTitle ()
 get object title public
 getUntranslatedTitle ()
 get untranslated object title public
 setTitle ($a_title)
 set object title
 getDescription ()
 get object description
 setDescription ($a_desc)
 set object description
 getLongDescription ()
 get object long description (stored in object_description)
 getImportId ()
 get import id
 setImportId ($a_import_id)
 set import id
 _lookupObjIdByImportId ($a_import_id)
 getOwner ()
 get object owner
 getOwnerName ()
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id
 setOwner ($a_owner)
 set object owner
 getCreateDate ()
 get create date public
 getLastUpdateDate ()
 get last update date public
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class)
 MDUpdateListener ($a_element)
 Meta data update listener.
 createMetaData ()
 create meta data entry
 updateMetaData ()
 update meta data entry
 deleteMetaData ()
 delete meta data entry
 updateOwner ()
 update owner of object in db
 _getIdForImportId ($a_import_id)
 get current object id for import id (static)
 _getAllReferences ($a_id)
 get all reference ids of object
 _lookupTitle ($a_id)
 lookup object title
 _lookupDescription ($a_id)
 lookup object description
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects.
 _lookupObjId ($a_id)
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static)
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static)
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static)
 _lookupType ($a_id, $a_reference=false)
 lookup object type
 _isInTrash ($a_ref_id)
 checks wether object is in trash
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash
 _lookupObjectId ($a_ref_id)
 lookup object id
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!?
 setPermissions ($a_parent_ref)
 set permissions of object
 createReference ()
 creates reference for object
 countReferences ()
 count references of object
 createRoleFolder ()
 creates a local role folder
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 getXMLZip ()
 getHTMLDirectory ()
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container.
 cloneMetaData ($target_obj)
 Copy meta data.
- Public Member Functions inherited from ilContainer
 ilContainer ($a_id=0, $a_call_by_reference=true)
 Constructor public.
 createContainerDirectory ()
 Create directory for the container.
 getContainerDirectory ()
 Get the container directory.
 _getContainerDirectory ($a_id)
 Get the container directory.
 getBigIconPath ()
 Get path for big icon.
 getSmallIconPath ()
 Get path for small icon.
 getTinyIconPath ()
 Get path for tiny icon.
 setHiddenFilesFound ($a_hiddenfilesfound)
 Set Found hidden files (set by getSubItems).
 getHiddenFilesFound ()
 Get Found hidden files (set by getSubItems).
 _lookupContainerSetting ($a_id, $a_keyword)
 Lookup a container setting.
 _writeContainerSetting ($a_id, $a_keyword, $a_value)
 _lookupIconPath ($a_id, $a_size="big")
 lookup icon path
 saveIcons ($a_big_icon, $a_small_icon, $a_tiny_icon)
 save container icons
 removeBigIcon ()
 remove big icon
 removeSmallIcon ()
 remove small icon
 removeTinyIcon ()
 remove tiny icon
 getFirstColumn ()
 Get right column.
 cloneAllObject ($session_id, $client_id, $new_type, $ref_id, $clone_source, $options, $soap_call=false)
 clone all objects according to this container
 getOrderType ()
 Get order type default implementation.
 setOrderType ($a_value)
 getSubItems ($a_include_hidden_files=false, $a_include_side_block=false)
 Get subitems of container.
 gotItems ()
 Check whether we got any items.
 getGroupedObjTypes ()
 Get grouped repository object types.
 enablePageEditing ()
 Check whether page editing is allowed for container.

Static Public Member Functions

 _importFromXMLString ($xml, $parent_id)
 Static used for importing a group from xml string.
 _importFromFile ($file, $parent_id)
 Static used for importing an group from xml zip file.
 _search (&$a_search_obj)
 STATIC METHOD search for group data.
 _getLinkToObject ($a_id)
 STATIC METHOD create a link to the object.
- Static Public Member Functions inherited from ilObject
static _getIdsForTitle ($title, $type= '')
 _exists ($a_id, $a_reference=false)
 checks if an object exists in object_data
static _getObjectsByType ($a_obj_type="")
 Get objects by type.
static _prepareCloneSelection ($a_ref_ids, $new_type)
 Prepare copy wizard object selection.
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)

Data Fields

const CAL_REG_START = 1
const CAL_REG_END = 2
const ERR_MISSING_TITLE = 'msg_no_title'
const ERR_MISSING_GROUP_TYPE = 'grp_missing_grp_type'
const ERR_MISSING_PASSWORD = 'grp_missing_password'
const ERR_WRONG_MAX_MEMBERS = 'grp_wrong_max_members'
const ERR_WRONG_REG_TIME_LIMIT = 'grp_wrong_reg_time_limit'
 $members_obj
 $file_obj = null
 Group file object for handling of export files.
 $m_grpStatus
 $m_roleMemberId
 $m_roleAdminId
- Data Fields inherited from ilObject
 $ilias
 $lng
 $id
 $ref_id
 $type
 $title
 $untranslatedTitle
 $desc
 $long_desc
 $owner
 $create_date
 $last_update
 $import_id
 $register = false
 $referenced
 $objectList
 $max_title
 $max_desc
 $add_dots
 $obj_data_record
 object_data record
- Data Fields inherited from ilContainer
const VIEW_SESSIONS = 0
const VIEW_OBJECTIVE = 1
const VIEW_TIMING = 2
const VIEW_ARCHIVE = 3
const VIEW_SIMPLE = 4
const VIEW_BY_TYPE = 5
const VIEW_INHERIT = 6
const VIEW_ILINC = 7
const SORT_TITLE = 0
const SORT_MANUAL = 1
const SORT_ACTIVATION = 2

Protected Member Functions

 prepareAppointments ($a_mode= 'create')
 Prepare calendar appointments.
 initParticipants ()
 init participants object

Protected Attributes

 $information
 $group_type = null
 $reg_type = GRP_REGISTRATION_DIRECT
 $reg_enabled = true
 $reg_unlimited = true
 $reg_start = null
 $reg_end = null
 $reg_password = ''
 $reg_membership_limitation = false
 $reg_max_members = 0
 $waiting_list = false
 $latitude
 $longitude
 $location_zoom
 $enablemap
- Protected Attributes inherited from ilContainer
 $order_type = 0
 $hiddenfilesfound = false

Detailed Description

Class ilObjGroup.

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e
Sascha Hofmann sasch.nosp@m.ahof.nosp@m.mann@.nosp@m.gmx..nosp@m.de
Version
Id:
class.ilObjGroup.php 23028 2010-02-22 14:41:17Z smeyer

Definition at line 54 of file class.ilObjGroup.php.

Constructor & Destructor Documentation

ilObjGroup::__construct (   $a_id = 0,
  $a_call_by_reference = true 
)

Constructor public.

Parameters
integerreference_id or object_id
booleantreat the id as reference_id (true) or object_id (false)

Definition at line 105 of file class.ilObjGroup.php.

References ilObject\ilObject(), and ilObject\setRegisterMode().

{
global $tree;
$this->tree =& $tree;
$this->type = "grp";
$this->ilObject($a_id,$a_call_by_reference);
$this->setRegisterMode(true); // ???
}

+ Here is the call graph for this function:

Member Function Documentation

ilObjGroup::__initFileObject ( )

Definition at line 1859 of file class.ilObjGroup.php.

References $file_obj.

Referenced by deleteExportFiles(), downloadExportFile(), and exportXML().

{
if($this->file_obj)
{
}
else
{
include_once 'classes/class.ilFileDataGroup.php';
return $this->file_obj = new ilFileDataGroup($this);
}
}

+ Here is the caller graph for this function:

ilObjGroup::_getLinkToObject (   $a_id)
static

STATIC METHOD create a link to the object.

Parameters
intuniq id
Returns
array array('link','target') public

Definition at line 1713 of file class.ilObjGroup.php.

{
return array("repository.php?ref_id=".$a_id."&set_mode=flat&cmdClass=ilobjgroupgui","");
}
ilObjGroup::_getMembers (   $a_obj_id)

Definition at line 1783 of file class.ilObjGroup.php.

References ilObject\$ref_id, and ilObject\_getAllReferences().

Referenced by ilLPStatusManualByTutor\__getGroupInProgress(), ilLPStatusManual\__getGroupInProgress(), ilLPStatusCollection\_getCompleted(), ilLPStatusCollection\_getFailed(), ilLPStatusCollection\_getInProgress(), ilLPStatusManual\_getNotAttempted(), ilLPStatusCollection\_getNotAttempted(), ilLPStatusManualByTutor\_getNotAttempted(), and _isMember().

{
global $rbacreview;
// get reference
$ref_ids = ilObject::_getAllReferences($a_obj_id);
$ref_id = current($ref_ids);
$rolf = $rbacreview->getRoleFolderOfObject($ref_id);
$local_roles = $rbacreview->getRolesOfRoleFolder($rolf['ref_id'],false);
$users = array();
foreach($local_roles as $role_id)
{
$users = array_merge($users,$rbacreview->assignedUsers($role_id));
}
return array_unique($users);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::_importFromFile (   $file,
  $parent_id 
)
static

Static used for importing an group from xml zip file.

Parameters
xmlfile array structure like $_FILE from upload public

Definition at line 1648 of file class.ilObjGroup.php.

References $file_obj, ilObject\$lng, and _importFromXMLString().

Referenced by ilObjGroupGUI\importFileObject().

{
global $lng;
include_once 'classes/class.ilFileDataGroup.php';
$file_obj->addImportDirectory();
$file_obj->createImportFile($_FILES["xmldoc"]["tmp_name"],$_FILES['xmldoc']['name']);
$file_obj->unpackImportFile();
if(!$file_obj->validateImportFile())
{
return false;
}
return ilObjGroup::_importFromXMLString(file_get_contents($file_obj->getImportFile()),$parent_id);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::_importFromXMLString (   $xml,
  $parent_id 
)
static

Static used for importing a group from xml string.

Parameters
xmlstring public

Definition at line 1632 of file class.ilObjGroup.php.

Referenced by _importFromFile().

{
include_once 'Modules/Group/classes/class.ilGroupXMLParser.php';
$import_parser = new ilGroupXMLParser($xml,$parent_id);
return $import_parser->startParsing();
}

+ Here is the caller graph for this function:

ilObjGroup::_isMember (   $a_user_id,
  $a_ref_id,
  $a_field = '' 
)

Definition at line 1733 of file class.ilObjGroup.php.

References $res, _getMembers(), ilObjectFactory\getInstanceByObjId(), and ilUtil\quoteArray().

Referenced by ilObjCourseGrouping\_checkGroupingDependencies().

{
global $rbacreview,$ilObjDataCache,$ilDB;
$rolf = $rbacreview->getRoleFolderOfObject($a_ref_id);
$local_roles = $rbacreview->getRolesOfRoleFolder($rolf["ref_id"],false);
$user_roles = $rbacreview->assignedRoles($a_user_id);
// Used for membership limitations -> check membership by given field
if($a_field)
{
include_once './Services/User/classes/class.ilObjUser.php';
$tmp_user =& ilObjectFactory::getInstanceByObjId($a_user_id);
switch($a_field)
{
case 'login':
$and = "AND login = '".$tmp_user->getLogin()."' ";
break;
case 'email':
$and = "AND email = '".$tmp_user->getEmail()."' ";
break;
case 'matriculation':
$and = "AND matriculation = '".$tmp_user->getMatriculation()."' ";
break;
default:
$and = "AND usr_id = '".$a_user_id."'";
break;
}
if(!$members = ilObjGroup::_getMembers($ilObjDataCache->lookupObjId($a_ref_id)))
{
return false;
}
$query = "SELECT * FROM usr_data as ud ".
"WHERE usr_id IN (".implode(",",ilUtil::quoteArray($members)).") ".
$and;
$res = $ilDB->query($query);
return $res->numRows() ? true : false;
}
if (!array_intersect($local_roles,$user_roles))
{
return false;
}
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::_lookupIdByTitle (   $a_title)

Definition at line 1718 of file class.ilObjGroup.php.

References $res, and DB_FETCHMODE_OBJECT.

Referenced by ilMail\getEmailsOfRecipients(), and ilMail\getUserIds().

{
global $ilDB;
$query = "SELECT * FROM object_data WHERE title = ".
$ilDB->quote($a_title)." AND type = 'grp'";
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
return $row->obj_id;
}
return 0;
}

+ Here is the caller graph for this function:

ilObjGroup::_search ( $a_search_obj)
static

STATIC METHOD search for group data.

This method is called from class.ilSearch This method used by class.ilSearchGUI.php to a link to the results

Parameters
objectobject of search class public

Definition at line 1674 of file class.ilObjGroup.php.

References $ilBench, $in, $res, and DB_FETCHMODE_OBJECT.

Referenced by ilSearch\performSearch().

{
global $ilBench;
// NO CLASS VARIABLES IN STATIC METHODS
$where_condition = $a_search_obj->getWhereCondition("like",array("title","description"));
$in = $a_search_obj->getInStatement("ore.ref_id");
$query = "SELECT ore.ref_id AS ref_id FROM object_data AS od, object_reference AS ore ".
$where_condition." ".
$in." ".
"AND od.obj_id = ore.obj_id ".
"AND od.type = 'grp' ";
$ilBench->start("Search", "ilObjGroup_search");
$res = $a_search_obj->ilias->db->query($query);
$ilBench->stop("Search", "ilObjGroup_search");
$counter = 0;
while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$result_data[$counter++]["id"] = $row->ref_id;
#$result_data[$counter]["link"] = "group.php?cmd=view&ref_id=".$row->ref_id;
#$result_data[$counter++]["target"] = "";
}
return $result_data ? $result_data : array();
}

+ Here is the caller graph for this function:

ilObjGroup::addAdditionalSubItemInformation ( $a_item_data)

Add additional information to sub item, e.g.

used in courses for timings information etc.

Reimplemented from ilContainer.

Definition at line 1835 of file class.ilObjGroup.php.

References ilObject\getRefId().

{
global $tree;
static $items = null;
if(!is_object($items[$this->getRefId()]))
{
if ($course_ref_id = $tree->checkForParentType($this->getRefId(),'crs'))
{
include_once("./Modules/Course/classes/class.ilObjCourse.php");
include_once("./Modules/Course/classes/class.ilCourseItems.php");
$course_obj = new ilObjCourse($course_ref_id);
$items[$this->getRefId()] = new ilCourseItems($course_obj, $this->getRefId());
}
}
if(is_object($items[$this->getRefId()]))
{
$items[$this->getRefId()]->addAdditionalSubItemInformation($a_item_data);
}
}

+ Here is the call graph for this function:

ilObjGroup::addMember (   $a_user_id,
  $a_mem_role 
)

add Member to Group public

Parameters
integeruser_id
integermember role_id of local group_role

Definition at line 822 of file class.ilObjGroup.php.

References join().

{
global $rbacadmin;
if (isset($a_user_id) && isset($a_mem_role) )
{
$this->join($a_user_id,$a_mem_role);
return true;
}
else
{
$this->ilias->raiseError(get_class($this)."::addMember(): Missing parameters !",$this->ilias->error_obj->WARNING);
return false;
}
}

+ Here is the call graph for this function:

ilObjGroup::appendMessage (   $a_message)

Definition at line 1881 of file class.ilObjGroup.php.

References getMessage().

{
if($this->getMessage())
{
$this->message .= "<br /> ";
}
$this->message .= $a_message;
}

+ Here is the call graph for this function:

ilObjGroup::cloneAutoGeneratedRoles (   $new_obj)

Clone group admin and member role permissions.

public

Parameters
objectnew group object

Definition at line 743 of file class.ilObjGroup.php.

References $ilLog, getDefaultAdminRole(), getDefaultMemberRole(), and ilObject\getRefId().

Referenced by cloneObject().

{
global $ilLog,$rbacadmin,$rbacreview;
$admin = $this->getDefaultAdminRole();
$new_admin = $new_obj->getDefaultAdminRole();
$source_rolf = $rbacreview->getRoleFolderIdOfObject($this->getRefId());
$target_rolf = $rbacreview->getRoleFolderIdOfObject($new_obj->getRefId());
if(!$admin || !$new_admin || !$source_rolf || !$target_rolf)
{
$ilLog->write(__METHOD__.' : Error cloning auto generated role: il_grp_admin');
}
$rbacadmin->copyRolePermissions($admin,$source_rolf,$target_rolf,$new_admin,true);
$ilLog->write(__METHOD__.' : Finished copying of role il_grp_admin.');
$member = $this->getDefaultMemberRole();
$new_member = $new_obj->getDefaultMemberRole();
if(!$member || !$new_member)
{
$ilLog->write(__METHOD__.' : Error cloning auto generated role: il_grp_member');
}
$rbacadmin->copyRolePermissions($member,$source_rolf,$target_rolf,$new_member,true);
$ilLog->write(__METHOD__.' : Finished copying of role grp_member.');
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::cloneDependencies (   $a_target_id,
  $a_copy_id 
)

Clone object dependencies (crs items, preconditions)

public

Parameters
inttarget ref id of new course
intcopy id

Reimplemented from ilObject.

Definition at line 714 of file class.ilObjGroup.php.

References ilObject\getId(), ilObjectFactory\getInstanceByRefId(), and ilObject\getRefId().

{
global $tree;
parent::cloneDependencies($a_target_id,$a_copy_id);
if($course_ref_id = $tree->checkForParentType($this->getRefId(),'crs') and
$new_course_ref_id = $tree->checkForParentType($a_target_id,'crs'))
{
include_once('Modules/Course/classes/class.ilCourseItems.php');
$course_obj =& ilObjectFactory::getInstanceByRefId($course_ref_id,false);
$course_items = new ilCourseItems($course_obj,$this->getRefId());
$course_items->cloneDependencies($a_target_id,$a_copy_id);
}
include_once('Services/Tracking/classes/class.ilLPCollections.php');
$lp_collection = new ilLPCollections($this->getId());
$lp_collection->cloneCollections($a_target_id,$a_copy_id);
return true;
}

+ Here is the call graph for this function:

ilObjGroup::cloneObject (   $a_target_id,
  $a_copy_id = 0 
)

Clone group (no member data)

public

Parameters
inttarget ref_id
intcopy id

Reimplemented from ilObject.

Definition at line 657 of file class.ilObjGroup.php.

References $ilLog, ilGroupParticipants\_getInstanceByObjId(), cloneAutoGeneratedRoles(), ilContainer\getBigIconPath(), getEnableGroupMap(), getGroupType(), ilObject\getId(), getInformation(), getLatitude(), getLocationZoom(), getLongitude(), getMaxMembers(), getPassword(), getRegistrationEnd(), getRegistrationStart(), ilContainer\getSmallIconPath(), ilContainer\getTinyIconPath(), IL_GRP_ADMIN, isMembershipLimited(), isRegistrationUnlimited(), isWaitingListEnabled(), and readGroupStatus().

{
global $ilDB,$ilUser;
$new_obj = parent::cloneObject($a_target_id,$a_copy_id);
$new_obj->setGroupType($this->getGroupType());
$new_obj->initGroupStatus($this->getGroupType() ? $this->getGroupType() : $this->readGroupStatus());
$this->cloneAutoGeneratedRoles($new_obj);
$new_obj->setInformation($this->getInformation());
$new_obj->setRegistrationStart($this->getRegistrationStart());
$new_obj->setRegistrationEnd($this->getRegistrationEnd());
$new_obj->enableUnlimitedRegistration($this->isRegistrationUnlimited());
$new_obj->setPassword($this->getPassword());
$new_obj->enableMembershipLimitation($this->isMembershipLimited());
$new_obj->setMaxMembers($this->getMaxMembers());
$new_obj->enableWaitingList($this->isWaitingListEnabled());
// map
$new_obj->setLatitude($this->getLatitude());
$new_obj->setLongitude($this->getLongitude());
$new_obj->setLocationZoom($this->getLocationZoom());
$new_obj->setEnableGroupMap($this->getEnableGroupMap());
$new_obj->update();
global $ilLog;
$ilLog->write(__METHOD__.': Starting add user');
// Assign user as admin
include_once('./Modules/Group/classes/class.ilGroupParticipants.php');
$part = ilGroupParticipants::_getInstanceByObjId($new_obj->getId());
$part->add($ilUser->getId(),IL_GRP_ADMIN);
$part->updateNotification($ilUser->getId(),1);
// Copy learning progress settings
include_once('Services/Tracking/classes/class.ilLPObjSettings.php');
$obj_settings = new ilLPObjSettings($this->getId());
$obj_settings->cloneSettings($new_obj->getId());
unset($obj_settings);
// clone icons
$new_obj->saveIcons($this->getBigIconPath(),
$this->getSmallIconPath(),
$this->getTinyIconPath());
return $new_obj;
}

+ Here is the call graph for this function:

ilObjGroup::create ( )

Create group.

Reimplemented from ilObject.

Definition at line 498 of file class.ilObjGroup.php.

References getGroupType(), ilObject\getId(), getInformation(), getRegistrationType(), IL_CAL_DATETIME, isRegistrationUnlimited(), and prepareAppointments().

{
global $ilDB,$ilAppEventHandler;
if(!parent::create())
{
return false;
}
$query = "INSERT INTO grp_settings ".
"SET obj_id = ".$ilDB->quote($this->getId()).", ".
"information = ".$ilDB->quote($this->getInformation()).", ".
"grp_type = ".$ilDB->quote((int) $this->getGroupType()).", ".
"registration_type = ".$ilDB->quote($this->getRegistrationType()).", ".
"registration_enabled = ".($this->isRegistrationEnabled() ? 1 : 0).", ".
"registration_unlimited = ".($this->isRegistrationUnlimited() ? 1 : 0).", ".
"registration_start = ".$ilDB->quote($this->getRegistrationStart()->get(IL_CAL_DATETIME,'')).", ".
"registration_end = ".$ilDB->quote($this->getRegistrationEnd()->get(IL_CAL_DATETIME,'')).", ".
"registration_password = ".$ilDB->quote($this->getPassword()).", ".
"registration_membership_limited = ".$ilDB->quote((int) $this->isMembershipLimited()).", ".
"registration_max_members = ".$ilDB->quote($this->getMaxMembers()).", ".
"waiting_list = ".$ilDB->quote($this->isWaitingListEnabled() ? 1 : 0).", ".
"latitude = ".$ilDB->quote($this->getLatitude()).", ".
"longitude = ".$ilDB->quote($this->getLongitude()).", ".
"location_zoom = ".$ilDB->quote($this->getLocationZoom()).", ".
"enablemap = ".$ilDB->quote($this->getEnableGroupMap())." ";
$ilDB->query($query);
$ilAppEventHandler->raise('Modules/Group',
'create',
array('object' => $this,
'obj_id' => $this->getId(),
'appointments' => $this->prepareAppointments('create')));
return $this->getId();
}

+ Here is the call graph for this function:

ilObjGroup::delete ( )

delete group 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 584 of file class.ilObjGroup.php.

References ilParticipants\_deleteAllEntries(), ilObject\getId(), and prepareAppointments().

{
global $ilDB,$ilAppEventHandler;
// always call parent delete function first!!
if (!parent::delete())
{
return false;
}
$query = "DELETE FROM grp_settings ".
"WHERE obj_id = ".$ilDB->quote($this->getId());
$ilDB->query($query);
include_once('./Modules/Group/classes/class.ilGroupParticipants.php');
$ilAppEventHandler->raise('Modules/Group',
'delete',
array('object' => $this,
'obj_id' => $this->getId(),
'appointments' => $this->prepareAppointments('delete')));
return true;
}

+ Here is the call graph for this function:

ilObjGroup::deleteExportFiles (   $a_files)

Definition at line 1601 of file class.ilObjGroup.php.

References $file, and __initFileObject().

{
$this->__initFileObject();
foreach($a_files as $file)
{
$this->file_obj->deleteFile($file);
}
return true;
}

+ Here is the call graph for this function:

ilObjGroup::downloadExportFile (   $file)

Definition at line 1612 of file class.ilObjGroup.php.

References $file, __initFileObject(), and ilUtil\deliverFile().

{
$this->__initFileObject();
if($abs_name = $this->file_obj->getExportFile($file))
{
// Not reached
}
return false;
}

+ Here is the call graph for this function:

ilObjGroup::enableMembershipLimitation (   $a_status)

enable max member limitation

public

Parameters
boolstatus
Returns

Definition at line 316 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_membership_limitation = $a_status;
}

+ Here is the caller graph for this function:

ilObjGroup::enableUnlimitedRegistration (   $a_status)

enable unlimited registration

public

Parameters
bool
Returns

Definition at line 224 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_unlimited = $a_status;
}

+ Here is the caller graph for this function:

ilObjGroup::enableWaitingList (   $a_status)

enable waiting list

public

Parameters
bool
Returns

Definition at line 361 of file class.ilObjGroup.php.

Referenced by read().

{
$this->waiting_list = $a_status;
}

+ Here is the caller graph for this function:

ilObjGroup::exportXML ( )

Definition at line 1579 of file class.ilObjGroup.php.

References __initFileObject(), and ilObject\getId().

{
include_once 'Modules/Group/classes/class.ilGroupXMLWriter.php';
$xml_writer = new ilGroupXMLWriter($this);
$xml_writer->start();
$xml = $xml_writer->getXML();
$name = time().'__'.$this->ilias->getSetting('inst_id').'__grp_'.$this->getId();
$this->__initFileObject();
$this->file_obj->addGroupDirectory();
$this->file_obj->addDirectory($name);
$this->file_obj->writeToFile($xml,$name.'/'.$name.'.xml');
$this->file_obj->zipFile($name,$name.'.zip');
$this->file_obj->deleteDirectory($name);
return true;
}

+ Here is the call graph for this function:

ilObjGroup::getCountMembers ( )

Definition at line 961 of file class.ilObjGroup.php.

References getGroupMemberIds().

{
return count($this->getGroupMemberIds());
}

+ Here is the call graph for this function:

ilObjGroup::getDefaultAdminRole ( )

returns object id of created default adminstrator role public

Definition at line 809 of file class.ilObjGroup.php.

References getLocalGroupRoles().

Referenced by cloneAutoGeneratedRoles().

{
$local_group_Roles = $this->getLocalGroupRoles();
return $local_group_Roles["il_grp_admin_".$this->getRefId()];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getDefaultGroupRoles (   $a_grp_id = "")

get default group roles, returns the defaultlike create roles il_grp_member, il_grp_admin public

Parameters
returnsthe obj_ids of group specific roles(il_grp_member,il_grp_admin)

Definition at line 1001 of file class.ilObjGroup.php.

References ilObject\getRefId().

Referenced by getGroupAdminIds(), isAdmin(), readGroupStatus(), and updateGroupType().

{
global $rbacadmin, $rbacreview;
if (strlen($a_grp_id) > 0)
{
$grp_id = $a_grp_id;
}
else
{
$grp_id = $this->getRefId();
}
$rolf = $rbacreview->getRoleFolderOfObject($grp_id);
$role_arr = $rbacreview->getRolesOfRoleFolder($rolf["ref_id"]);
foreach ($role_arr as $role_id)
{
$role_Obj =& $this->ilias->obj_factory->getInstanceByObjId($role_id);
$grp_Member ="il_grp_member_".$grp_id;
$grp_Admin ="il_grp_admin_".$grp_id;
if (strcmp($role_Obj->getTitle(), $grp_Member) == 0 )
{
$arr_grpDefaultRoles["grp_member_role"] = $role_Obj->getId();
}
if (strcmp($role_Obj->getTitle(), $grp_Admin) == 0)
{
$arr_grpDefaultRoles["grp_admin_role"] = $role_Obj->getId();
}
}
return $arr_grpDefaultRoles;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getDefaultMemberRole ( )

returns object id of created default member role public

Definition at line 798 of file class.ilObjGroup.php.

References getLocalGroupRoles().

Referenced by cloneAutoGeneratedRoles().

{
$local_group_Roles = $this->getLocalGroupRoles();
return $local_group_Roles["il_grp_member_".$this->getRefId()];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getEnableGroupMap ( )

Get Enable Group Map.

Returns
boolean Enable Group Map

Definition at line 453 of file class.ilObjGroup.php.

References $enablemap.

Referenced by cloneObject().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getExpiration ( )

Get expiration.

public

Parameters

Definition at line 1140 of file class.ilObjGroup.php.

References $res, DB_FETCHMODE_ASSOC, and ilObject\getId().

{
global $ilDB;
$q = "SELECT * FROM grp_data WHERE grp_id= ".
$ilDB->quote($this->getId());
$res = $this->ilias->db->query($q);
$row = $res->fetchRow(DB_FETCHMODE_ASSOC);
return $datetime = $row["expiration"];
}

+ Here is the call graph for this function:

ilObjGroup::getExpirationTimestamp ( )

Definition at line 1152 of file class.ilObjGroup.php.

References $res, DB_FETCHMODE_ASSOC, and ilObject\getId().

{
global $ilDB;
$query = "SELECT UNIX_TIMESTAMP(expiration) as timest FROM grp_data WHERE grp_id = ".
$ilDB->quote($this->getId());
$res = $this->ilias->db->query($query);
$row = $res->fetchRow(DB_FETCHMODE_ASSOC);
return $row['timest'];
}

+ Here is the call graph for this function:

ilObjGroup::getGroupAdminIds (   $a_grpId = "")

get Group Admin Id public

Parameters
integergroup id
returnsuserids that are assigned to a group administrator! role

Definition at line 972 of file class.ilObjGroup.php.

References getDefaultGroupRoles(), and ilObject\getRefId().

Referenced by leaveGroup().

{
global $rbacreview;
if (!empty($a_grpId))
{
$grp_id = $a_grpId;
}
else
{
$grp_id = $this->getRefId();
}
$usr_arr = array();
$roles = $this->getDefaultGroupRoles($this->getRefId());
foreach ($rbacreview->assignedUsers($this->getDefaultAdminRole()) as $member_id)
{
array_push($usr_arr,$member_id);
}
return $usr_arr;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getGroupMemberData (   $a_mem_ids,
  $active = 1 
)

get all group Members regardless of group role.

fetch all users data in one shot to improve performance public

Parameters
arrayof user ids
Returns
return array of userdata

Definition at line 931 of file class.ilObjGroup.php.

References $ilBench, DB_FETCHMODE_OBJECT, and ilUtil\quoteArray().

{
global $rbacadmin, $rbacreview, $ilBench, $ilDB;
$usr_arr= array();
$q = "SELECT login,firstname,lastname,title,usr_id,last_login ".
"FROM usr_data ".
"WHERE usr_id IN (".implode(',',ilUtil::quoteArray($a_mem_ids)).") ";
if (is_numeric($active) && $active > -1)
$q .= "AND active = '$active'";
$q .= 'ORDER BY lastname,firstname';
$r = $ilDB->query($q);
while($row = $r->fetchRow(DB_FETCHMODE_OBJECT))
{
$mem_arr[] = array("id" => $row->usr_id,
"login" => $row->login,
"firstname" => $row->firstname,
"lastname" => $row->lastname,
"last_login" => $row->last_login
);
}
return $mem_arr ? $mem_arr : array();
}

+ Here is the call graph for this function:

ilObjGroup::getGroupMemberIds ( )

get all group Member ids regardless of role public

Returns
return array of users (obj_ids) that are assigned to the groupspecific roles (grp_member,grp_admin)

Definition at line 903 of file class.ilObjGroup.php.

References getLocalGroupRoles().

Referenced by getCountMembers(), and leaveGroup().

{
global $rbacadmin, $rbacreview;
$usr_arr= array();
$rol = $this->getLocalGroupRoles();
foreach ($rol as $value)
{
foreach ($rbacreview->assignedUsers($value) as $member_id)
{
array_push($usr_arr,$member_id);
}
}
$mem_arr = array_unique($usr_arr);
return $mem_arr ? $mem_arr : array();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getGroupStatus ( )

get group status

public

Parameters
intgroup status

Definition at line 1378 of file class.ilObjGroup.php.

{
return $this->group_status;
}
ilObjGroup::getGroupType ( )

get group type

public

Returns
int group type

Definition at line 158 of file class.ilObjGroup.php.

References $group_type.

Referenced by cloneObject(), create(), isGroupTypeModified(), update(), updateGroupType(), and validate().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getGrpStatusClosedTemplateId ( )

get group status closed template public

Parameters
returnobj_id of roletemplate containing permissionsettings for a closed group

Definition at line 1082 of file class.ilObjGroup.php.

References $res, and DB_FETCHMODE_ASSOC.

Referenced by initGroupStatus(), and updateGroupType().

{
$q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_status_closed'";
$res = $this->ilias->db->query($q);
$row = $res->fetchRow(DB_FETCHMODE_ASSOC);
return $row["obj_id"];
}

+ Here is the caller graph for this function:

ilObjGroup::getGrpStatusOpenTemplateId ( )

get group status open template public

Parameters
returnobj_id of roletemplate containing permissionsettings for an open group

Definition at line 1096 of file class.ilObjGroup.php.

References $res, and DB_FETCHMODE_ASSOC.

Referenced by initGroupStatus(), and updateGroupType().

{
$q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_status_open'";
$res = $this->ilias->db->query($q);
$row = $res->fetchRow(DB_FETCHMODE_ASSOC);
return $row["obj_id"];
}

+ Here is the caller graph for this function:

ilObjGroup::getInformation ( )

get Information

public

Parameters
@returnstring information

Definition at line 136 of file class.ilObjGroup.php.

References $information.

Referenced by cloneObject(), create(), and update().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getLatitude ( )

Get Latitude.

Returns
string Latitude

Definition at line 393 of file class.ilObjGroup.php.

References $latitude.

Referenced by cloneObject().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getLocalGroupRoles (   $a_translate = false)

get ALL local roles of group, also those created and defined afterwards only fetch data once from database.

info is stored in object variable public

Returns
return array [title|id] of roles...

Definition at line 1044 of file class.ilObjGroup.php.

References ilObjRole\_getTranslation(), and ilObject\getRefId().

Referenced by getDefaultAdminRole(), getDefaultMemberRole(), getGroupMemberIds(), getMemberRoles(), and getMemberRolesTitle().

{
global $rbacadmin,$rbacreview;
if (empty($this->local_roles))
{
$this->local_roles = array();
$rolf = $rbacreview->getRoleFolderOfObject($this->getRefId());
$role_arr = $rbacreview->getRolesOfRoleFolder($rolf["ref_id"]);
foreach ($role_arr as $role_id)
{
if ($rbacreview->isAssignable($role_id,$rolf["ref_id"]) == true)
{
$role_Obj =& $this->ilias->obj_factory->getInstanceByObjId($role_id);
if ($a_translate)
{
$role_name = ilObjRole::_getTranslation($role_Obj->getTitle());
}
else
{
$role_name = $role_Obj->getTitle();
}
$this->local_roles[$role_name] = $role_Obj->getId();
}
}
}
return $this->local_roles;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getLocationZoom ( )

Get LocationZoom.

Returns
int LocationZoom

Definition at line 433 of file class.ilObjGroup.php.

Referenced by cloneObject().

{
return $this->locationzoom;
}

+ Here is the caller graph for this function:

ilObjGroup::getLongitude ( )

Get Longitude.

Returns
string Longitude

Definition at line 413 of file class.ilObjGroup.php.

References $longitude.

Referenced by cloneObject().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getMaxMembers ( )

get max members

public

Returns

Definition at line 349 of file class.ilObjGroup.php.

References $reg_max_members.

Referenced by cloneObject(), and validate().

+ Here is the caller graph for this function:

ilObjGroup::getMemberRoles (   $a_user_id)

get group member status public

Parameters
integeruser_id
Returns
returns array of obj_ids of assigned local roles

Definition at line 1420 of file class.ilObjGroup.php.

References $ilBench, and getLocalGroupRoles().

Referenced by leave().

{
global $rbacadmin, $rbacreview,$ilBench;
$ilBench->start("Group", "getMemberRoles");
$arr_assignedRoles = array();
$arr_assignedRoles = array_intersect($rbacreview->assignedRoles($a_user_id),$this->getLocalGroupRoles());
$ilBench->stop("Group", "getMemberRoles");
return $arr_assignedRoles;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::getMemberRolesTitle (   $a_user_id)

get group member status public

Parameters
integeruser_id
Returns
returns string of role titles

Definition at line 1441 of file class.ilObjGroup.php.

References $ilBench, ilObjRole\_getTranslation(), DB_FETCHMODE_ASSOC, getLocalGroupRoles(), and ilUtil\quoteArray().

{
global $ilDB,$ilBench;
include_once ('./Services/AccessControl/classes/class.ilObjRole.php');
$ilBench->start("Group", "getMemberRolesTitle");
$str_member_roles ="";
$q = "SELECT title ".
"FROM object_data ".
"LEFT JOIN rbac_ua ON object_data.obj_id=rbac_ua.rol_id ".
"WHERE object_data.type = 'role' ".
"AND rbac_ua.usr_id = ".$ilDB->quote($a_user_id)." ".
"AND rbac_ua.rol_id IN (".implode(',',ilUtil::quoteArray($this->getLocalGroupRoles())).")";
$r = $ilDB->query($q);
while($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
{
// display human readable role names for autogenerated roles
$str_member_roles .= ilObjRole::_getTranslation($row["title"]).", ";
}
$ilBench->stop("Group", "getMemberRolesTitle");
return substr($str_member_roles,0,-2);
}

+ Here is the call graph for this function:

ilObjGroup::getMessage ( )

Definition at line 1873 of file class.ilObjGroup.php.

Referenced by appendMessage().

{
return $this->message;
}

+ Here is the caller graph for this function:

ilObjGroup::getPassword ( )

get password

public

Returns
string password

Definition at line 304 of file class.ilObjGroup.php.

References $reg_password.

Referenced by cloneObject(), and validate().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getRegistrationEnd ( )

get registration end

public

Returns
int registration end

Definition at line 282 of file class.ilObjGroup.php.

References IL_CAL_DATETIME.

Referenced by cloneObject(), prepareAppointments(), and validate().

{
return $this->reg_end ? $this->reg_end : $this->reg_end = new ilDateTime(date('Y-m-d').' 16:00:00',IL_CAL_DATETIME);
}

+ Here is the caller graph for this function:

ilObjGroup::getRegistrationStart ( )

get registration start

public

Returns
int registration start

Definition at line 258 of file class.ilObjGroup.php.

References IL_CAL_DATETIME.

Referenced by cloneObject(), prepareAppointments(), and validate().

{
return $this->reg_start ? $this->reg_start : $this->reg_start = new ilDateTime(date('Y-m-d').' 08:00:00',IL_CAL_DATETIME);
}

+ Here is the caller graph for this function:

ilObjGroup::getRegistrationType ( )

get registration type

public

Returns
int registration type

Definition at line 201 of file class.ilObjGroup.php.

References $reg_type.

Referenced by create(), isRegistrationEnabled(), update(), and validate().

{
}

+ Here is the caller graph for this function:

ilObjGroup::getViewMode ( )

get view mode

public

Returns
int view mode

Reimplemented from ilContainer.

Definition at line 1809 of file class.ilObjGroup.php.

References ilObject\_lookupObjId(), ilObjCourse\_lookupViewMode(), ilContainer\VIEW_BY_TYPE, ilContainer\VIEW_SESSIONS, and ilContainer\VIEW_SIMPLE.

{
global $tree;
// default: by type
if ($course_ref_id = $tree->checkForParentType($this->ref_id,'crs'))
{
include_once("./Modules/Course/classes/class.ilObjCourse.php");
ilObject::_lookupObjId($course_ref_id));
if ($view_mode == ilContainer::VIEW_SESSIONS ||
$view_mode == ilContainer::VIEW_BY_TYPE ||
$view_mode == ilContainer::VIEW_SIMPLE)
{
$view = $view_mode;
}
}
return $view;
}

+ Here is the call graph for this function:

ilObjGroup::initDefaultRoles ( )

init default roles settings public

Returns
array object IDs of created local roles.

Reimplemented from ilObject.

Definition at line 1501 of file class.ilObjGroup.php.

References $m_roleAdminId, $m_roleMemberId, ilObject\createRoleFolder(), DB_FETCHMODE_OBJECT, ilObject\getId(), and ilObject\getRefId().

{
global $rbacadmin, $rbacreview;
// create a local role folder
$rfoldObj =& $this->createRoleFolder();
// ADMIN ROLE
// create role and assign role to rolefolder...
$roleObj = $rfoldObj->createRole("il_grp_admin_".$this->getRefId(),"Groupadmin of group obj_no.".$this->getId());
$this->m_roleAdminId = $roleObj->getId();
//set permission template of new local role
$q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_admin'";
$r = $this->ilias->db->getRow($q, DB_FETCHMODE_OBJECT);
$rbacadmin->copyRoleTemplatePermissions($r->obj_id,ROLE_FOLDER_ID,$rfoldObj->getRefId(),$roleObj->getId());
// set object permissions of group object
$ops = $rbacreview->getOperationsOfRole($roleObj->getId(),"grp",$rfoldObj->getRefId());
$rbacadmin->grantPermission($roleObj->getId(),$ops,$this->getRefId());
// set object permissions of role folder object
//$ops = $rbacreview->getOperationsOfRole($roleObj->getId(),"rolf",$rfoldObj->getRefId());
//$rbacadmin->grantPermission($roleObj->getId(),$ops,$rfoldObj->getRefId());
// MEMBER ROLE
// create role and assign role to rolefolder...
$roleObj = $rfoldObj->createRole("il_grp_member_".$this->getRefId(),"Groupmember of group obj_no.".$this->getId());
$this->m_roleMemberId = $roleObj->getId();
//set permission template of new local role
$q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_member'";
$r = $this->ilias->db->getRow($q, DB_FETCHMODE_OBJECT);
$rbacadmin->copyRoleTemplatePermissions($r->obj_id,ROLE_FOLDER_ID,$rfoldObj->getRefId(),$roleObj->getId());
// set object permissions of group object
$ops = $rbacreview->getOperationsOfRole($roleObj->getId(),"grp",$rfoldObj->getRefId());
$rbacadmin->grantPermission($roleObj->getId(),$ops,$this->getRefId());
// set object permissions of role folder object
//$ops = $rbacreview->getOperationsOfRole($roleObj->getId(),"rolf",$rfoldObj->getRefId());
//$rbacadmin->grantPermission($roleObj->getId(),$ops,$rfoldObj->getRefId());
unset($rfoldObj);
unset($roleObj);
return $roles ? $roles : array();
}

+ Here is the call graph for this function:

ilObjGroup::initGroupStatus (   $a_grpStatus = GRP_TYPE_PUBLIC)

set group status

Grants permissions on the group object for all parent roles. Each permission is granted by computing the intersection of the role template il_grp_status_open/_closed and the permission template of the parent role.

Creates linked roles in the local role folder object for all parent roles and initializes their permission templates. Each permission template is initialized by computing the intersection of the role template il_grp_status_open/_closed and the permission template of the parent role.

public

Parameters
integergroup status GRP_TYPE_PUBLIC or GRP_TYPE_CLOSED

Definition at line 1280 of file class.ilObjGroup.php.

References getGrpStatusClosedTemplateId(), getGrpStatusOpenTemplateId(), ilObject\getRefId(), GRP_TYPE_CLOSED, and GRP_TYPE_PUBLIC.

{
global $rbacadmin, $rbacreview, $rbacsystem;
//get Rolefolder of group
$rolf_data = $rbacreview->getRoleFolderOfObject($this->getRefId());
//define all relevant roles that rights are needed to be changed
$arr_parentRoles = $rbacreview->getParentRoleIds($this->getRefId());
$real_local_roles = $rbacreview->getRolesOfRoleFolder($rolf_data['ref_id'],false);
$arr_relevantParentRoleIds = array_diff(array_keys($arr_parentRoles),$real_local_roles);
//group status open (aka public) or group status closed
if ($a_grpStatus == GRP_TYPE_PUBLIC || $a_grpStatus == GRP_TYPE_CLOSED)
{
if ($a_grpStatus == GRP_TYPE_PUBLIC)
{
$template_id = $this->getGrpStatusOpenTemplateId();
}
else
{
$template_id = $this->getGrpStatusClosedTemplateId();
}
//get defined operations from template
$template_ops = $rbacreview->getOperationsOfRole($template_id, 'grp', ROLE_FOLDER_ID);
foreach ($arr_relevantParentRoleIds as $parentRole)
{
if ($rbacreview->isProtected($arr_parentRoles[$parentRole]['parent'],$parentRole))
{
continue;
}
$granted_permissions = array();
// Delete the linked role for the parent role
// (just in case if it already exists).
// Added additional check, since this operation is very dangerous.
// If there is no role folder ALL parent roles are deleted.
if(isset($rolf_data['child']) and $rolf_data['child'])
{
$rbacadmin->deleteLocalRole($parentRole,$rolf_data["child"]);
}
// Grant permissions on the group object for
// the parent role. In the foreach loop we
// compute the intersection of the role
// template il_grp_status_open/_closed and the
// permission template of the parent role.
$current_ops = $rbacreview->getRoleOperationsOnObject($parentRole, $this->getRefId());
$rbacadmin->revokePermission($this->getRefId(), $parentRole);
foreach ($template_ops as $template_op)
{
if (in_array($template_op,$current_ops))
{
array_push($granted_permissions,$template_op);
}
}
if (!empty($granted_permissions))
{
$rbacadmin->grantPermission($parentRole, $granted_permissions, $this->getRefId());
}
// Create a linked role for the parent role and
// initialize it with the intersection of
// il_grp_status_open/_closed and the permission
// template of the parent role
$rbacadmin->copyRolePermissionIntersection(
$template_id, ROLE_FOLDER_ID,
$parentRole, $arr_parentRoles[$parentRole]['parent'],
$rolf_data["child"], $parentRole
);
$rbacadmin->assignRoleToFolder($parentRole,$rolf_data["child"],"false");
}//END foreach
}
}

+ Here is the call graph for this function:

ilObjGroup::initParticipants ( )
protected

init participants object

protected

Returns

Definition at line 1940 of file class.ilObjGroup.php.

References ilGroupParticipants\_getInstanceByObjId(), and ilObject\getId().

Referenced by read().

{
include_once('./Modules/Group/classes/class.ilGroupParticipants.php');
$this->members_obj = ilGroupParticipants::_getInstanceByObjId($this->getId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::isAdmin (   $a_userId)

is Admin public

Parameters
integeruser_id
boolean,trueif user is group administrator

Definition at line 1478 of file class.ilObjGroup.php.

References getDefaultGroupRoles().

Referenced by leaveGroup().

{
global $rbacreview;
$grp_Roles = $this->getDefaultGroupRoles();
if (in_array($a_userId,$rbacreview->assignedUsers($grp_Roles["grp_admin_role"])))
{
return true;
}
else
{
return false;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::isGroupTypeModified (   $a_old_type)

check if group type is modified

public

Parameters
@return

Definition at line 170 of file class.ilObjGroup.php.

References $group_type, getGroupType(), GRP_TYPE_UNKNOWN, and readGroupStatus().

{
if($a_old_type == GRP_TYPE_UNKNOWN)
{
}
else
{
$group_type = $a_old_type;
}
return $group_type != $this->getGroupType();
}

+ Here is the call graph for this function:

ilObjGroup::isMembershipLimited ( )

is max member limited

public

Returns

Definition at line 327 of file class.ilObjGroup.php.

References $reg_membership_limitation.

Referenced by cloneObject(), and validate().

+ Here is the caller graph for this function:

ilObjGroup::isRegistrationEnabled ( )

is registration enabled

public

Returns
bool

Definition at line 212 of file class.ilObjGroup.php.

References getRegistrationType(), and GRP_REGISTRATION_DEACTIVATED.

+ Here is the call graph for this function:

ilObjGroup::isRegistrationUnlimited ( )

is registration unlimited

public

Returns
bool

Definition at line 235 of file class.ilObjGroup.php.

References $reg_unlimited.

Referenced by cloneObject(), create(), prepareAppointments(), and update().

{
}

+ Here is the caller graph for this function:

ilObjGroup::isWaitingListEnabled ( )

is waiting list enabled

public

Parameters
@returnbool

Definition at line 373 of file class.ilObjGroup.php.

References $waiting_list.

Referenced by cloneObject().

{
}

+ Here is the caller graph for this function:

ilObjGroup::join (   $a_user_id,
  $a_mem_role = "" 
)

join Group, assigns user to role private

Parameters
integermember status = obj_id of local_group_role

Definition at line 775 of file class.ilObjGroup.php.

Referenced by addMember().

{
global $rbacadmin;
if (is_array($a_mem_role))
{
foreach ($a_mem_role as $role)
{
$rbacadmin->assignUser($role,$a_user_id, false);
}
}
else
{
$rbacadmin->assignUser($a_mem_role,$a_user_id, false);
}
return true;
}

+ Here is the caller graph for this function:

ilObjGroup::leave (   $a_user_id)

deassign member from group role private

Definition at line 876 of file class.ilObjGroup.php.

References getMemberRoles().

Referenced by leaveGroup().

{
global $rbacadmin;
$arr_groupRoles = $this->getMemberRoles($a_user_id);
if (is_array($arr_groupRoles))
{
foreach ($arr_groupRoles as $groupRole)
{
$rbacadmin->deassignUser($groupRole, $a_user_id);
}
}
else
{
$rbacadmin->deassignUser($arr_groupRoles, $a_user_id);
}
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::leaveGroup ( )

is called when a member decides to leave group public

Parameters
integeruser-Id
integergroup-Id

Definition at line 845 of file class.ilObjGroup.php.

References ilObjUser\dropDesktopItem(), getGroupAdminIds(), getGroupMemberIds(), ilObject\getRefId(), isAdmin(), and leave().

{
global $rbacadmin, $rbacreview;
$member_ids = $this->getGroupMemberIds();
if (count($member_ids) <= 1 || !in_array($this->ilias->account->getId(), $member_ids))
{
return 2;
}
else
{
if (!$this->isAdmin($this->ilias->account->getId()))
{
$this->leave($this->ilias->account->getId());
$member = new ilObjUser($this->ilias->account->getId());
$member->dropDesktopItem($this->getRefId(), "grp");
return 0;
}
else if (count($this->getGroupAdminIds()) == 1)
{
return 1;
}
}
}

+ Here is the call graph for this function:

ilObjGroup::notify (   $a_event,
  $a_ref_id,
  $a_parent_non_rbac_id,
  $a_node_id,
  $a_params = 0 
)

notifys an object about an event occured Based on the event happend, each object may decide how it reacts.

public

Parameters
stringevent
integerreference id of object where the event occured
arraypasses optional parameters if required
Returns
boolean

Reimplemented from ilObject.

Definition at line 1563 of file class.ilObjGroup.php.

{
global $tree;
$parent_id = (int) $tree->getParentId($a_node_id);
if ($parent_id != 0)
{
$obj_data =& $this->ilias->obj_factory->getInstanceByRefId($a_node_id);
$obj_data->notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$parent_id,$a_params);
}
return true;
}
ilObjGroup::prepareAppointments (   $a_mode = 'create')
protected

Prepare calendar appointments.

protected

Parameters
stringmode UPDATE|CREATE|DELETE
Returns

Definition at line 1897 of file class.ilObjGroup.php.

References ilObject\getLongDescription(), getRegistrationEnd(), getRegistrationStart(), ilObject\getTitle(), IL_CAL_TRANSLATION_SYSTEM, and isRegistrationUnlimited().

Referenced by create(), delete(), and update().

{
include_once('./Services/Calendar/classes/class.ilCalendarAppointmentTemplate.php');
switch($a_mode)
{
case 'create':
case 'update':
{
return array();
}
$app = new ilCalendarAppointmentTemplate(self::CAL_REG_START);
$app->setTitle($this->getTitle());
$app->setSubtitle('grp_cal_reg_start');
$app->setTranslationType(IL_CAL_TRANSLATION_SYSTEM);
$app->setDescription($this->getLongDescription());
$app->setStart($this->getRegistrationStart());
$apps[] = $app;
$app = new ilCalendarAppointmentTemplate(self::CAL_REG_END);
$app->setTitle($this->getTitle());
$app->setSubtitle('grp_cal_reg_end');
$app->setTranslationType(IL_CAL_TRANSLATION_SYSTEM);
$app->setDescription($this->getLongDescription());
$app->setStart($this->getRegistrationEnd());
$apps[] = $app;
return $apps;
case 'delete':
// Nothing to do: The category and all assigned appointments will be deleted.
return array();
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::read ( )

Read group.

Reimplemented from ilContainer.

Definition at line 615 of file class.ilObjGroup.php.

References $res, ilContainerSortingSettings\_lookupSortMode(), DB_FETCHMODE_OBJECT, enableMembershipLimitation(), enableUnlimitedRegistration(), enableWaitingList(), ilObject\getId(), IL_CAL_DATETIME, initParticipants(), setEnableGroupMap(), setGroupType(), setInformation(), setLatitude(), setLocationZoom(), setLongitude(), setMaxMembers(), ilContainer\setOrderType(), setPassword(), setRegistrationEnd(), setRegistrationStart(), and setRegistrationType().

{
global $ilDB;
$query = "SELECT * FROM grp_settings ".
"WHERE obj_id = ".$ilDB->quote($this->getId());
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$this->setInformation($row->information);
$this->setGroupType($row->grp_type);
$this->setRegistrationType($row->registration_type);
$this->enableUnlimitedRegistration($row->registration_unlimited);
$this->setRegistrationStart(new ilDateTime($row->registration_start,IL_CAL_DATETIME));
$this->setRegistrationEnd(new ilDateTime($row->registration_end,IL_CAL_DATETIME));
$this->setPassword($row->registration_password);
$this->enableMembershipLimitation((bool) $row->registration_membership_limited);
$this->setMaxMembers($row->registration_max_members);
$this->enableWaitingList($row->waiting_list);
$this->setLatitude($row->latitude);
$this->setLongitude($row->longitude);
$this->setLocationZoom($row->location_zoom);
$this->setEnableGroupMap($row->enablemap);
}
$this->initParticipants();
// Inherit order type from parent course (if exists)
include_once('./Services/Container/classes/class.ilContainerSortingSettings.php');
}

+ Here is the call graph for this function:

ilObjGroup::readGroupStatus ( )

get group status, redundant method because public

Parameters
returngroup status[0=public|2=closed]

Definition at line 1388 of file class.ilObjGroup.php.

References getDefaultGroupRoles(), ilObject\getRefId(), GRP_TYPE_CLOSED, and GRP_TYPE_PUBLIC.

Referenced by cloneObject(), and isGroupTypeModified().

{
global $rbacsystem,$rbacreview;
$role_folder = $rbacreview->getRoleFolderOfObject($this->getRefId());
$local_roles = $rbacreview->getRolesOfRoleFolder($role_folder["ref_id"]);
//get Rolefolder of group
$rolf_data = $rbacreview->getRoleFolderOfObject($this->getRefId());
//get all relevant roles
$arr_globalRoles = array_diff($local_roles, $this->getDefaultGroupRoles());
//if one global role has no permission to join the group is officially closed !
foreach ($arr_globalRoles as $globalRole)
{
$ops_of_role = $rbacreview->getOperationsOfRole($globalRole,"grp", ROLE_FOLDER_ID);
if ($rbacsystem->checkPermission($this->getRefId(), $globalRole ,"join"))
{
return $this->group_status = GRP_TYPE_PUBLIC;
}
}
return $this->group_status = GRP_TYPE_CLOSED;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjGroup::setEnableGroupMap (   $a_enablemap)

Set Enable Group Map.

Parameters
boolean$a_enablemapEnable Group Map

Definition at line 443 of file class.ilObjGroup.php.

Referenced by read().

{
$this->enablemap = $a_enablemap;
}

+ Here is the caller graph for this function:

ilObjGroup::setExpirationDateTime (   $a_date)

set Expiration Date and Time public

Parameters
date

Definition at line 1110 of file class.ilObjGroup.php.

References $res, ilObject\getId(), and ilFormat\input2date().

{
global $ilDB;
$q = "SELECT * FROM grp_data WHERE grp_id= ".
$ilDB->quote($this->getId());
$res = $this->ilias->db->query($q);
$date = ilFormat::input2date($a_date);
if ($res->numRows() == 0)
{
$q = "INSERT INTO grp_data (grp_id, expiration) VALUES(".
$ilDB->quote($this->getId()).",".$ilDB->quote($date).")";
$res = $this->ilias->db->query($q);
}
else
{
$q = "UPDATE grp_data SET expiration=".
$ilDB->quote($date)." WHERE grp_id=".$ilDB->quote($this->getId());
$res = $this->ilias->db->query($q);
}
}

+ Here is the call graph for this function:

ilObjGroup::setGroupStatus (   $a_status)

Set group status.

public

Parameters
intgroup status[0=public|2=closed]

Definition at line 1366 of file class.ilObjGroup.php.

{
$this->group_status = $a_status;
}
ilObjGroup::setGroupType (   $a_type)

set group type

public

Parameters
inttype

Definition at line 147 of file class.ilObjGroup.php.

Referenced by read().

{
$this->group_type = $a_type;
}

+ Here is the caller graph for this function:

ilObjGroup::setInformation (   $a_information)

set information

public

Parameters
stringinformation
Returns

Definition at line 124 of file class.ilObjGroup.php.

Referenced by read().

{
$this->information = $a_information;
}

+ Here is the caller graph for this function:

ilObjGroup::setLatitude (   $a_latitude)

Set Latitude.

Parameters
string$a_latitudeLatitude

Definition at line 383 of file class.ilObjGroup.php.

Referenced by read().

{
$this->latitude = $a_latitude;
}

+ Here is the caller graph for this function:

ilObjGroup::setLocationZoom (   $a_locationzoom)

Set LocationZoom.

Parameters
int$a_locationzoomLocationZoom

Definition at line 423 of file class.ilObjGroup.php.

Referenced by read().

{
$this->locationzoom = $a_locationzoom;
}

+ Here is the caller graph for this function:

ilObjGroup::setLongitude (   $a_longitude)

Set Longitude.

Parameters
string$a_longitudeLongitude

Definition at line 403 of file class.ilObjGroup.php.

Referenced by read().

{
$this->longitude = $a_longitude;
}

+ Here is the caller graph for this function:

ilObjGroup::setMaxMembers (   $a_max)

set max members

public

Parameters
intmax members

Definition at line 338 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_max_members = $a_max;
}

+ Here is the caller graph for this function:

ilObjGroup::setMessage (   $a_message)

Definition at line 1877 of file class.ilObjGroup.php.

{
$this->message = $a_message;
}
ilObjGroup::setPassword (   $a_pass)

set password

public

Parameters
stringpassword

Definition at line 293 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_password = $a_pass;
}

+ Here is the caller graph for this function:

ilObjGroup::setRegistrationEnd (   $a_end)

set registration end

public

Parameters
intunix time
Returns

Definition at line 271 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_end = $a_end;
}

+ Here is the caller graph for this function:

ilObjGroup::setRegistrationStart (   $a_start)

set registration start

public

Parameters
objectilDateTime
Returns

Definition at line 247 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_start = $a_start;
}

+ Here is the caller graph for this function:

ilObjGroup::setRegistrationType (   $a_type)

set registration type

public

Parameters
intregistration type
Returns

Definition at line 190 of file class.ilObjGroup.php.

Referenced by read().

{
$this->reg_type = $a_type;
}

+ Here is the caller graph for this function:

ilObjGroup::update ( )

Update group.

Reimplemented from ilObject.

Definition at line 539 of file class.ilObjGroup.php.

References getGroupType(), ilObject\getId(), getInformation(), getRegistrationType(), IL_CAL_DATETIME, isRegistrationUnlimited(), and prepareAppointments().

{
global $ilDB,$ilAppEventHandler;
if (!parent::update())
{
return false;
}
$query = "UPDATE grp_settings ".
"SET information = ".$ilDB->quote($this->getInformation()).", ".
"grp_type = ".$ilDB->quote((int) $this->getGroupType()).", ".
"registration_type = ".$ilDB->quote($this->getRegistrationType()).", ".
"registration_enabled = ".($this->isRegistrationEnabled() ? 1 : 0).", ".
"registration_unlimited = ".($this->isRegistrationUnlimited() ? 1 : 0).", ".
"registration_start = ".$ilDB->quote($this->getRegistrationStart()->get(IL_CAL_DATETIME,'')).", ".
"registration_end = ".$ilDB->quote($this->getRegistrationEnd()->get(IL_CAL_DATETIME,'')).", ".
"registration_password = ".$ilDB->quote($this->getPassword()).", ".
"registration_membership_limited = ".$ilDB->quote((int) $this->isMembershipLimited()).", ".
"registration_max_members = ".$ilDB->quote($this->getMaxMembers()).", ".
"waiting_list = ".$ilDB->quote($this->isWaitingListEnabled() ? 1 : 0).", ".
"latitude = ".$ilDB->quote($this->getLatitude()).", ".
"longitude = ".$ilDB->quote($this->getLongitude()).", ".
"location_zoom = ".$ilDB->quote($this->getLocationZoom()).", ".
"enablemap = ".$ilDB->quote($this->getEnableGroupMap())." ".
"WHERE obj_id = ".$ilDB->quote($this->getId())." ";
$ilDB->query($query);
$ilAppEventHandler->raise('Modules/Group',
'update',
array('object' => $this,
'obj_id' => $this->getId(),
'appointments' => $this->prepareAppointments('update')));
return true;
}

+ Here is the call graph for this function:

ilObjGroup::updateGroupType ( )

Change group type.

Revokes permissions of all parent non-protected roles and initiates these roles with the according il_grp_(open|closed) template.

public

Returns

Definition at line 1174 of file class.ilObjGroup.php.

References getDefaultGroupRoles(), getGroupType(), getGrpStatusClosedTemplateId(), getGrpStatusOpenTemplateId(), ilObject\getRefId(), GRP_TYPE_CLOSED, and GRP_TYPE_PUBLIC.

{
global $tree,$rbacreview,$rbacadmin;
$parent_roles = $rbacreview->getParentRoleIds($this->getRefId());
$real_parent_roles = array_diff(array_keys($parent_roles),$this->getDefaultGroupRoles());
$rolf_data = $rbacreview->getRoleFolderOfObject($this->getRefId());
// Delete parent roles with stopped inheritance
foreach($real_parent_roles as $role_id)
{
// Delete local role
if(isset($rolf_data['child']) and $rolf_data['child'])
{
$rbacadmin->deleteLocalRole($role_id,$rolf_data['child']);
}
}
$parent_roles = $rbacreview->getParentRoleIds($this->getRefId());
$real_parent_roles = array_diff(array_keys($parent_roles),$this->getDefaultGroupRoles());
switch($this->getGroupType())
{
$template_id = $this->getGrpStatusOpenTemplateId();
break;
$template_id = $this->getGrpStatusClosedTemplateId();
break;
}
$first = true;
foreach($tree->getFilteredSubTree($this->getRefId(),array('rolf','grp')) as $subnode)
{
// Read template operations
$template_ops = $rbacreview->getOperationsOfRole($template_id,$subnode['type'], ROLE_FOLDER_ID);
$rolf_data = $rbacreview->getRoleFolderOfObject($subnode['child']);
// for all parent roles
foreach($real_parent_roles as $role_id)
{
if($rbacreview->isProtected($parent_roles[$role_id]['parent'],$role_id))
{
continue;
}
// Delete local role
if(isset($rolf_data['child']) and $rolf_data['child'])
{
$rbacadmin->deleteLocalRole($role_id,$rolf_data['child']);
}
// Store current operations
$current_ops = $rbacreview->getOperationsOfRole($role_id,$subnode['type'],$parent_roles[$role_id]['parent']);
// Revoke permissions
$rbacadmin->revokePermission($subnode['child'],$role_id);
// Grant permissions
$granted = array();
foreach($template_ops as $operation)
{
if(in_array($operation,$current_ops))
{
$granted[] = $operation;
}
}
if($granted)
{
$rbacadmin->grantPermission($role_id, $granted,$subnode['child']);
}
if($first)
{
// This is the group itself
$rbacadmin->copyRolePermissionIntersection(
$template_id, ROLE_FOLDER_ID,
$role_id, $parent_roles[$role_id]['parent'],
$rolf_data["child"],$role_id);
$rbacadmin->assignRoleToFolder($role_id,$rolf_data["child"],"n");
}
}
$first = false;
}
}

+ Here is the call graph for this function:

ilObjGroup::validate ( )

validate group settings

public

Returns
bool

Definition at line 464 of file class.ilObjGroup.php.

References $ilErr, ilDateTime\_before(), getGroupType(), getMaxMembers(), getPassword(), getRegistrationEnd(), getRegistrationStart(), getRegistrationType(), ilObject\getTitle(), GRP_REGISTRATION_PASSWORD, and isMembershipLimited().

{
global $ilErr;
if($this->getTitle() == 'NO TITLE')
{
$this->title = '';
$ilErr->appendMessage(self::ERR_MISSING_TITLE);
}
if(!$this->getGroupType())
{
$ilErr->appendMessage(self::ERR_MISSING_GROUP_TYPE);
}
if($this->getRegistrationType() == GRP_REGISTRATION_PASSWORD and !strlen($this->getPassword()))
{
$ilErr->appendMessage(self::ERR_MISSING_PASSWORD);
}
{
$ilErr->appendMessage(self::ERR_WRONG_REG_TIME_LIMIT);
}
if($this->isMembershipLimited() and (!is_numeric($this->getMaxMembers()) or $this->getMaxMembers() <= 0))
{
$ilErr->appendMessage(self::ERR_WRONG_MAX_MEMBERS);
}
return strlen($ilErr->getMessage()) == 0;
}

+ Here is the call graph for this function:

Field Documentation

ilObjGroup::$enablemap
protected

Definition at line 83 of file class.ilObjGroup.php.

Referenced by getEnableGroupMap().

ilObjGroup::$file_obj = null

Group file object for handling of export files.

Definition at line 91 of file class.ilObjGroup.php.

Referenced by __initFileObject(), and _importFromFile().

ilObjGroup::$group_type = null
protected

Definition at line 67 of file class.ilObjGroup.php.

Referenced by getGroupType(), and isGroupTypeModified().

ilObjGroup::$information
protected

Definition at line 66 of file class.ilObjGroup.php.

Referenced by getInformation().

ilObjGroup::$latitude
protected

Definition at line 80 of file class.ilObjGroup.php.

Referenced by getLatitude().

ilObjGroup::$location_zoom
protected

Definition at line 82 of file class.ilObjGroup.php.

ilObjGroup::$longitude
protected

Definition at line 81 of file class.ilObjGroup.php.

Referenced by getLongitude().

ilObjGroup::$m_grpStatus

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

ilObjGroup::$m_roleAdminId

Definition at line 97 of file class.ilObjGroup.php.

Referenced by initDefaultRoles().

ilObjGroup::$m_roleMemberId

Definition at line 95 of file class.ilObjGroup.php.

Referenced by initDefaultRoles().

ilObjGroup::$members_obj

Definition at line 85 of file class.ilObjGroup.php.

ilObjGroup::$reg_enabled = true
protected

Definition at line 69 of file class.ilObjGroup.php.

ilObjGroup::$reg_end = null
protected

Definition at line 72 of file class.ilObjGroup.php.

ilObjGroup::$reg_max_members = 0
protected

Definition at line 75 of file class.ilObjGroup.php.

Referenced by getMaxMembers().

ilObjGroup::$reg_membership_limitation = false
protected

Definition at line 74 of file class.ilObjGroup.php.

Referenced by isMembershipLimited().

ilObjGroup::$reg_password = ''
protected

Definition at line 73 of file class.ilObjGroup.php.

Referenced by getPassword().

ilObjGroup::$reg_start = null
protected

Definition at line 71 of file class.ilObjGroup.php.

ilObjGroup::$reg_type = GRP_REGISTRATION_DIRECT
protected

Definition at line 68 of file class.ilObjGroup.php.

Referenced by getRegistrationType().

ilObjGroup::$reg_unlimited = true
protected

Definition at line 70 of file class.ilObjGroup.php.

Referenced by isRegistrationUnlimited().

ilObjGroup::$waiting_list = false
protected

Definition at line 76 of file class.ilObjGroup.php.

Referenced by isWaitingListEnabled().

const ilObjGroup::CAL_REG_END = 2

Definition at line 57 of file class.ilObjGroup.php.

const ilObjGroup::CAL_REG_START = 1

Definition at line 56 of file class.ilObjGroup.php.

const ilObjGroup::ERR_MISSING_GROUP_TYPE = 'grp_missing_grp_type'

Definition at line 61 of file class.ilObjGroup.php.

const ilObjGroup::ERR_MISSING_PASSWORD = 'grp_missing_password'

Definition at line 62 of file class.ilObjGroup.php.

const ilObjGroup::ERR_MISSING_TITLE = 'msg_no_title'

Definition at line 60 of file class.ilObjGroup.php.

const ilObjGroup::ERR_WRONG_MAX_MEMBERS = 'grp_wrong_max_members'

Definition at line 63 of file class.ilObjGroup.php.

const ilObjGroup::ERR_WRONG_REG_TIME_LIMIT = 'grp_wrong_reg_time_limit'

Definition at line 64 of file class.ilObjGroup.php.


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