ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables Modules Pages
VCalendarFactory.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
22 
24 use ilException;
26 
27 final class VCalendarFactory
28 {
34  public static function getInstanceFromTalks(\ilObjEmployeeTalkSeries $series, string $method = VCalenderMethod::PUBLISH): VCalender
35  {
36  global $DIC;
37 
38  $tree = $DIC->repositoryTree();
39  $children = $tree->getChildIds($series->getRefId());
40  $talks = array_map(function ($val): ilObjEmployeeTalk {
41  return new ilObjEmployeeTalk(intval($val), true);
42  }, $children);
43 
44  $firstTalk = $talks[0];
45 
46  $events = [];
47 
48  foreach ($talks as $talk) {
49  $events[] = VEventFactory::getInstanceFromTalk($talk);
50  }
51 
52  return new VCalender(
53  $firstTalk->getTitle(),
54  md5($series->getType() . $series->getId()),
55  $events,
56  $method
57  );
58  }
59 
66  public static function getEmptyInstance(
68  string $title,
69  string $method = VCalenderMethod::PUBLISH
70  ): VCalender {
71  return new VCalender(
72  $title,
73  md5($series->getType() . $series->getId()),
74  [],
75  $method
76  );
77  }
78 }
global $DIC
Definition: feed.php:28
static getEmptyInstance(ilObjEmployeeTalkSeries $series, string $title, string $method=VCalenderMethod::PUBLISH)
static getInstanceFromTalks(\ilObjEmployeeTalkSeries $series, string $method=VCalenderMethod::PUBLISH)
static getInstanceFromTalk(ilObjEmployeeTalk $talk, string $status=VEventStatus::CONFIRMED)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...