4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
25 $this->ref_id = $a_parent_obj->ref_id;
26 $this->pool_id = $a_parent_obj->object->getId();
27 $this->pool_has_schedule =
29 $this->pool_overall_limit = $this->pool_has_schedule
31 : $a_parent_obj->object->getOverallLimit();
41 $next_class = $ilCtrl->getNextClass($this);
46 $cmd = $ilCtrl->getCmd(
"render");
62 if ($ilAccess->checkAccess(
'write',
'', $this->ref_id))
64 include_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
66 $bar->
addButton($lng->txt(
'book_add_object'), $ilCtrl->getLinkTarget($this,
'create'));
67 $bar = $bar->getHTML();
70 $tpl->setPermanentLink(
'book', $this->ref_id);
72 include_once
'Modules/BookingManager/classes/class.ilBookingObjectsTableGUI.php';
73 $table =
new ilBookingObjectsTableGUI($this,
'render', $this->ref_id, $this->pool_id, $this->pool_has_schedule, $this->pool_overall_limit);
74 $tpl->setContent($bar.$table->getHTML());
79 include_once
'Modules/BookingManager/classes/class.ilBookingObjectsTableGUI.php';
80 $table =
new ilBookingObjectsTableGUI($this,
'render', $this->ref_id, $this->pool_id, $this->pool_has_schedule, $this->pool_overall_limit, $this->repo_parent, $this->repo_parent_call);
81 $table->resetOffset();
82 $table->writeFilterToSession();
88 include_once
'Modules/BookingManager/classes/class.ilBookingObjectsTableGUI.php';
89 $table =
new ilBookingObjectsTableGUI($this,
'render', $this->ref_id, $this->pool_id, $this->pool_has_schedule, $this->pool_overall_limit, $this->repo_parent, $this->repo_parent_call);
90 $table->resetOffset();
91 $table->resetFilter();
102 $ilTabs->clearTargets();
103 $ilTabs->setBackTarget($lng->txt(
'book_back_to_list'), $ilCtrl->getLinkTarget($this,
'render'));
108 $tpl->setContent($form->getHTML());
118 $ilTabs->clearTargets();
119 $ilTabs->setBackTarget($lng->txt(
'book_back_to_list'), $ilCtrl->getLinkTarget($this,
'render'));
124 $tpl->setContent($form->getHTML());
131 $object_subtype = $this->pool_has_schedule
135 $ilHelp->setScreenIdComponent(
'book');
136 $ilHelp->setScreenId(
'object'.$object_subtype);
137 $ilHelp->setSubScreenId($a_id);
150 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
157 $title->setMaxLength(120);
158 $form_gui->addItem($title);
163 $form_gui->addItem($desc);
166 $file->setALlowDeletion(
true);
167 $form_gui->addItem(
$file);
172 $nr->setMaxLength(3);
173 $form_gui->addItem($nr);
175 if($this->pool_has_schedule)
178 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
181 $options[$schedule[
"booking_schedule_id"]] = $schedule[
"title"];
186 $form_gui->addItem($schedule);
190 $post->setTitle($lng->txt(
"book_post_booking_information"));
191 $form_gui->addItem($post);
196 $pdesc->setInfo($lng->txt(
"book_post_booking_text_info"));
197 $form_gui->addItem($pdesc);
199 $pfile =
new ilFileInputGUI($lng->txt(
"book_post_booking_file"),
"post_file");
201 $form_gui->addItem($pfile);
203 if ($a_mode ==
"edit")
205 $form_gui->setTitle($lng->txt(
"book_edit_object"));
207 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
209 $this->record_gui->setPropertyForm($form_gui);
210 $this->record_gui->parse();
213 $item->setValue($id);
214 $form_gui->addItem($item);
216 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
218 $title->setValue($obj->getTitle());
219 $desc->setValue($obj->getDescription());
220 $nr->setValue($obj->getNrOfItems());
221 $pdesc->setValue($obj->getPostText());
222 $file->setValue($obj->getFile());
223 $pfile->setValue($obj->getPostFile());
227 $schedule->setValue($obj->getScheduleId());
230 $form_gui->addCommandButton(
"update", $lng->txt(
"save"));
234 $form_gui->setTitle($lng->txt(
"book_add_object"));
235 $form_gui->addCommandButton(
"save", $lng->txt(
"save"));
236 $form_gui->addCommandButton(
"render", $lng->txt(
"cancel"));
238 $form_gui->setFormAction($ilCtrl->getFormAction($this));
251 if($form->checkInput())
253 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
256 $obj->setTitle($form->getInput(
"title"));
257 $obj->setDescription($form->getInput(
"desc"));
258 $obj->setNrOfItems($form->getInput(
"items"));
259 $obj->setPostText($form->getInput(
"post_text"));
261 if($this->pool_has_schedule)
263 $obj->setScheduleId($form->getInput(
"schedule"));
268 $file = $form->getItemByPostVar(
"file");
269 if($_FILES[
"file"][
"tmp_name"])
271 $obj->uploadFile($_FILES[
"file"]);
273 else if(
$file->getDeletionFlag())
278 $pfile = $form->getItemByPostVar(
"post_file");
279 if($_FILES[
"post_file"][
"tmp_name"])
281 $obj->uploadPostFile($_FILES[
"post_file"]);
283 else if($pfile->getDeletionFlag())
285 $obj->deletePostFile();
295 $ilTabs->clearTargets();
296 $ilTabs->setBackTarget($lng->txt(
'book_back_to_list'), $ilCtrl->getLinkTarget($this,
'render'));
298 $form->setValuesByPost();
299 $tpl->setContent($form->getHTML());
311 if($form->checkInput())
314 if($this->record_gui &&
315 !$this->record_gui->importEditFormPostValues())
322 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
324 $obj->setTitle($form->getInput(
"title"));
325 $obj->setDescription($form->getInput(
"desc"));
326 $obj->setNrOfItems($form->getInput(
"items"));
327 $obj->setPostText($form->getInput(
"post_text"));
329 $file = $form->getItemByPostVar(
"file");
330 if($_FILES[
"file"][
"tmp_name"])
332 $obj->uploadFile($_FILES[
"file"]);
334 else if(
$file->getDeletionFlag())
339 $pfile = $form->getItemByPostVar(
"post_file");
340 if($_FILES[
"post_file"][
"tmp_name"])
342 $obj->uploadPostFile($_FILES[
"post_file"]);
344 else if($pfile->getDeletionFlag())
346 $obj->deletePostFile();
349 if($this->pool_has_schedule)
351 $obj->setScheduleId($form->getInput(
"schedule"));
356 if($this->record_gui)
358 $this->record_gui->writeEditForm();
366 $form->setValuesByPost();
367 $tpl->setContent($form->getHTML());
377 $ilTabs->clearTargets();
378 $ilTabs->setBackTarget($lng->txt(
'book_back_to_list'), $ilCtrl->getLinkTarget($this,
'render'));
380 include_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
382 $conf->setFormAction($ilCtrl->getFormAction($this));
383 $conf->setHeaderText($lng->txt(
'book_confirm_delete'));
385 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
387 $conf->addItem(
'object_id', (
int)$_GET[
'object_id'], $type->getTitle());
388 $conf->setConfirm($lng->txt(
'delete'),
'delete');
389 $conf->setCancel($lng->txt(
'cancel'),
'render');
391 $tpl->setContent($conf->getHTML());
401 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
406 $ilCtrl->redirect($this,
'render');
413 $id = (int)
$_GET[
"object_id"];
421 include_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
423 $conf->setFormAction($ilCtrl->getFormAction($this));
424 $conf->setHeaderText($lng->txt(
'book_confirm_cancel'));
426 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
428 $conf->addItem(
'object_id', $id, $type->getTitle());
429 $conf->setConfirm($lng->txt(
'book_set_cancel'),
'rsvCancelUser');
430 $conf->setCancel($lng->txt(
'cancel'),
'render');
432 $tpl->setContent($conf->getHTML());
445 include_once
'Modules/BookingManager/classes/class.ilBookingReservation.php';
448 if ($obj->getUserId() != $ilUser->getId())
451 $ilCtrl->redirect($this,
'render');
458 $ilCtrl->redirect($this,
'render');
463 $id = (int)
$_GET[
"object_id"];
469 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
471 $file = $obj->getFileFullPath();
482 $id = (int)
$_GET[
"object_id"];
491 include_once
'Modules/BookingManager/classes/class.ilBookingReservation.php';
494 $rsv_ids = explode(
";",
$_GET[
"rsv_ids"]);
495 foreach($book_ids as $book_id)
497 if(in_array($book_id, $rsv_ids))
500 $from = $obj->getFrom();
504 $tmp[$from.
"-".$to]++;
514 foreach($tmp as $time => $counter)
516 $time = explode(
"-", $time);
522 $time .=
" (".$counter.
")";
526 $book_id = array_shift($book_ids);
532 if ($obj->getUserId() != $ilUser->getId())
537 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
539 $pfile = $obj->getPostFile();
540 $ptext = $obj->getPostText();
542 $mytpl =
new ilTemplate(
'tpl.booking_reservation_post.html',
true,
true,
'Modules/BookingManager');
543 $mytpl->setVariable(
"TITLE", $lng->txt(
'book_post_booking_information'));
548 $ptext = str_replace(
"[OBJECT]", $obj->getTitle(), $ptext);
549 $ptext = str_replace(
"[PERIOD]", implode(
"<br />", $period), $ptext);
551 $mytpl->setVariable(
"POST_TEXT", nl2br($ptext));
556 $ilCtrl->setParameter($this,
"object_id", $obj->getId());
557 $url = $ilCtrl->getLinkTarget($this,
'deliverPostFile');
558 $ilCtrl->setParameter($this,
"object_id",
"");
560 $mytpl->setVariable(
"DOWNLOAD", $lng->txt(
'download'));
561 $mytpl->setVariable(
"URL_FILE",
$url);
562 $mytpl->setVariable(
"TXT_FILE", $pfile);
565 $mytpl->setVariable(
"TXT_SUBMIT", $lng->txt(
'ok'));
566 $mytpl->setVariable(
"URL_SUBMIT", $ilCtrl->getLinkTargetByClass(
'ilobjbookingpoolgui',
'render'));
568 $tpl->setContent($mytpl->get());
575 $id = (int)
$_GET[
"object_id"];
581 include_once
'Modules/BookingManager/classes/class.ilBookingReservation.php';
584 if ($obj->getUserId() != $ilUser->getId())
589 include_once
'Modules/BookingManager/classes/class.ilBookingObject.php';
591 $file = $obj->getPostFileFullPath();
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
update()
Update object dataset.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
executeCommand()
main switch
static setUseRelativeDates($a_status)
set use relative dates
confirmDelete()
Confirm delete.
static useRelativeDates()
check if relative dates are used
static getObjectReservationForUser($a_object_id, $a_user_id, $a_multi=false)
Class ilBookingObjectGUI.
if(!is_array($argv)) $options
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
setCols($a_cols)
Set Cols.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
List booking objects (for booking type)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
create()
Render creation form.
initForm($a_mode="create", $id=NULL)
Build property form.
render()
Render list of booking objects.
save()
Create new object dataset.
This class represents a text area property in a property form.
setPoolId($a_pool_id)
Set booking pool id.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
static getList($a_pool_id)
Get list of booking objects for given pool.
Confirmation screen class.
__construct($a_parent_obj)
Constructor.