Handles events (create,update,delete) for autmatic generated calendar events from course, groups, ...
More...
|
static | handleEvent ($a_component, $a_event, $a_parameter) |
| Handle events like create, update, delete. More...
|
|
static | createCategory ($a_obj, $a_check_existing=false) |
| Create a category for a new object (crs,grp, ...) More...
|
|
static | updateCategory ($a_obj) |
| Create a category for a new object (crs,grp, ...) More...
|
|
static | createAppointments ($a_obj, $a_appointments) |
| Create appointments. More...
|
|
static | deleteAppointments ($a_obj_id, array $a_context_ids=null) |
| Delete automatic generated appointments. More...
|
|
static | deleteCategory ($a_obj_id) |
| delete category More...
|
|
Handles events (create,update,delete) for autmatic generated calendar events from course, groups, ...
- Author
- Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e
- Version
- $Id$
Definition at line 35 of file class.ilCalendarAppEventListener.php.
◆ createAppointments()
static ilCalendarAppEventListener::createAppointments |
( |
|
$a_obj, |
|
|
|
$a_appointments |
|
) |
| |
|
static |
Create appointments.
public
- Parameters
-
Definition at line 190 of file class.ilCalendarAppEventListener.php.
References $DIC, ilCalendarCategories\_lookupCategoryIdByObjId(), and ilCalendarCategoryAssignments\addAssignment().
194 $logger = $DIC->logger()->cal();
196 include_once(
'./Services/Calendar/classes/class.ilCalendarEntry.php');
197 include_once(
'./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php');
198 include_once(
'./Services/Calendar/classes/class.ilCalendarCategories.php');
201 $logger->warning(
'Cannot find calendar category for obj_id ' . $a_obj->getId());
202 $cat_id = self::createCategory($a_obj);
205 foreach ($a_appointments as $app_templ) {
207 $app->setContextId($app_templ->getContextId());
208 $app->setContextInfo($app_templ->getContextInfo());
209 $app->setTitle($app_templ->getTitle());
210 $app->setSubtitle($app_templ->getSubtitle());
211 $app->setDescription($app_templ->getDescription());
212 $app->setFurtherInformations($app_templ->getInformation());
213 $app->setLocation($app_templ->getLocation());
214 $app->setStart($app_templ->getStart());
215 $app->setEnd($app_templ->getEnd());
216 $app->setFullday($app_templ->isFullday());
217 $app->setAutoGenerated(
true);
218 $app->setTranslationType($app_templ->getTranslationType());
Model for a calendar entry.
static _lookupCategoryIdByObjId($a_obj_id)
lookup category by obj_id
addAssignment($a_cal_cat_id)
add assignment
◆ createCategory()
static ilCalendarAppEventListener::createCategory |
( |
|
$a_obj, |
|
|
|
$a_check_existing = false |
|
) |
| |
|
static |
Create a category for a new object (crs,grp, ...)
public
- Parameters
-
object | ilias object ('crs','grp',...) |
Definition at line 140 of file class.ilCalendarAppEventListener.php.
References $DIC, $lng, ilCalendarCategory\_getInstanceByObjId(), ilCalendarAppointmentColors\_getRandomColorByType(), and ilCalendarCategory\TYPE_OBJ.
146 include_once(
'./Services/Calendar/classes/class.ilCalendarCategory.php');
147 include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentColors.php');
150 if ($a_check_existing &&
152 return self::updateCategory($a_obj);
156 $cat->setTitle($a_obj->getTitle() ? $a_obj->getTitle() :
$lng->txt(
'obj_' . $a_obj->getType()));
159 $cat->setObjId($a_obj->getId());
Stores calendar categories.
static _getInstanceByObjId($a_obj_id)
get instance by obj_id
static _getRandomColorByType($a_type)
get random color entry for type
◆ deleteAppointments()
static ilCalendarAppEventListener::deleteAppointments |
( |
|
$a_obj_id, |
|
|
array |
$a_context_ids = null |
|
) |
| |
|
static |
◆ deleteCategory()
static ilCalendarAppEventListener::deleteCategory |
( |
|
$a_obj_id | ) |
|
|
static |
delete category
public
- Parameters
-
Definition at line 261 of file class.ilCalendarAppEventListener.php.
References $DIC, and ilCalendarCategories\_lookupCategoryIdByObjId().
265 $logger = $DIC->logger()->cal();
267 include_once(
'./Services/Calendar/classes/class.ilCalendarCategories.php');
270 $logger->warning(
'Cannot find calendar category for obj_id ' . $a_obj_id);
static _lookupCategoryIdByObjId($a_obj_id)
lookup category by obj_id
Stores calendar categories.
◆ handleEvent()
static ilCalendarAppEventListener::handleEvent |
( |
|
$a_component, |
|
|
|
$a_event, |
|
|
|
$a_parameter |
|
) |
| |
|
static |
Handle events like create, update, delete.
public
- Parameters
-
string | $a_component | component, e.g. "Modules/Forum" or "Services/User" |
string | $a_event | event e.g. "createUser", "updateUser", "deleteUser", ... |
array | $a_parameter | parameter array (assoc), array("name" => ..., "phone_office" => ...) * |
Implements ilAppEventListener.
Definition at line 46 of file class.ilCalendarAppEventListener.php.
References $DIC, $ilUser, ilCalendarCategories\deletePDItemsCache(), and ilCalendarCategories\deleteRepositoryCache().
50 $logger = $DIC->logger()->cal();
53 $delete_cache =
false;
55 switch ($a_component) {
56 case 'Modules/Session':
58 case 'Modules/Course':
61 $logger->debug(
'Handling create event');
62 self::createCategory($a_parameter[
'object']);
63 self::createAppointments($a_parameter[
'object'], $a_parameter[
'appointments']);
68 $logger->debug(
'Handling update event');
69 self::updateCategory($a_parameter[
'object']);
70 self::deleteAppointments($a_parameter[
'obj_id']);
71 self::createAppointments($a_parameter[
'object'], $a_parameter[
'appointments']);
76 $logger->debug(
'Handling delete event');
77 self::deleteCategory($a_parameter[
'obj_id']);
83 case 'Services/Booking':
94 case 'Modules/Exercise':
96 case 'createAssignment':
97 $logger->debug(
'Handling create event (exercise assignment)');
98 self::createCategory($a_parameter[
'object'],
true);
99 self::createAppointments($a_parameter[
'object'], $a_parameter[
'appointments']);
100 $delete_cache =
true;
103 case 'updateAssignment':
104 $logger->debug(
'Handling update event (exercise assignment)');
105 self::createCategory($a_parameter[
'object'],
true);
106 self::deleteAppointments($a_parameter[
'obj_id'], $a_parameter[
'context_ids']);
107 self::createAppointments($a_parameter[
'object'], $a_parameter[
'appointments']);
108 $delete_cache =
true;
111 case 'deleteAssignment':
112 $logger->debug(
'Handling delete event (exercise assignment)');
113 self::deleteAppointments($a_parameter[
'obj_id'], $a_parameter[
'context_ids']);
114 $delete_cache =
true;
118 $logger->debug(
':Handling delete event');
119 self::deleteCategory($a_parameter[
'obj_id']);
120 $delete_cache =
true;
127 include_once
'./Services/Calendar/classes/class.ilCalendarCategories.php';
static deletePDItemsCache($a_usr_id)
Delete cache (add remove desktop item)
static deleteRepositoryCache($a_usr_id)
Delete cache.
◆ updateCategory()
static ilCalendarAppEventListener::updateCategory |
( |
|
$a_obj | ) |
|
|
static |
Create a category for a new object (crs,grp, ...)
public
- Parameters
-
object | ilias object ('crs','grp',...) |
Definition at line 170 of file class.ilCalendarAppEventListener.php.
References ilCalendarCategory\_getInstanceByObjId().
172 include_once(
'./Services/Calendar/classes/class.ilCalendarCategory.php');
173 include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentColors.php');
176 $cat->setTitle($a_obj->getTitle());
static _getInstanceByObjId($a_obj_id)
get instance by obj_id
The documentation for this class was generated from the following file: