aboutsummaryrefslogtreecommitdiff
blob: 59cd06157e15ca1984fabe827424458682855617 (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
    require_once "config.php";
    
    if (RECAPTCHA_ENABLED) {
        require_once GENTOASTER_PATH."/ui/recaptcha.php";
    }

    if (!SIMULTANEOUS_BUILDS) {
            $db = new mysqli(
                MYSQL_HOSTNAME, 
                MYSQL_USERNAME,
                MYSQL_PASSWORD, 
                MYSQL_DATABASE
            );
                  
            if (mysqli_connect_errno()) {
               die("Could not connect to database ".mysqli_connect_error());
            }
        
            $ipaddress = filter_input(
                INPUT_SERVER, 
                "REMOTE_ADDR",
                FILTER_VALIDATE_IP
            );
                
            $query = "SELECT id, handle ".
                     "FROM builds WHERE ipaddress = ?";
            $stmt = $db->prepare($query);
            $stmt->bind_param("s", $ipaddress);
            $stmt->execute();
            $stmt->store_result();
                        
            if ($stmt->num_rows == 1) {
                    $stmt->bind_result($buildID, $handle);
                    $stmt->fetch();
                    $client = new GearmanClient();
                    $client->addServer();
                    $status = $client->jobStatus($handle);
                    if ($status[0]) {
                        $url = "status.php?uuid=".$buildID."&simultaneous=true";
                        header("Location: ".$url);
                    }
            }
            $stmt->close();
    }

    $timezones = array();
    $zonetab = file(ZONETAB);
    foreach ($zonetab as $buf) {
        if (substr($buf, 0, 1)=='#') {
            continue;
        }
        $rec = preg_split('/\s+/', $buf);
        $key = $rec[2];
        $val = $rec[2];
        $c = count($rec);
        for ($i=3;$i<$c;$i++) {
            $val.= ' '.$rec[$i];
        }
        $timezones[$key] = $val;
        ksort($timezones);
    }
    $timezoneOption = "";
    foreach ($timezones as $timezone => $description) {
        $timezoneOption .= "<option";
        if ($timezone == DEFAULT_TIMEZONE) {
            $timezoneOption .= " selected";
        }
        $timezoneOption .= ">".$timezone."</option>\n";
    }
    $layoutLines = file(GENTOASTER_PATH."/res/keyboard.lst");
    $keyboardOption = "";
    $layouts = array();
    
    foreach($layoutLines as $layout) {
        $layoutdata = explode("\t", $layout);
        $layouts[$layoutdata[0]] = $layoutdata[1];
    }
    asort($layouts);
     
    foreach($layouts as $layoutCode => $layoutName) {   
        $keyboardOption .= "<option value=\"".$layoutCode."\"";
        if ($layoutCode == DEFAULT_KEYBOARD) {
            $keyboardOption .= " selected";
        }
        $keyboardOption .= ">".trim($layoutName)."</option>\n";
    }
?>