public static function createFromApi($data) { $system = new self(); $system->setId($data->id); $system->setHostname($data->hostname); $system->setDisplayName($data->displayName); $system->setRemoteIP($data->remoteIP); $system->setActive((bool) $data->active); $system->setNetworkInterfaces((array) $data->networkInterfaces); return $system; }
/** * Builds a new URI object from server environment * * @param array $environment Server environment (e.g. $_SERVER) * @return Uri */ public static function fromEnvironment(array $environment) { $uri = new self(); $uri->setScheme(isset($environment['HTTPS']) && ($environment['HTTPS'] == 'on' || $environment['HTTPS'] == 1) || isset($environment['HTTP_X_FORWARDED_PROTO']) && $environment['HTTP_X_FORWARDED_PROTO'] == 'https' ? 'https' : 'http'); $uri->setHostname($environment['HTTP_HOST']); $uri->setPort(isset($environment['SERVER_PORT']) ? (int) $environment['SERVER_PORT'] : NULL); $uri->setUsername(isset($environment['PHP_AUTH_USER']) ? $environment['PHP_AUTH_USER'] : NULL); $uri->setPassword(isset($environment['PHP_AUTH_PW']) ? $environment['PHP_AUTH_PW'] : NULL); $requestUriParts = explode('?', $environment['REQUEST_URI'], 2); $uri->setPath($requestUriParts[0]); if (isset($requestUriParts[1])) { $queryParts = explode('#', $requestUriParts[1], 2); $uri->setQuery($queryParts[0]); $uri->setFragment(isset($queryParts[1]) ? $queryParts[1] : NULL); } return $uri; }