ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
ilOrgUnitAssignmentList Class Reference

Organisation Unit Assignment List. More...

+ Inheritance diagram for ilOrgUnitAssignmentList:
+ Collaboration diagram for ilOrgUnitAssignmentList:

Public Member Functions

 __construct ($org_unit_id)
 
 sortCallback ($a_assignment_a, $a_assignment_b)
 
 addAssignment ($a_user_id, $a_reporting_access, $a_cc_compl_invit, $a_cc_compl_not1, $a_cc_compl_not2)
 
 removeAssignment ($a_user_id)
 
 doesAssignmentExist ($a_user_id)
 
 hasUserReportingAccess ($a_user_id)
 
 current ()
 
 next ()
 
 key ()
 
 valid ()
 
 rewind ()
 

Private Member Functions

 read ()
 

Private Attributes

 $org_unit_id = 0
 
 $assignments = array()
 

Detailed Description

Organisation Unit Assignment List.

Author
Bjoern Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

Definition at line 14 of file class.ilOrgUnitAssignmentList.php.

Constructor & Destructor Documentation

◆ __construct()

ilOrgUnitAssignmentList::__construct (   $org_unit_id)

Definition at line 20 of file class.ilOrgUnitAssignmentList.php.

References $org_unit_id, and read().

21  {
22  $this->org_unit_id = (int)$org_unit_id;
23 
24  $this->read();
25  }
+ Here is the call graph for this function:

Member Function Documentation

◆ addAssignment()

ilOrgUnitAssignmentList::addAssignment (   $a_user_id,
  $a_reporting_access,
  $a_cc_compl_invit,
  $a_cc_compl_not1,
  $a_cc_compl_not2 
)

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

65  {
66  if( isset($this->assignments[$user_id]) )
67  throw new ilOrgUnitException('Error: User with id "'.$user_id.'" is allready assigned!');
68 
69  $assignment = new ilOrgUnitAssignment($this->org_unit_id, $a_user_id);
70 
71  $assignment ->setReportingAccess($a_reporting_access)
72  ->setCcComplianceInvitation($a_cc_compl_invit)
73  ->setCcComplianceNotify1($a_cc_compl_not1)
74  ->setCcComplianceNotify2($a_cc_compl_not2)
75  ->create();
76 
77  $this->assignments[$user_id] = $assignment;
78  }
Organisation Unit Assignment.

◆ current()

ilOrgUnitAssignmentList::current ( )

Definition at line 100 of file class.ilOrgUnitAssignmentList.php.

101  {
102  return current($this->assignments);
103  }

◆ doesAssignmentExist()

ilOrgUnitAssignmentList::doesAssignmentExist (   $a_user_id)

Definition at line 90 of file class.ilOrgUnitAssignmentList.php.

91  {
92  return isset($this->assignments[$a_user_id]);
93  }

◆ hasUserReportingAccess()

ilOrgUnitAssignmentList::hasUserReportingAccess (   $a_user_id)

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

96  {
97  return $this->assignments[$a_user_id]->hasReportingAccess();
98  }

◆ key()

ilOrgUnitAssignmentList::key ( )

Definition at line 110 of file class.ilOrgUnitAssignmentList.php.

Referenced by valid().

111  {
112  return key($this->assignments);
113  }
+ Here is the caller graph for this function:

◆ next()

ilOrgUnitAssignmentList::next ( )

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

106  {
107  return next($this->assignments);
108  }

◆ read()

ilOrgUnitAssignmentList::read ( )
private

Definition at line 27 of file class.ilOrgUnitAssignmentList.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by __construct().

28  {
29  global $ilDB;
30 
31  $query = "SELECT * FROM org_unit_assignments WHERE oa_ou_id = %s";
32 
33  $res = $ilDB->queryF($query, array('integer'), array($this->org_unit_id));
34 
35  $this->assignments = array();
36 
37  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
38  {
39  $assignment = new ilOrgUnitAssignment($row->oa_ou_id, $row->oa_usr_id);
40 
41  $assignment->setReportingAccess($row->oa_reporting_access);
42  $assignment->setCcComplianceInvitation($row->oa_cc_compl_invit);
43  $assignment->setCcComplianceNotify1($row->oa_cc_compl_not1);
44  $assignment->setCcComplianceNotify2($row->oa_cc_compl_not2);
45 
46  $this->assignments[$row->oa_usr_id] = $assignment;
47  }
48 
49  #usort($this->assignments, array($this, 'sortCallback'));
50  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
Organisation Unit Assignment.
+ Here is the caller graph for this function:

◆ removeAssignment()

ilOrgUnitAssignmentList::removeAssignment (   $a_user_id)

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

81  {
82  if( !isset($this->assignments[$user_id]) )
83  throw new ilOrgUnitException('Error: User with id "'.$user_id.'" is not assigned!');
84 
85  $this->assignments[$user_id]->delete();
86 
87  unset( $this->assignments[$user_id] );
88  }

◆ rewind()

ilOrgUnitAssignmentList::rewind ( )

Definition at line 120 of file class.ilOrgUnitAssignmentList.php.

121  {
122  return reset($this->assignments);
123  }

◆ sortCallback()

ilOrgUnitAssignmentList::sortCallback (   $a_assignment_a,
  $a_assignment_b 
)

Definition at line 52 of file class.ilOrgUnitAssignmentList.php.

References ilObjectFactory\getInstanceByObjId().

53  {
54  $user_a = ilObjectFactory::getInstanceByObjId($a_assignment_a->getUserId());
55  $user_b = ilObjectFactory::getInstanceByObjId($a_assignment_b->getUserId());
56 
57  $user_name_a = $user_a->getLastName().', '.$user_a->getFirstName();
58  $user_name_b = $user_b->getLastName().', '.$user_b->getFirstName();
59 
60  return strcmp($user_name_a, $user_name_b);
61  }
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
+ Here is the call graph for this function:

◆ valid()

ilOrgUnitAssignmentList::valid ( )

Definition at line 115 of file class.ilOrgUnitAssignmentList.php.

References key().

116  {
117  return key($this->assignments) !== null;
118  }
+ Here is the call graph for this function:

Field Documentation

◆ $assignments

ilOrgUnitAssignmentList::$assignments = array()
private

Definition at line 18 of file class.ilOrgUnitAssignmentList.php.

◆ $org_unit_id

ilOrgUnitAssignmentList::$org_unit_id = 0
private

Definition at line 16 of file class.ilOrgUnitAssignmentList.php.

Referenced by __construct().


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