blob: 6332f26116b6300f1fa7e5cb08724d6ec05fafa6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<?php
return new class extends Migration
{
public function description()
{
return 'StEP 4109: Remove ELEARNING_INTERFACE';
}
protected function up()
{
$db = DBManager::get();
$plugin_id = $db->fetchColumn("SELECT pluginid FROM plugins WHERE pluginclassname='CoreElearningInterface'");
$db->execute("DELETE FROM roles_plugins WHERE pluginid=?", [$plugin_id]);
$db->execute("DELETE FROM tools_activated WHERE plugin_id=?", [$plugin_id]);
$db->execute("DELETE FROM plugins WHERE pluginid=?", [$plugin_id]);
$ilias_config = $db->fetchColumn("SELECT `value` FROM config_values WHERE `field`='ILIAS_INTERFACE_SETTINGS'");
if ($ilias_config) {
$ilias_config = json_decode($ilias_config, true);
if (is_array($ilias_config)) {
$config_keys = array_keys($ilias_config);
if (count($config_keys)) {
$db->execute("DELETE FROM auth_extern WHERE external_user_system_type NOT IN (?)", [$config_keys]);
$db->execute("DELETE FROM object_contentmodules WHERE system_type NOT IN (?)", [$config_keys]);
}
}
} else {
$elearning_active = $db->fetchColumn("SELECT `value` FROM config_values WHERE `field` LIKE 'ELEARNING_INTERFACE%ACTIVE' LIMIT 1");
if (!$elearning_active) {
$db->execute("DELETE FROM auth_extern");
$db->execute("DELETE FROM object_contentmodules");
}
}
$db->exec("DELETE FROM `config_values` WHERE `field` LIKE 'ELEARNING_INTERFACE%'");
$db->exec("DELETE FROM `config_values` WHERE `field` IN ('SOAP_ENABLE', 'SOAP_USE_PHP5')");
$db->exec("DELETE FROM `config` WHERE `field` LIKE 'ELEARNING_INTERFACE%'");
$db->exec("DELETE FROM `config` WHERE `field` IN ('SOAP_ENABLE', 'SOAP_USE_PHP5')");
}
protected function down()
{
}
};
|