hasMissingParams($req, [ 'version', 'os', ]); if ($missing) { return new ApiResponse(false, $missing); } $need_update = false; $msg = 'Version is up to date.'; $os = $req->query->get('os'); // putting this in for the future, in case we have diverging versions //$platform = $req->query->get('platform'); // get only the major version numbers $app_version = $req->query->get('version'); $app_major = substr($app_version, 0, strripos($app_version, ".")); $latest_version = $this->getParameter($os . '_app_version'); $latest_major = substr($latest_version, 0, strripos($latest_version, ".")); if ($latest_major < $app_major) { return new ApiResponse(false, 'Invalid application version: ' . $app_version); } if ($latest_major > $app_major) { $need_update = true; $msg = 'Your version is outdated and needs an update to use the latest features RES-Q has to offer.'; } // response return new ApiResponse(true, '', [ 'need_update' => $need_update, 'latest_version' => $latest_version, 'message' => $msg, ]); } }