summaryrefslogtreecommitdiff
path: root/db/update.d/11_Room_and_NeededAngelTypes.php
blob: f5b1c5b4bd67d3bce77edb175a28fefc9f049f6b (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
<?php
if(sql_num_query("SHOW TABLES LIKE 'NeededAngelTypes'") === 0) {
    sql_query("CREATE TABLE `NeededAngelTypes` (
                  `id` int(11) NOT NULL AUTO_INCREMENT,
                  `room_id` int(11) DEFAULT NULL,
                  `shift_id` int(11) DEFAULT NULL,
                  `angel_type_id` int(11) NOT NULL,
                  `count` int(11) NOT NULL,
                  PRIMARY KEY (`id`),
                  KEY `room_id` (`room_id`,`angel_type_id`),
                  KEY `shift_id` (`shift_id`),
                  KEY `angel_type_id` (`angel_type_id`)
                )
    ");
    $data = sql_select("SELECT * FROM `Room`");
    $res = sql_query("SHOW COLUMNS FROM `Room` LIKE 'DEFAULT_EID_%'");
    while($col = mysql_fetch_assoc($res)) {
        $tid = explode('_', $col['Field']);
        $tid = intval(array_pop($tid));
        if($col['Default'] != '0')
            sql_query("INSERT INTO `NeededAngelTypes` (`angel_type_id`, `count`) VALUES (" . $tid . ", " . intval($col['Default']) . ")");

        foreach($data as $row) {
            if($row[$col['Field']] > 0)
                sql_query("INSERT INTO `NeededAngelTypes` (`angel_type_id`, `room_id`, `count`) VALUES (" . $tid . ", " . $row['RID'] . ", " . $row[$col['Field']] . ")");
        }
        sql_query("ALTER TABLE `Room` DROP `" . $col['Field'] . "`");
    }

    $applied = true;
}
_add_index("Room", array("Name"));
?>