ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\BookingManager\Settings\SettingsDBRepository Class Reference
+ Collaboration diagram for ILIAS\BookingManager\Settings\SettingsDBRepository:

Public Member Functions

 __construct (protected ilDBInterface $db, protected InternalDataService $data)
 
 create (Settings $settings)
 
 update (Settings $settings)
 
 getById (int $id)
 
 delete (int $id)
 

Protected Member Functions

 getSettingsFromRecord (array $record)
 

Detailed Description

Definition at line 26 of file SettingsDBRepository.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\BookingManager\Settings\SettingsDBRepository::__construct ( protected ilDBInterface  $db,
protected InternalDataService  $data 
)

Definition at line 28 of file SettingsDBRepository.php.

31 {
32 }

Member Function Documentation

◆ create()

ILIAS\BookingManager\Settings\SettingsDBRepository::create ( Settings  $settings)

Definition at line 34 of file SettingsDBRepository.php.

34 : void
35 {
36 $this->db->insert('booking_settings', [
37 'booking_pool_id' => ['integer', $settings->getId()],
38 'public_log' => ['integer', (int) $settings->getPublicLog()],
39 'schedule_type' => ['integer', $settings->getScheduleType()],
40 'ovlimit' => ['integer', $settings->getOverallLimit()],
41 'rsv_filter_period' => ['integer', $settings->getReservationPeriod()],
42 'reminder_status' => ['integer', $settings->getReminderStatus()],
43 'reminder_day' => ['integer', $settings->getReminderDay()],
44 'pref_deadline' => ['integer', $settings->getPrefDeadline()],
45 'preference_nr' => ['integer', $settings->getPreferenceNr()],
46 'messages' => ['integer', (int) $settings->getMessages()],
47 ]);
48 }

References ILIAS\BookingManager\Settings\Settings\getId(), ILIAS\BookingManager\Settings\Settings\getMessages(), ILIAS\BookingManager\Settings\Settings\getOverallLimit(), ILIAS\BookingManager\Settings\Settings\getPrefDeadline(), ILIAS\BookingManager\Settings\Settings\getPreferenceNr(), ILIAS\BookingManager\Settings\Settings\getPublicLog(), ILIAS\BookingManager\Settings\Settings\getReminderDay(), ILIAS\BookingManager\Settings\Settings\getReminderStatus(), ILIAS\BookingManager\Settings\Settings\getReservationPeriod(), and ILIAS\BookingManager\Settings\Settings\getScheduleType().

+ Here is the call graph for this function:

◆ delete()

ILIAS\BookingManager\Settings\SettingsDBRepository::delete ( int  $id)

Definition at line 83 of file SettingsDBRepository.php.

83 : void
84 {
85 $this->db->manipulateF(
86 'DELETE FROM booking_settings WHERE booking_pool_id = %s',
87 ['integer'],
88 [$id]
89 );
90 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References $id.

◆ getById()

ILIAS\BookingManager\Settings\SettingsDBRepository::getById ( int  $id)

Definition at line 67 of file SettingsDBRepository.php.

67 : ?Settings
68 {
69 $set = $this->db->queryF(
70 'SELECT * FROM booking_settings WHERE booking_pool_id = %s',
71 ['integer'],
72 [$id]
73 );
74
75 $record = $this->db->fetchAssoc($set);
76 if ($record) {
77 return $this->getSettingsFromRecord($record);
78 }
79
80 return null;
81 }

References $id, and ILIAS\BookingManager\Settings\SettingsDBRepository\getSettingsFromRecord().

+ Here is the call graph for this function:

◆ getSettingsFromRecord()

ILIAS\BookingManager\Settings\SettingsDBRepository::getSettingsFromRecord ( array  $record)
protected

Definition at line 92 of file SettingsDBRepository.php.

92 : Settings
93 {
94 return $this->data->settings(
95 (int) $record['booking_pool_id'],
96 (bool) $record['public_log'],
97 (int) $record['schedule_type'],
98 (int) $record['ovlimit'],
99 (int) $record['rsv_filter_period'],
100 (bool) $record['reminder_status'],
101 (int) $record['reminder_day'],
102 (int) $record['pref_deadline'],
103 (int) $record['preference_nr'],
104 (bool) $record['messages']
105 );
106 }

Referenced by ILIAS\BookingManager\Settings\SettingsDBRepository\getById().

+ Here is the caller graph for this function:

◆ update()

ILIAS\BookingManager\Settings\SettingsDBRepository::update ( Settings  $settings)

Definition at line 50 of file SettingsDBRepository.php.

50 : void
51 {
52 $this->db->update('booking_settings', [
53 'public_log' => ['integer', (int) $settings->getPublicLog()],
54 'schedule_type' => ['integer', $settings->getScheduleType()],
55 'ovlimit' => ['integer', $settings->getOverallLimit()],
56 'rsv_filter_period' => ['integer', $settings->getReservationPeriod()],
57 'reminder_status' => ['integer', $settings->getReminderStatus()],
58 'reminder_day' => ['integer', $settings->getReminderDay()],
59 'pref_deadline' => ['integer', $settings->getPrefDeadline()],
60 'preference_nr' => ['integer', $settings->getPreferenceNr()],
61 'messages' => ['integer', (int) $settings->getMessages()],
62 ], [
63 'booking_pool_id' => ['integer', $settings->getId()],
64 ]);
65 }

References ILIAS\BookingManager\Settings\Settings\getId(), ILIAS\BookingManager\Settings\Settings\getMessages(), ILIAS\BookingManager\Settings\Settings\getOverallLimit(), ILIAS\BookingManager\Settings\Settings\getPrefDeadline(), ILIAS\BookingManager\Settings\Settings\getPreferenceNr(), ILIAS\BookingManager\Settings\Settings\getPublicLog(), ILIAS\BookingManager\Settings\Settings\getReminderDay(), ILIAS\BookingManager\Settings\Settings\getReminderStatus(), ILIAS\BookingManager\Settings\Settings\getReservationPeriod(), and ILIAS\BookingManager\Settings\Settings\getScheduleType().

+ Here is the call graph for this function:

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