Projekt

Obecné

Profil

Stáhnout (1.95 KB) Statistiky
| Větev: | Revize:
1
<?php
2

    
3
require_once "dao/dao.php";
4
require_once "db/db-web.php";
5
require_once "parser.php";
6
require_once "process_traffic_matrix.php";
7

    
8
function cron() {
9
    // Nacteni dat z testovacich souboru.
10
    cron_procedure(new DateTime("20180605"));
11
}
12

    
13
// Funkce, ktera je volana bud cron() nebo year_cron() a ktera stahne data pro dany den.
14
function cron_procedure($date) {
15
    // Kvuli timeoutu.
16
    set_time_limit(0);
17
    
18
    // Objekt pro logovani.
19
    $logs = new Logging();
20
    
21
    // Vytvoreni objektu pro komunikaci s DB.
22
    $dbh = new DB_WEB($logs);
23
    $DAO = new DAO();
24
    $DAO->setDB($dbh);
25
    
26
    if ($date != NULL && $DAO->controlTrafficData($date->format("Y-m-d"))) {
27
        $logs->log(Logging::INFO, "Data k vybranemu dni (".$date->format("d.m.Y").") jeste v databazi nejsou.");
28
        $parser = new Parser($logs);
29
        $parser->doWork($date->format("Ymd"));
30
        
31
        $traffic = $parser->getTraffic();
32
        $trafficOneDay = $parser->getTrafficOneDay();
33
        $locations = $parser->getLocations();
34
        
35
        $DAO->insertVehicles(); // Pokud nejsou typy vozidel v tabulce - pridat.
36
        
37
        // Pridat udaje o novych zarizenich.
38
        foreach ($locations as $l) {
39
            $DAO->insertLocationData($l);
40
        }
41
        
42
        // Pridat zaznamy z vybraneho dne.
43
        $insertDate = array();
44
        $insertRTT = array();
45
        $insertRT = array();
46
        $insertOneDay = array();
47
        process_traffic_matrix($parser, $traffic, $trafficOneDay, $DAO->findFirstId("datum"), $DAO->findFirstId("zaznam_cas"), $DAO->findFirstId("zaznam"), $DAO->findFirstId("zaznam_prum_den"), $insertDate, $insertRTT, $insertRT, $insertOneDay, $date->format("Y-m-d"));
48
        $DAO->insertTrafficData($insertDate, $insertRTT, $insertRT, $insertOneDay);
49
    } else if ($date != NULL) {
50
        // Data pro vybrany den uz v databazi jsou.
51
        $logs->log(Logging::WARNING, "Pro vybrany den (".$date->format("d.m.Y").") jiz data v databazi jsou.");
52
    }
53
}
54

    
55
?>
(2-2/10)