4require_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);
 
   62                if ($ilAccess->checkAccess(
'write', 
'', $this->ref_id))
 
   64                        include_once 
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
 
   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");
 
  155                $title->setRequired(
true);
 
  157                $title->setMaxLength(120);
 
  158                $form_gui->addItem($title);
 
  163                $form_gui->addItem($desc);
 
  166                $file->setALlowDeletion(
true);
 
  167                $form_gui->addItem(
$file);
 
  170                $nr->setRequired(
true);
 
  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"];
 
  184                        $schedule->setRequired(
true);
 
  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);
 
  200                $pfile->setALlowDeletion(
true);
 
  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();
 
Class ilBookingObjectGUI.
update()
Update object dataset.
executeCommand()
main switch
confirmDelete()
Confirm delete.
initForm($a_mode="create", $id=NULL)
Build property form.
render()
Render list of booking objects.
__construct($a_parent_obj)
Constructor.
save()
Create new object dataset.
create()
Render creation form.
setPoolId($a_pool_id)
Set booking pool id.
List booking objects (for booking type)
static getObjectReservationForUser($a_object_id, $a_user_id, $a_multi=false)
static getList($a_pool_id)
Get list of booking objects for given pool.
Confirmation screen class.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
static setUseRelativeDates($a_status)
set use relative dates
static useRelativeDates()
check if relative dates are used
@classDescription Date and time handling
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
if(!is_array($argv)) $options