public function updateQueue(Request $request, Response $response, array $args) { global $database; $err = new \Malmanger\Mpmq\Util\ErrorHandler(); $data = $request->getParsedBody(); $this->log->debug("updateQueue args=" . print_r($args, true)); $this->log->debug("updateQueue data=" . print_r($data, true)); // Check for mandatory parameters and set defaults $id = null; $name = null; $timeout = null; $description = null; $key = "id"; //mandatory in URL if (!array_key_exists($key, $args)) { $err->addMissing($key); } else { $id = $args["id"]; } $key = "name"; if (array_key_exists($key, $data)) { $name = $data[$key]; } $key = "description"; if (array_key_exists($key, $data)) { $description = $data[$key]; } $key = "timeout"; if (array_key_exists($key, $data)) { $timeout = $data[$key]; } $queue = new DbQueue($id, 'dummy name'); if (!$queue->queueExists()) { $err->addNotFound($id); } if ($err->getLevel() > 0) { return $err->getErrorResponse($response); } if (!empty($name)) { $queue->setName($name); } if (!empty($timeout)) { $queue->setTimeout($timeout); } if (!empty($description)) { $queue->setDescription($description); } if (!$queue->save()) { $err->addDbUpdate("updateQueue"); } if ($err->getLevel() > 0) { return $err->getErrorResponse($response); } else { $data = array(); $data['id'] = $queue->getId(); $data['name'] = $queue->getName(); $data['description'] = $queue->getDescription(); $data['timeout'] = $queue->getTimeout(); $resp = new \Malmanger\Mpmq\Util\ResponseHandler($data); return $resp->getResponse($response); } }