aboutsummaryrefslogtreecommitdiff
path: root/db/migrations/6.0.34_add_dummy_teacher.php
blob: 3724448a6bfdf12a95c488ba84166eec738fc8c6 (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
48
49
50
51
52
53
54
55
56
57
58
<?php
class AddDummyTeacher extends Migration
{
    public function description()
    {
        return 'Adds a dummy teacher (N.N.). Adds config to set dummy teachers id. @see tic #4289';
    }

    protected function up()
    {
        // Add dummy teacher
        $stm = DBManager::get()->prepare("SELECT * FROM `auth_user_md5` WHERE `username` = 'N.N.'");
        $stm->execute();
        if ($stm->rowCount() > 0) {
            $res = $stm->fetch();
            $user_id = $res['user_id'];
        } else {
            $user_id = '2afaa0dce05f0b12a7318075e52879e2';
            DBManager::get()->execute(
                "INSERT INTO `auth_user_md5` (user_id, username, perms, Vorname, Nachname, visible)
                 VALUES (:user_id, :username, :perms, :Vorname, :Nachname, :visible)",
                [
                    'user_id'        => $user_id,
                    'username'       => 'N.N.',
                    'perms'          => 'dozent',
                    'Vorname'        => 'N.',
                    'Nachname'       => 'N.',
                    'visible'        => 'never',
                ]
            );
        }

        // Add config
        DBManager::get()->execute(
            "INSERT IGNORE INTO `config` VALUES (:field, :value, :type, :range, :section, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), :desc)",
            [
                'field' => 'DUMMY_TEACHER_ID',
                'value' => $user_id,
                'type' => 'string',
                'range' => 'global',
                'section' => 'global',
                'desc' => 'ID of user that should be added to course if no teacher is left'
            ]
        );
    }

    protected function down()
    {
        // Dont delete dummy user, maybe it existed before this migration

        // Delete config
        $query = "DELETE `config`, `config_values`
                  FROM `config`
                  LEFT JOIN `config_values` USING (`field`)
                  WHERE `field` = 'DUMMY_TEACHER_ID'";
        DBManager::get()->exec($query);
    }
}