private function _urlBuildingPageSearch(tubepress_api_url_UrlInterface $url, tubepress_api_url_QueryInterface $query, $requestedMode) { $url->addPath(tubepress_youtube3_impl_ApiUtility::PATH_SEARCH); switch ($requestedMode) { case tubepress_youtube3_api_Constants::GALLERYSOURCE_YOUTUBE_RELATED: $videoId = $this->_context->get(tubepress_youtube3_api_Constants::OPTION_YOUTUBE_RELATED_VALUE); $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_RELATED, $videoId); break; case tubepress_youtube3_api_Constants::GALLERYSOURCE_YOUTUBE_SEARCH: $tags = $this->_context->get(tubepress_youtube3_api_Constants::OPTION_YOUTUBE_TAG_VALUE); $tags = str_replace(array('‘', '’', '′', '"', '“', '”', '″'), '"', $tags); $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_Q, $tags); break; default: break; } $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_TYPE, 'video')->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_SYNDICATED, 'true'); if ($this->_context->get(tubepress_youtube3_api_Constants::OPTION_EMBEDDABLE_ONLY)) { $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_EMBEDDABLE, 'true'); } $restrictToUser = $this->_context->get(tubepress_api_options_Names::SEARCH_ONLY_USER); if ($restrictToUser) { $userChannelId = $this->_urlBuildingConvertUserOrChannelToChannelId($restrictToUser); $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_CHANNEL_ID, $userChannelId); } switch ($this->_context->get(tubepress_youtube3_api_Constants::OPTION_FILTER)) { case tubepress_youtube3_api_Constants::SAFESEARCH_STRICT: $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_SAFESEARCH, 'strict'); break; case tubepress_youtube3_api_Constants::SAFESEARCH_MODERATE: $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_SAFESEARCH, 'moderate'); break; default: $query->set(tubepress_youtube3_impl_ApiUtility::QUERY_SEARCH_SAFESEARCH, 'none'); } $this->_urlBuildingPageSearchOrderBy($url); }
private function _startGalleryUrl($mode, tubepress_api_url_UrlInterface $url) { switch ($mode) { case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_USER: $userValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_USER_VALUE); $url->addPath('user')->addPath($userValue)->addPath('videos'); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_PLAYLIST: $playlistValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_PLAYLIST_VALUE); $url->addPath('playlist')->addPath($playlistValue)->addPath('videos'); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_LIST: $ids = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_LIST_VALUE); $ids = $this->_implodeCsv($ids); $url->addPath('videos')->getQuery()->set('ids', $ids); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_FAVORITES: $favoritesValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_FAVORITES_VALUE); $url->addPath('user')->addPath($favoritesValue)->addPath('favorites'); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_FEATURED: $featureValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_FEATURED_VALUE); $url->addPath('user')->addPath($featureValue)->addPath('features'); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_SEARCH: $searchValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_SEARCH_VALUE); $url->addPath('videos')->getQuery()->set('search', $searchValue); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_RELATED: $relatedValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_RELATED_VALUE); $url->addPath('video')->addPath($relatedValue)->addPath('related'); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_TAG: $tagValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_TAG_VALUE); $tagValue = $this->_implodeCsv($tagValue); $url->addPath('videos')->getQuery()->set('tags', $tagValue); return; case tubepress_dailymotion_api_Constants::GALLERY_SOURCE_SUBSCRIPTIONS: $subValue = $this->_context->get(tubepress_dailymotion_api_Constants::OPTION_SUBSCRIPTIONS_VALUE); $url->addPath('user')->addPath($subValue)->addPath('subscriptions'); return; } throw new InvalidArgumentException(sprintf('Unknown Dailymotion gallery source: %s', $mode)); }
private function _startGalleryUrl($mode, tubepress_api_url_UrlInterface $url) { switch ($mode) { case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_ALBUM: $albumId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_ALBUM_VALUE); $url->addPath('albums')->addPath($albumId)->addPath(self::$_PATH_SEGMENT_VIDEOS); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_APPEARS_IN: $userId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_APPEARS_IN_VALUE); $url->addPath(self::$_PATH_SEGMENT_USERS)->addPath($userId)->addPath('appearances'); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_CATEGORY: $categoryId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_CATEGORY_VALUE); $url->addPath('categories')->addPath($categoryId)->addPath(self::$_PATH_SEGMENT_VIDEOS); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_CHANNEL: $channelId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_CHANNEL_VALUE); $url->addPath('channels')->addPath($channelId)->addPath(self::$_PATH_SEGMENT_VIDEOS); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_GROUP: $groupId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_GROUP_VALUE); $url->addPath('groups')->addPath($groupId)->addPath(self::$_PATH_SEGMENT_VIDEOS); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_SEARCH: $filter = $this->_context->get(tubepress_api_options_Names::SEARCH_ONLY_USER); $query = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_SEARCH_VALUE); if ($filter) { $newMode = tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_UPLOADEDBY; $this->_context->setEphemeralOption(tubepress_api_options_Names::GALLERY_SOURCE, $newMode); $this->_context->setEphemeralOption(tubepress_vimeo3_api_Constants::OPTION_VIMEO_UPLOADEDBY_VALUE, $filter); $this->_startGalleryUrl($newMode, $url); } else { $url->addPath(self::$_PATH_SEGMENT_VIDEOS); } $url->getQuery()->set('query', $query); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_TAG: $tag = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_TAG_VALUE); $url->addPath('tags')->addPath($tag)->addPath(self::$_PATH_SEGMENT_VIDEOS); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_LIKES: $userId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_LIKES_VALUE); $url->addPath(self::$_PATH_SEGMENT_USERS)->addPath($userId)->addPath('likes'); return; case tubepress_vimeo3_api_Constants::GALLERYSOURCE_VIMEO_UPLOADEDBY: $userId = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_VIMEO_UPLOADEDBY_VALUE); $url->addPath(self::$_PATH_SEGMENT_USERS)->addPath($userId)->addPath(self::$_PATH_SEGMENT_VIDEOS); return; } throw new InvalidArgumentException(sprintf('Unknown Vimeo gallery source: %s', $mode)); }