getQueryParameter() публичный Метод

public getQueryParameter ( $name, $default = NULL ) : mixed
Результат mixed
Пример #1
0
 /**
  * Fetches video data by youtube url
  * @param  string  $videoUrl YouTube url
  * @return Video
  */
 public function getVideoByUrl($videoUrl)
 {
     $url = new Nette\Http\Url($videoUrl);
     if (stripos($url->host, 'youtu.be') !== false) {
         return $this->getVideo(trim($url->getPath(), '/'));
     }
     $videoId = $url->getQueryParameter('v');
     if (stripos($url->host, 'youtube.com') === false || $videoId === null) {
         throw new Nette\InvalidArgumentException('videoUrl must be valid youtube url.');
     }
     return $this->getVideo($videoId);
 }
Пример #2
0
 private function createFileRoute(array $route)
 {
     $web = $route['metadata']['web'][Nette\Application\Routers\Route::VALUE];
     unset($route['metadata']['web']);
     return new Nette\Application\Routers\Route(...array_values(array_merge_recursive(['mask' => self::FILE_MASK] + $route, ['metadata' => ['file' => [Nette\Application\Routers\Route::PATTERN => '[a-z0-9.-/]+'], NULL => [Nette\Application\Routers\Route::FILTER_IN => function (array $params) {
         $webDir = implode(DIRECTORY_SEPARATOR, [$this->wwwDir, 'web', $params['web']]);
         $domainDir = implode(DIRECTORY_SEPARATOR, [$webDir, 'domain', $domain = $params['domain']]);
         $webFile = implode(DIRECTORY_SEPARATOR, [$webDir, $file = $params['file']]);
         $domainFile = implode(DIRECTORY_SEPARATOR, [$domainDir, $file]);
         if (is_file($domainFile)) {
             $params['webDomain'] = $domain;
         } elseif (!is_file($webFile)) {
             return NULL;
         }
         return $params;
     }, Nette\Application\Routers\Route::FILTER_OUT => function (array $params) use($web) {
         if (!isset($params['file']) || !($file = $params['file'])) {
             return NULL;
         }
         $webDir = implode(DIRECTORY_SEPARATOR, [$this->wwwDir, 'web', $params['web'] = $web]);
         $webFile = implode(DIRECTORY_SEPARATOR, [$webDir, $file]);
         $domainDir = implode(DIRECTORY_SEPARATOR, [$webDir, 'domain', $domain = $params['domain']]);
         $domainFile = implode(DIRECTORY_SEPARATOR, [$domainDir, $file]);
         $directory = NULL;
         if (is_file($domainFile)) {
             $params['webDomain'] = $domain;
             $directory = $domainDir;
         } elseif (is_file($webFile)) {
             $directory = $webDir;
         } else {
             unset($params['web']);
             $directory = $this->wwwDir;
         }
         if ((!isset($params['version']) || $params['version']) && $directory) {
             $url = new Nette\Http\Url(call_user_func($this->versionFilter, $file, $directory, $parameter = is_string($params['version'] ?? NULL) ? $params['version'] : 'version'));
             $params['version'] = $url->getQueryParameter($parameter);
         } else {
             unset($params['version']);
         }
         return array_intersect_key($params, array_flip(['domain', 'web', 'webDomain', 'file', 'version']));
     }]]])));
 }