'', 'notice' => 'invalid_site', ); } $scheme = strtolower( (string) $parts['scheme'] ); $host = strtolower( trim( (string) $parts['host'], '[]' ) ); $host = rtrim( $host, '.' ); if ( ! in_array( $scheme, array( 'http', 'https' ), true ) || '' === $host ) { return array( 'origin' => '', 'notice' => 'invalid_site', ); } if ( in_array( $host, self::LOOPBACK, true ) ) { return array( 'origin' => '', 'notice' => 'local_site', ); } $port = isset( $parts['port'] ) ? (int) $parts['port'] : 0; $origin = $scheme . '://' . $host; $omit = ( 'https' === $scheme && 443 === $port ) || ( 'http' === $scheme && 80 === $port ); if ( $port > 0 && ! $omit ) { $origin .= ':' . $port; } return array( 'origin' => $origin, 'notice' => '', ); } }