Example #1
0
function log_device_status($device, $status)
{
    $device = find_device($device["udid"]);
    if (isset($device)) {
        add_device_status($device["udid"], $status);
    }
}
Example #2
0
function create_device($device)
{
    $dev = find_device($device["udid"]);
    // var_dump($cur.count(true));
    if (isset($dev)) {
        update_device($device);
    } else {
        // we don't know about this device
        $db = get_connection();
        $device["created"] = timestamp();
        $db->device->save($device);
    }
}
Example #3
0
$view->parserOptions = array('debug' => true);
$view->parserExtensions = array(new \Slim\Views\TwigExtension());
/**
Root URL
*/
$slim->put('/', function () use($slim) {
    $body = $slim->request->getBody();
    if (!isset($body) || strlen($body) == 0) {
        $app->response()->status(401);
        // not authorised
    } else {
        $plist = new \CFPropertyList\CFPropertyList();
        $plist->parse($body);
        $message = $plist->toArray();
        $udid = $message["UDID"];
        $device = find_device($udid);
        // do we have any commands for this device?
        if (isset($message["CommandUUID"])) {
            // responding to message
            // find my command on the queue and move it
            $queue_command = find_queue_command($message["CommandUUID"]);
            if (isset($queue_command)) {
                delete_queue_command($queue_command);
            }
        } else {
            // we're just responding to an initial request
            log_device_status($device, $message["Status"]);
        }
        $command = next_command_for_device($device);
        if (isset($command) > 0) {
            // send back the first command