Example #1
0
<?php

function output($method, $data)
{
    $serverid = (int) $_GET['serverid'];
    if (!isset($_GET['plain'])) {
        echo 'update.' . $method . '(' . intval($serverid) . ', ' . json_encode($data) . ");\n";
    } else {
        echo json_encode($data);
    }
}
try {
    if (!empty($_GET['package'])) {
        $data = db()->update_package->get("id = '%s'", $_GET['package'])->assoc();
        $pkg = new update_package($data);
        $current = intval($_GET['current']);
        output('install', $pkg->deliver($_SERVER['REMOTE_ADDR'], $current));
        $col = $current ? 'updates' : 'installations';
        db()->query("UPDATE update_package SET %s = %s + 1 WHERE id = '%s'", $col, $col, $data['id']);
    } else {
        output('remote', array_values(update_package::liste($_SERVER['REMOTE_ADDR'])));
    }
} catch (Exception $e) {
    output('error', array('error' => $e->getMessage()));
}