/** * {@inheritdoc} */ public function implodeArrayAttribute(tubepress_api_media_MediaItem $item, $sourceAttributeName, $destinationAttributeName, $glue) { if (!$item->hasAttribute($sourceAttributeName)) { return; } $array = $item->getAttribute($sourceAttributeName); $formatted = implode($glue, $array); $item->setAttribute($destinationAttributeName, $formatted); }
/** * {@inheritdoc} */ public function getAttributesForInvocationAnchor(tubepress_api_media_MediaItem $mediaItem) { return array('rel' => 'external nofollow', 'target' => '_blank', 'href' => $mediaItem->getAttribute(tubepress_api_media_MediaItem::ATTRIBUTE_HOME_URL)); }
/** * @param tubepress_api_media_MediaItem $item * * @return tubepress_spi_embedded_EmbeddedProviderInterface * * @throws RuntimeException */ private function _selectEmbeddedProvider(tubepress_api_media_MediaItem $item) { $requestedEmbeddedPlayerName = $this->_context->get(tubepress_api_options_Names::EMBEDDED_PLAYER_IMPL); /* * @var tubepress_spi_media_MediaProviderInterface */ $mediaProvider = $item->getAttribute(tubepress_api_media_MediaItem::ATTRIBUTE_PROVIDER); $mediaProviderName = $mediaProvider->getName(); /* * The user has requested a specific embedded player that is registered. Let's see if the provider agrees. */ if ($requestedEmbeddedPlayerName !== tubepress_api_options_AcceptableValues::EMBEDDED_IMPL_PROVIDER_BASED) { foreach ($this->_embeddedProviders as $embeddedProvider) { $compatibleProviderNames = $embeddedProvider->getCompatibleMediaProviderNames(); if ($embeddedProvider->getName() === $requestedEmbeddedPlayerName && in_array($mediaProviderName, $compatibleProviderNames)) { //found it! return $embeddedProvider; } } } /* * Do we have an embedded provider whose name exactly matches the provider? If so, let's use that. This * should be the common case. */ foreach ($this->_embeddedProviders as $embeddedProvider) { if ($embeddedProvider->getName() === $mediaProviderName) { return $embeddedProvider; } } /* * Running out of options. See if we can find *any* player that can handle videos from this provider. */ foreach ($this->_embeddedProviders as $embeddedProvider) { if (in_array($mediaProviderName, $embeddedProvider->getCompatibleMediaProviderNames())) { return $embeddedProvider; } } /* * None of the registered embedded players support the calculated provider. I give up. */ throw new RuntimeException(sprintf('No embedded providers could generate HTML for item %s', $item->getId())); }
public function __perPageSort(tubepress_api_media_MediaItem $first, tubepress_api_media_MediaItem $second) { $attributeName = self::$_perPageSortMap[$this->_perPageSortOrder]; if (!$first->hasAttribute($attributeName) || !$second->hasAttribute($attributeName)) { return 0; } $firstAttributeValue = $first->getAttribute($attributeName); $secondAttributeValue = $second->getAttribute($attributeName); switch ($this->_perPageSortOrder) { case tubepress_api_options_AcceptableValues::PER_PAGE_SORT_COMMENT_COUNT: case tubepress_api_options_AcceptableValues::PER_PAGE_SORT_NEWEST: case tubepress_api_options_AcceptableValues::PER_PAGE_SORT_DURATION: case tubepress_api_options_AcceptableValues::PER_PAGE_SORT_VIEW_COUNT: $firstAttributeValue = intval($firstAttributeValue); $secondAttributeValue = intval($secondAttributeValue); if ($firstAttributeValue == $secondAttributeValue) { return 0; } if ($firstAttributeValue < $secondAttributeValue) { return 1; } return -1; case tubepress_api_options_AcceptableValues::PER_PAGE_SORT_OLDEST: $firstAttributeValue = intval($firstAttributeValue); $secondAttributeValue = intval($secondAttributeValue); if ($firstAttributeValue == $secondAttributeValue) { return 0; } if ($firstAttributeValue < $secondAttributeValue) { return -1; } return 1; default: if ($firstAttributeValue == $secondAttributeValue) { return 0; } if ($firstAttributeValue < $secondAttributeValue) { return -1; } return 1; } }
public function testSetGetAuthor() { $this->_vid->setAttribute(tubepress_api_media_MediaItem::ATTRIBUTE_AUTHOR_USER_ID, 'hough'); $this->assertEquals($this->_vid->getAttribute(tubepress_api_media_MediaItem::ATTRIBUTE_AUTHOR_USER_ID), 'hough'); }