19 declare(strict_types=1);
32 if ($this->db->tableColumnExists(
'tst_tests',
'show_examview_pdf')) {
33 $this->db->dropTableColumn(
'tst_tests',
'show_examview_pdf');
39 if (!$this->db->tableExists(
'manscoring_done')) {
40 $this->db->createTable(
'manscoring_done', [
53 $this->db->addPrimaryKey(
'manscoring_done', [
'active_id']);
62 if ($this->db->tableColumnExists(
'tst_tests',
'char_selector_availability')) {
63 $this->db->dropTableColumn(
'tst_tests',
'char_selector_availability');
66 if ($this->db->tableColumnExists(
'tst_tests',
'char_selector_definition')) {
67 $this->db->dropTableColumn(
'tst_tests',
'char_selector_definition');
73 if (!$this->db->tableColumnExists(
'tst_tests',
'introduction_page_id')) {
74 $this->db->addTableColumn(
76 'introduction_page_id',
83 if (!$this->db->tableColumnExists(
'tst_tests',
'concluding_remarks_page_id')) {
84 $this->db->addTableColumn(
86 'concluding_remarks_page_id',
97 if ($this->db->tableColumnExists(
'tst_tests',
'show_examview_html')) {
98 $this->db->dropTableColumn(
103 if ($this->db->tableColumnExists(
'tst_tests',
'showinfo')) {
104 $this->db->dropTableColumn(
109 if ($this->db->tableColumnExists(
'tst_tests',
'forcejs')) {
110 $this->db->dropTableColumn(
115 if ($this->db->tableColumnExists(
'tst_tests',
'enable_archiving')) {
116 $this->db->dropTableColumn(
121 if ($this->db->tableColumnExists(
'tst_tests',
'customstyle')) {
122 $this->db->dropTableColumn(
127 if ($this->db->tableColumnExists(
'tst_tests',
'enabled_view_mode')) {
128 $this->db->dropTableColumn(
137 if ($this->db->tableColumnExists(
'tst_tests',
'allowedusers')) {
138 $this->db->dropTableColumn(
'tst_tests',
'allowedusers');
141 if ($this->db->tableColumnExists(
'tst_tests',
'alloweduserstimegap')) {
142 $this->db->dropTableColumn(
'tst_tests',
'alloweduserstimegap');
145 if ($this->db->tableColumnExists(
'tst_tests',
'limit_users_enabled')) {
146 $this->db->dropTableColumn(
'tst_tests',
'limit_users_enabled');
152 if ($this->db->tableExists(
'tst_dyn_quest_set_cfg')) {
153 $this->db->dropTable(
'tst_dyn_quest_set_cfg');
155 if ($this->db->tableExists(
'tst_seq_qst_tracking')) {
156 $this->db->dropTable(
'tst_seq_qst_tracking');
158 if ($this->db->tableExists(
'tst_seq_qst_answstatus')) {
159 $this->db->dropTable(
'tst_seq_qst_answstatus');
161 if ($this->db->tableExists(
'tst_seq_qst_postponed')) {
162 $this->db->dropTable(
'tst_seq_qst_postponed');
168 if ($this->db->tableColumnExists(
'tst_tests',
'redirection_url')) {
169 $this->db->modifyTableColumn(
184 if (!$this->db->tableColumnExists(
'tst_tests',
'show_questionlist')) {
185 $this->db->addTableColumn(
198 if ($this->db->tableColumnExists(
'tst_tests',
'sign_submission')) {
199 $this->db->dropTableColumn(
208 if ($this->db->tableColumnExists(
'tst_tests',
'show_summary')) {
209 $this->db->renameTableColumn(
212 'usr_pass_overview_mode' 219 if (!$this->db->tableColumnExists(
'tst_tests',
'show_questionlist')) {
220 $this->db->addTableColumn(
233 if (!$this->db->tableColumnExists(
'tst_tests',
'hide_info_tab')) {
234 $this->db->addTableColumn(
'tst_tests',
'hide_info_tab', [
242 if (!$this->db->tableColumnExists(
'tst_tests',
'conditions_checkbox_enabled')) {
243 $this->db->addTableColumn(
'tst_tests',
'conditions_checkbox_enabled', [
254 if ($this->db->tableColumnExists(
'tst_tests',
'hide_info_tab')) {
255 $this->db->modifyTableColumn(
'tst_tests',
'hide_info_tab', [
263 if ($this->db->tableColumnExists(
'tst_tests',
'conditions_checkbox_enabled')) {
264 $this->db->modifyTableColumn(
'tst_tests',
'conditions_checkbox_enabled', [
275 if ($this->db->tableColumnExists(
'tst_tests',
'result_tax_filters')) {
276 $this->db->dropTableColumn(
'tst_tests',
'result_tax_filters');
282 $this->db->modifyTableColumn(
295 $this->db->modifyTableColumn(
297 'use_previous_answers',
309 $this->db->renameTableColumn(
312 'suspend_test_allowed' 318 if (!$this->db->tableExists(
'tst_qst_var_presented')) {
319 $this->db->createTable(
'tst_qst_var_presented', [
346 $this->db->addPrimaryKey(
347 'tst_qst_var_presented',
348 [
'question_id',
'active_id',
'pass',
'variable']
360 $this->db->manipulate(
'UPDATE tst_pass_result SET points = 0 WHERE points < 0');
361 $this->db->manipulate(
'UPDATE tst_result_cache SET reached_points = 0 WHERE reached_points < 0');
366 $this->db->modifyTableColumn(
373 $this->db->modifyTableColumn(
384 $this->db->manipulate(
385 'DELETE FROM settings WHERE module="assessment" AND keyword="assessment_man_scoring_fix_run"'
prepare(ilDBInterface $db)
step_3()
Drop the test settings for the special character seletor.