2 include_once
'./Services/Calendar/classes/class.ilCalendarSettings.php';
21 protected $mode = self::MODE_MODAL;
43 $this->lng = $DIC->language();
44 $this->ctrl = $DIC->ctrl();
49 $this->appointment = $a_app;
51 $this->tpl = $DIC[
"tpl"];
64 $this->list_item = $a_val;
65 $this->mode = self::MODE_LIST_ITEM;
89 return new static(
$seed, $a_app);
98 $next_class =
$ilCtrl->getNextClass($this);
99 $cmd =
$ilCtrl->getCmd(
"getHTML");
101 switch ($next_class) {
102 case 'ilcalendarappointmentgui':
103 include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentGUI.php');
105 $this->ctrl->forwardCommand($app);
109 if ($next_class !=
'') {
111 $class_path = $this->ctrl->lookupClassPath($next_class);
112 include_once($class_path);
115 $class_name = $this->ctrl->getClassForClasspath($class_path);
116 if (in_array(
"ilCalendarAppointmentPresentation", class_implements($class_name))) {
118 $gui_class =
new $class_name($this->appointment, $this->info_screen, $this->toolbar, null);
119 $this->ctrl->forwardCommand($gui_class);
140 if ($this->mode == self::MODE_MODAL) {
143 if ($this->mode == self::MODE_LIST_ITEM) {
155 include_once
"./Services/Calendar/classes/AppointmentPresentation/class.ilAppointmentPresentationFactory.php";
157 $tpl =
new ilTemplate(
'tpl.appointment_presentation.html',
true,
true,
'Services/Calendar');
160 $info_screen->setFormAction($this->ctrl->getFormAction($this));
162 #21529 create new toolbar with unique id using the entry id for this purpose 165 $toolbar->setId($this->appointment[
'event']->getEntryId());
169 $this->ctrl->getHTML(
$f);
174 $content = $plugin_results[
'content'];
175 $toolbar = $plugin_results[
'toolbar'];
178 $tpl->setCurrentBlock(
"toolbar");
180 $tpl->parseCurrentBlock();
184 $tpl->setVariable(
"CONTENT", $content);
195 include_once
"./Services/Calendar/classes/AppointmentPresentation/class.ilAppointmentPresentationFactory.php";
197 $this->ctrl->getHTML(
$f);
198 $this->list_item =
$f->getListItem();
205 $ilPluginAdmin = $DIC[
'ilPluginAdmin'];
209 foreach ($ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"Calendar",
"capm") as $plugin_name) {
210 $res[] = $ilPluginAdmin->getPluginObject(
227 $plugin->setAppointment($this->appointment[
'event'],
new ilDateTime($this->appointment[
'dstart']));
229 if ($new_infoscreen = $plugin->infoscreenAddContent($this->info_screen)) {
230 $this->info_screen = $new_infoscreen;
233 $content = $this->info_screen->getHTML();
234 $extra_content = $plugin->addExtraContent();
235 if ($extra_content !=
'') {
236 $content .= $extra_content;
239 if ($new_content = $plugin->replaceContent()) {
240 $content = $new_content;
243 if ($new_toolbar = $plugin->toolbarAddItems(
$toolbar)) {
247 if ($new_toolbar = $plugin->toolbarReplaceContent()) {
248 $new_toolbar->setId($a_toolbar->getId());
254 'content' => $content,
static _getInstance()
get singleton instance
getContentByPlugins($a_content, $a_toolbar)
__construct(ilDate $seed=null, $a_app)
Singleton.
setListItemMode(\ILIAS\UI\Component\Item\Standard $a_val)
Set list item mode.
getModalHTML()
Get modal html.
static _getInstance(ilDate $seed, $a_app)
get singleton instance
getListItem()
Get list item mode.
foreach($_POST as $key=> $value) $res
special template class to simplify handling of ITX/PEAR
Class ilCalendarAppointmentPresentationGUI.
static getInstance($a_appointment, $a_info_screen, $a_toolbar, $a_list_item)
modifyListItem()
Modify List item.
Administrate calendar appointments.