aboutsummaryrefslogtreecommitdiff
path: root/db/migrations/1.45_refine_logevents.php
blob: 482ccafb74481fd623a1a14fab6096a006ed7c8c (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
59
60
61
62
<?
require_once 'lib/admission.inc.php';
class RefineLogevents extends Migration
{

    function description ()
    {
        return "Refine OS Logevent  'SEM_CHANGED_ACCESS' Information text into more sensebale and readable text";
    }

    function up ()
    {

        // (1) Get action_id for logactions'SEM_CHANGED_ACCESS'
        $data = DBManager::get()->query("SELECT action_id FROM log_actions WHERE name  = 'SEM_CHANGED_ACCESS'")->fetch();
        $action_id = $data['action_id'];
        
        // (2) Update the format string
        DBManager::get()->query("UPDATE log_actions 
            SET info_template = '%user ändert die Zugangsberechtigungen der Veranstaltung %sem(%affected).'
            WHERE action_id = '$action_id'");

        // (3) Get all corresponding logevents and update the info text
        $stmt = DBManager::get()->query("SELECT event_id, info FROM log_events WHERE action_id = '$action_id'");
        while ($data = $stmt->fetch()) {
          if($info=unserialize($data['info'])) {
            $anmeldeverfahren=$info["admission_type"]; 
            $startzeit=$info["start_time"]; 
            $endzeit=$info["end_time"]; 
            $lesezugriff=$info["read_level"]; 
            $schreibzugriff=$info["write_level"]; 
            $admission_prelim=$info["admission_prelim"]; 
            $passwort=$info["passwort"]; 
            $disable_waiting_list=$info["admission_disable_waitlist"]; 
            $maxteilnehmerzahl=$info["admission_turnout"]; 
            $verbindlich = $info["admission_binding"]; 
            $enable_quota=$info["admission_enable_quota"]; 

            $inf_txt=": \nAnmeldeverfahren auf ".get_admission_description('admission_type', $anmeldeverfahren)." geändert.". 
                            " Startzeit auf ".date("d.m.Y H:i",$startzeit)." geändert.". 
                            " Endzeit auf ".date("d.m.Y H:i",$endzeit)." geändert.\n". 
                            "Lesezugriff auf ".get_admission_description('read_level', $lesezugriff)." geändert.". 
                            " Schreibzugriff auf ".get_admission_description('write_level', $schreibzugriff)." geändert.". 
                            " Vorläufigen Zugang auf ".get_admission_description('admission_prelim',$admission_prelim)." geändert.\n". 
                            "Passwort auf ".$passwort." geändert.". 
                            "Warteliste auf ".$disable_waiting_list." geändert.". 
                            " Teilnehmerzahl auf ".$maxteilnehmerzahl." geändert.". 
                            " Verbindlich auf ".$verbindlich." geändert.". 
                            " Enable_Quotas ".$enable_quota." geändert."; 
            
            DBManager::get()->query("UPDATE log_events SET info = '$inf_txt' WHERE event_id = '{$data['event_id']}'");
          }  
          
        }
    }

    function down ()
    {

    }
}
?>