function log_device_status($device, $status) { $device = find_device($device["udid"]); if (isset($device)) { add_device_status($device["udid"], $status); } }
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); } }
$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