ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilDashboardUpdateSteps.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\Dashboard\Setup;
22 
24 use ilDBConstants;
25 use ilDBInterface;
26 
28 {
29  protected ilDBInterface $db;
30 
31  public function prepare(ilDBInterface $db): void
32  {
33  $this->db = $db;
34  }
35 
36  public function step_1(): void
37  {
38  $this->db->manipulateF('DELETE FROM settings WHERE keyword = %s', [ilDBConstants::T_TEXT], ['enable_block_moving']);
39  $this->db->manipulate('DELETE FROM il_block_setting WHERE ' . $this->db->like('type', ilDBConstants::T_TEXT, 'pd%'));
40  }
41 
42  public function step_2(): void
43  {
44  $this->db->insert('settings', [
45  'module' => [ilDBConstants::T_TEXT, 'common'],
46  'keyword' => [ilDBConstants::T_TEXT, 'disable_recommended_content'],
47  'value' => [ilDBConstants::T_TEXT, '0']
48  ]);
49  $this->db->insert('settings', [
50  'module' => [ilDBConstants::T_TEXT, 'common'],
51  'keyword' => [ilDBConstants::T_TEXT, 'disable_study_programmes'],
52  'value' => [ilDBConstants::T_TEXT, '0']
53  ]);
54  $this->db->insert('settings', [
55  'module' => [ilDBConstants::T_TEXT, 'common'],
56  'keyword' => [ilDBConstants::T_TEXT, 'disable_learning_sequences'],
57  'value' => [ilDBConstants::T_TEXT, '0']
58  ]);
59 
60  $sql = 'SELECT * FROM settings WHERE keyword = %s';
61  for ($view = 0; $view <= 4; $view++) {
62  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_active_pres_view_' . $view])) === 0) {
63  $this->db->insert('settings', [
64  'module' => [ilDBConstants::T_TEXT, 'common'],
65  'keyword' => [ilDBConstants::T_TEXT, 'pd_active_pres_view_' . $view],
66  'value' => [ilDBConstants::T_TEXT, serialize(['list', 'tile'])]
67  ]);
68  }
69  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_def_pres_view_' . $view])) === 0) {
70  $this->db->insert('settings', [
71  'module' => [ilDBConstants::T_TEXT, 'common'],
72  'keyword' => [ilDBConstants::T_TEXT, 'pd_def_pres_view_' . $view],
73  'value' => [ilDBConstants::T_TEXT, 'list']
74  ]);
75  }
76  }
77  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_active_sort_view_1'])) === 0) {
78  $this->db->insert('settings', [
79  'module' => [ilDBConstants::T_TEXT, 'common'],
80  'keyword' => [ilDBConstants::T_TEXT, 'pd_active_sort_view_1'],
81  'value' => [ilDBConstants::T_TEXT, serialize(['location', 'type', 'alphabet'])]
82  ]);
83  }
84  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_active_sort_view_3'])) === 0) {
85  $this->db->insert('settings', [
86  'module' => [ilDBConstants::T_TEXT, 'common'],
87  'keyword' => [ilDBConstants::T_TEXT, 'pd_active_sort_view_3'],
88  'value' => [ilDBConstants::T_TEXT, serialize(['location', 'alphabet'])]
89  ]);
90  }
91  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_active_sort_view_4'])) === 0) {
92  $this->db->insert('settings', [
93  'module' => [ilDBConstants::T_TEXT, 'common'],
94  'keyword' => [ilDBConstants::T_TEXT, 'pd_active_sort_view_4'],
95  'value' => [ilDBConstants::T_TEXT, serialize(['location', 'alphabet'])]
96  ]);
97  }
98 
99  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_def_sort_view_1'])) === 0) {
100  $this->db->insert('settings', [
101  'module' => [ilDBConstants::T_TEXT, 'common'],
102  'keyword' => [ilDBConstants::T_TEXT, 'pd_def_sort_view_1'],
103  'value' => [ilDBConstants::T_TEXT, 'location']
104  ]);
105  }
106  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_def_sort_view_3'])) === 0) {
107  $this->db->insert('settings', [
108  'module' => [ilDBConstants::T_TEXT, 'common'],
109  'keyword' => [ilDBConstants::T_TEXT, 'pd_def_sort_view_3'],
110  'value' => [ilDBConstants::T_TEXT, 'location']
111  ]);
112  }
113  if ($this->db->numRows($this->db->queryF($sql, [ilDBConstants::T_TEXT], ['pd_def_sort_view_4'])) === 0) {
114  $this->db->insert('settings', [
115  'module' => [ilDBConstants::T_TEXT, 'common'],
116  'keyword' => [ilDBConstants::T_TEXT, 'pd_def_sort_view_4'],
117  'value' => [ilDBConstants::T_TEXT, 'location']
118  ]);
119  }
120  }
121 }