ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilBookingInfoScreenAdapter Class Reference

Embeds booking information into info screen. More...

+ Collaboration diagram for ilBookingInfoScreenAdapter:

Public Member Functions

 __construct (ilInfoScreenGUI $info_screen_gui)
 Constructor. More...
 
 add ()
 Add info. More...
 

Protected Member Functions

 getPoolIds ()
 Get pool ids. More...
 
 getList ()
 Get list. More...
 

Protected Attributes

 $info_screen_gui
 
 $context_obj_id
 
 $use_book_repo
 

Detailed Description

Embeds booking information into info screen.

Author
killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 11 of file class.ilBookingInfoScreenAdapter.php.

Constructor & Destructor Documentation

◆ __construct()

ilBookingInfoScreenAdapter::__construct ( ilInfoScreenGUI  $info_screen_gui)

Constructor.

Parameters
ilInfoScreenGUI$info_screen_gui

Definition at line 32 of file class.ilBookingInfoScreenAdapter.php.

References $DIC, and $info_screen_gui.

33  {
34  global $DIC;
35  $this->info_screen_gui = $info_screen_gui;
36  $this->context_obj_id = $this->info_screen_gui->getContextObjId();
37 
38  $this->use_book_repo = new ilObjUseBookDBRepository($DIC->database());
39  }
This repo stores infos on repository objects that are using booking managers as a service (resource m...
$DIC
Definition: xapitoken.php:46

Member Function Documentation

◆ add()

ilBookingInfoScreenAdapter::add ( )

Add info.

Definition at line 76 of file class.ilBookingInfoScreenAdapter.php.

References $info_screen_gui, ilObject\_lookupTitle(), ilDatePresentation\formatDate(), getList(), and IL_CAL_DATE.

77  {
78  $info = $this->info_screen_gui;
79  $current_pool_id = 0;
80 
81  foreach ($this->getList() as $item) {
82  // headings (pool title)
83  if ($current_pool_id != $item["pool_id"]) {
84  $info->addSection(ilObject::_lookupTitle($item["pool_id"]));
85  }
86  // booking object
87  $info->addProperty(
88  $item["title"] . " (" . $item["counter"] . ")",
89  ilDatePresentation::formatDate(new ilDate($item["date"], IL_CAL_DATE)) . ", " . $item["slot"]
90  );
91  $current_pool_id = $item["pool_id"];
92  }
93  }
static _lookupTitle($a_id)
lookup object title
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
Class for single dates.
const IL_CAL_DATE
+ Here is the call graph for this function:

◆ getList()

ilBookingInfoScreenAdapter::getList ( )
protected

Get list.

Returns
array[]

Definition at line 58 of file class.ilBookingInfoScreenAdapter.php.

References $context_obj_id, Vendor\Package\$f, getPoolIds(), ilUtil\sortArray(), ilUtil\stableSortArray(), and ilBookingReservation\STATUS_CANCELLED.

Referenced by add().

58  : array
59  {
60  $filter = ["context_obj_ids" => [$this->context_obj_id]];
61  $filter['past'] = true;
62  $filter['status'] = -ilBookingReservation::STATUS_CANCELLED;
64  $repo = $f->getRepo();
65  $list = $repo->getListByDate(true, null, $filter, $this->getPoolIds());
66  $list = ilUtil::sortArray($list, "slot", "asc", true);
67  $list = ilUtil::stableSortArray($list, "date", "asc", true);
68  $list = ilUtil::stableSortArray($list, "pool_id", "asc", true);
69  return $list;
70  }
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static stableSortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false)
Sort an aray using a stable sort algorithm, which preveserves the sequence of array elements which ha...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPoolIds()

ilBookingInfoScreenAdapter::getPoolIds ( )
protected

Get pool ids.

Returns
int[]

Definition at line 46 of file class.ilBookingInfoScreenAdapter.php.

References ilObject\_lookupObjId().

Referenced by getList().

47  {
48  $pool_ids = array_map(function ($ref_id) {
49  return ilObject::_lookupObjId($ref_id);
50  }, $this->use_book_repo->getUsedBookingPools($this->context_obj_id));
51  return $pool_ids;
52  }
static _lookupObjId($a_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $context_obj_id

ilBookingInfoScreenAdapter::$context_obj_id
protected

Definition at line 21 of file class.ilBookingInfoScreenAdapter.php.

Referenced by getList().

◆ $info_screen_gui

ilBookingInfoScreenAdapter::$info_screen_gui
protected

Definition at line 16 of file class.ilBookingInfoScreenAdapter.php.

Referenced by __construct(), and add().

◆ $use_book_repo

ilBookingInfoScreenAdapter::$use_book_repo
protected

Definition at line 26 of file class.ilBookingInfoScreenAdapter.php.


The documentation for this class was generated from the following file: