ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilDashboardUpdateSteps.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Dashboard\Setup;
22
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
122 public function step_3(): void
123 {
124 $this->db->manipulate('DELETE FROM desktop_item WHERE user_id NOT IN (SELECT usr_id FROM usr_data)');
125 }
126}
Class ilDBConstants.
Interface ilDBInterface.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...