108 lines
3.9 KiB
PHP
108 lines
3.9 KiB
PHP
<?php
|
|
var_dump(gmdate('c'));
|
|
$service = 'https://api.guildwars2.com/v2/wvw/matches/stats?world=2104';
|
|
$database = '/home/backisbachus/gw2/stats.db';
|
|
$table = 'records';
|
|
|
|
$dbhandle = new PDO('sqlite:'.$database);
|
|
$dbhandle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
|
|
|
|
$match = getJson($service);
|
|
$values = getValues($match);
|
|
insertValues($dbhandle, $table, $values);
|
|
|
|
$dbhandle = null;
|
|
|
|
function getJson($url) {
|
|
$curl = curl_init($url);
|
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
|
$curl_response = curl_exec($curl);
|
|
curl_close($curl);
|
|
return json_decode($curl_response);
|
|
}
|
|
|
|
function getValues($m) {
|
|
$maps = $m->maps;
|
|
$records = array();
|
|
foreach($maps as $map) {
|
|
$type = $map->type;
|
|
switch($type) {
|
|
case "Center":
|
|
$records['eb_r_k'] = $map->kills->red;
|
|
$records['eb_b_k'] = $map->kills->blue;
|
|
$records['eb_g_k'] = $map->kills->green;
|
|
$records['eb_r_d'] = $map->deaths->red;
|
|
$records['eb_b_d'] = $map->deaths->blue;
|
|
$records['eb_g_d'] = $map->deaths->green;
|
|
break;
|
|
case "RedHome":
|
|
$records['rh_r_k'] = $map->kills->red;
|
|
$records['rh_b_k'] = $map->kills->blue;
|
|
$records['rh_g_k'] = $map->kills->green;
|
|
$records['rh_r_d'] = $map->deaths->red;
|
|
$records['rh_b_d'] = $map->deaths->blue;
|
|
$records['rh_g_d'] = $map->deaths->green;
|
|
break;
|
|
case "BlueHome":
|
|
$records['bh_r_k'] = $map->kills->red;
|
|
$records['bh_b_k'] = $map->kills->blue;
|
|
$records['bh_g_k'] = $map->kills->green;
|
|
$records['bh_r_d'] = $map->deaths->red;
|
|
$records['bh_b_d'] = $map->deaths->blue;
|
|
$records['bh_g_d'] = $map->deaths->green;
|
|
break;
|
|
case "GreenHome":
|
|
$records['gh_r_k'] = $map->kills->red;
|
|
$records['gh_b_k'] = $map->kills->blue;
|
|
$records['gh_g_k'] = $map->kills->green;
|
|
$records['gh_r_d'] = $map->deaths->red;
|
|
$records['gh_b_d'] = $map->deaths->blue;
|
|
$records['gh_g_d'] = $map->deaths->green;
|
|
break;
|
|
}
|
|
}
|
|
return $records;
|
|
}
|
|
|
|
function insertValues($h, $t, $v) {
|
|
$utc = gmdate('c');
|
|
$query = $h -> prepare("INSERT INTO ".$t." VALUES (:date,
|
|
:eb_r_k, :eb_r_d, :eb_b_k, :eb_b_d, :eb_g_k, :eb_g_d,
|
|
:rh_r_k, :rh_r_d, :rh_b_k, :rh_b_d, :rh_g_k, :rh_g_d,
|
|
:bh_r_k, :bh_r_d, :bh_b_k, :bh_b_d, :bh_g_k, :bh_g_d,
|
|
:gh_r_k, :gh_r_d, :gh_b_k, :gh_b_d, :gh_g_k, :gh_g_d
|
|
)");
|
|
|
|
|
|
$query->bindParam(':date', $utc, PDO::PARAM_STR);
|
|
$query->bindParam(':eb_r_k', $v['eb_r_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':eb_r_d', $v['eb_r_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':eb_b_k', $v['eb_b_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':eb_b_d', $v['eb_b_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':eb_g_k', $v['eb_g_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':eb_g_d', $v['eb_g_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':rh_r_k', $v['rh_r_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':rh_r_d', $v['rh_r_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':rh_b_k', $v['rh_b_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':rh_b_d', $v['rh_b_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':rh_g_k', $v['rh_g_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':rh_g_d', $v['rh_g_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':bh_r_k', $v['bh_r_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':bh_r_d', $v['bh_r_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':bh_b_k', $v['bh_b_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':bh_b_d', $v['bh_b_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':bh_g_k', $v['bh_g_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':bh_g_d', $v['bh_g_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':gh_r_k', $v['gh_r_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':gh_r_d', $v['gh_r_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':gh_b_k', $v['gh_b_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':gh_b_d', $v['gh_b_d'], PDO::PARAM_INT);
|
|
$query->bindParam(':gh_g_k', $v['gh_g_k'], PDO::PARAM_INT);
|
|
$query->bindParam(':gh_g_d', $v['gh_g_d'], PDO::PARAM_INT);
|
|
|
|
$query->execute();
|
|
|
|
}
|
|
|
|
?>
|