/** * {@inheritdoc} */ protected function getAdditionalTemplateVariables() { $map = $this->_acceptableValues->getAcceptableValues($this->getOptionName()); if (!$this->_langUtils->isAssociativeArray($map)) { throw new InvalidArgumentException(sprintf('"%s" has a non-associative array set for its value map', $this->getId())); } return array('ungroupedChoices' => $map); }
public function onWpPostTemplate(tubepress_api_event_EventInterface $event) { $templates = $this->_resourceRepository->getPageTemplates(); unset($templates['index.php']); $templates = $this->_langUtils->arrayUnshiftAssociative($templates, 'index.php', 'default'); $current = $event->getSubject(); if (!is_array($current)) { $current = array(); } $toSet = array_merge($current, $templates); $event->setSubject($toSet); }
private function _getDataUrl(tubepress_api_media_MediaItem $mediaItem) { $link = $this->_urlFactory->fromString('https://www.youtube.com/embed/' . $mediaItem->getId()); $embedQuery = $link->getQuery(); $url = $this->_urlFactory->fromCurrent(); $origin = $url->getScheme() . '://' . $url->getHost(); $autoPlay = $this->_context->get(tubepress_api_options_Names::EMBEDDED_AUTOPLAY); $loop = $this->_context->get(tubepress_api_options_Names::EMBEDDED_LOOP); $showInfo = $this->_context->get(tubepress_api_options_Names::EMBEDDED_SHOW_INFO); $autoHide = $this->_context->get(tubepress_youtube3_api_Constants::OPTION_AUTOHIDE); $fullscreen = $this->_context->get(tubepress_youtube3_api_Constants::OPTION_FULLSCREEN); $modestBranding = $this->_context->get(tubepress_youtube3_api_Constants::OPTION_MODEST_BRANDING); $showRelated = $this->_context->get(tubepress_youtube3_api_Constants::OPTION_SHOW_RELATED); $embedQuery->set('autohide', $this->_getAutoHideValue($autoHide)); $embedQuery->set('autoplay', $this->_langUtils->booleanToStringOneOrZero($autoPlay)); $embedQuery->set('enablejsapi', '1'); $embedQuery->set('fs', $this->_langUtils->booleanToStringOneOrZero($fullscreen)); $embedQuery->set('modestbranding', $this->_langUtils->booleanToStringOneOrZero($modestBranding)); $embedQuery->set('origin', $origin); $embedQuery->set('rel', $this->_langUtils->booleanToStringOneOrZero($showRelated)); $embedQuery->set('showinfo', $this->_langUtils->booleanToStringOneOrZero($showInfo)); $embedQuery->set('wmode', 'opaque'); if ($loop) { $embedQuery->set('loop', $this->_langUtils->booleanToStringOneOrZero($loop)); $embedQuery->set('playlist', $mediaItem->getId()); } return $link; }
private function _getDataUrl(tubepress_api_media_MediaItem $mediaItem, $playerId) { $autoPlay = $this->_context->get(tubepress_api_options_Names::EMBEDDED_AUTOPLAY); $showInfo = $this->_context->get(tubepress_api_options_Names::EMBEDDED_SHOW_INFO); $actualId = str_replace('dailymotion_', '', $mediaItem->getId()); /* build the data URL based on these options */ $link = $this->_urlFactory->fromString("https://www.dailymotion.com/embed/video/{$actualId}"); $query = $link->getQuery(); $query->set(self::$_URL_PARAM_AUTOPLAY, $this->_langUtils->booleanToStringOneOrZero($autoPlay)); $query->set(self::$_URL_PARAM_UI_START_SCREEN, $this->_langUtils->booleanToStringOneOrZero($showInfo)); $query->set(self::$_URL_PARAM_ID, $playerId); return $link; }
public function onOption(tubepress_api_event_EventInterface $event) { $errors = $event->getSubject(); $optionName = $event->getArgument('optionName'); $optionValue = $event->getArgument('optionValue'); if (!$this->_optionsReference->optionExists($optionName)) { $error = $this->_translator->trans('No option with name "%s".'); //>(translatable)< $error = sprintf($error, $optionName); $errors[] = $error; $event->setSubject($errors); return; } if ($this->_optionsReference->isBoolean($optionName) && !is_bool($optionValue)) { $error = $this->_translator->trans('"%s" can only be "true" or "false". You supplied "%s".'); //>(translatable)< $error = sprintf($error, $this->_getLabel($optionName), $optionValue); $errors[] = $error; $event->setSubject($errors); return; } $acceptableValues = $this->_acceptableValues->getAcceptableValues($optionName); if ($acceptableValues !== null) { if ($this->_langUtils->isAssociativeArray($acceptableValues)) { $values = array_keys($acceptableValues); } else { $values = array_values($acceptableValues); } if (!in_array($optionValue, $values)) { $error = $this->_translator->trans('"%s" must be one of "%s". You supplied "%s".'); //>(translatable)< $error = sprintf($error, $this->_getLabel($optionName), implode(', ', $values), $optionValue); $errors[] = $error; $event->setSubject($errors); } } }
private function _getDataUrl(tubepress_api_media_MediaItem $mediaItem) { $autoPlay = $this->_context->get(tubepress_api_options_Names::EMBEDDED_AUTOPLAY); $showInfo = $this->_context->get(tubepress_api_options_Names::EMBEDDED_SHOW_INFO); $loop = $this->_context->get(tubepress_api_options_Names::EMBEDDED_LOOP); $color = $this->_context->get(tubepress_vimeo3_api_Constants::OPTION_PLAYER_COLOR); /* build the data URL based on these options */ $link = $this->_urlFactory->fromString('https://player.vimeo.com/video/' . $mediaItem->getId()); $query = $link->getQuery(); $query->set(self::$_URL_PARAM_AUTOPLAY, $this->_langUtils->booleanToStringOneOrZero($autoPlay)); $query->set(self::$_URL_PARAM_COLOR, $color); $query->set(self::$_URL_PARAM_LOOP, $this->_langUtils->booleanToStringOneOrZero($loop)); $query->set(self::$_URL_PARAM_PORTRAIT, $this->_langUtils->booleanToStringOneOrZero($showInfo)); $query->set(self::$_URL_PARAM_BYLINE, $this->_langUtils->booleanToStringOneOrZero($showInfo)); $query->set(self::$_URL_PARAM_TITLE, $this->_langUtils->booleanToStringOneOrZero($showInfo)); return $link; }
private function _handleKeywords(array &$manifestData, array &$errors) { $key = self::$_FIRST_LEVEL_KEY_KEYWORDS; if (!isset($manifestData[$key])) { return; } $candidate = $manifestData[$key]; if (!$this->_langUtils->isSimpleArrayOfStrings($candidate)) { $errors[] = 'Keywords must be an array of strings'; return; } foreach ($candidate as $keyword) { if ($this->nonStringOrTooLong($keyword, 30, $key, $errors)) { return; } } }