/** * @return string The widget HTML for this form element. */ public function getWidgetHTML() { $templateBuilder = tubepress_impl_patterns_sl_ServiceLocator::getTemplateBuilder(); $eventDispatcher = tubepress_impl_patterns_sl_ServiceLocator::getEventDispatcher(); $template = $templateBuilder->getNewTemplateInstance($this->getAbsolutePathToTemplate()); $templateEvent = new tubepress_spi_event_EventBase($template); $templateEvent->setArgument('field', $this); $templateVariables = $this->getTemplateVariables(); foreach ($templateVariables as $name => $value) { $template->setVariable($name, $value); } $eventDispatcher->dispatch(tubepress_api_const_event_EventNames::OPTIONS_PAGE_FIELDTEMPLATE, $templateEvent); return $template->toString(); }
public function magic(tubepress_api_event_EventInterface $event) { $value = $event->getSubject(); /** If it's an array, send each element through the filter. */ if (is_array($value)) { foreach ($value as $key => $subValue) { $subEvent = new tubepress_spi_event_EventBase($subValue); $subEvent->setArgument('optionName', $key); $this->magic($subEvent); $value[$key] = $subEvent->getSubject(); } $event->setSubject($value); return; } /** We're only interested in strings. */ if (!is_string($value)) { return; } $toReturn = trim($value); $toReturn = htmlspecialchars($toReturn, ENT_NOQUOTES); $toReturn = tubepress_impl_util_StringUtils::stripslashes_deep($toReturn); $toReturn = $this->_booleanMagic($toReturn); $event->setSubject($toReturn); }
private function _feedToVideoArray($feed) { $toReturn = array(); $total = $this->countVideosInFeed($feed); $isDebugEnabled = $this->_logger->isHandling(ehough_epilog_Logger::DEBUG); if ($isDebugEnabled) { $this->_logger->debug(sprintf('Now attempting to build %d video(s) from raw feed', $total)); } for ($index = 0; $index < $total; $index++) { if (!$this->canWorkWithVideoAtIndex($index)) { if ($isDebugEnabled) { $this->_logger->debug(sprintf('Skipping video at index %d', $index)); } continue; } /* * Let's build a video! */ $video = new tubepress_api_video_Video(); /* * Every video needs to have a provider. */ $video->setAttribute(tubepress_api_video_Video::ATTRIBUTE_PROVIDER_NAME, $this->getName()); /* * Let add-ons build the rest of the video. */ $event = new tubepress_spi_event_EventBase($video); $event->setArgument('zeroBasedFeedIndex', $index); $event->setArgument('rawFeed', $feed); /* * Let subclasses add to the event. */ $this->onBeforeFiringVideoConstructionEvent($event); $video = $this->_fireEventAndGetSubject(tubepress_api_const_event_EventNames::VIDEO_CONSTRUCTION, $event); array_push($toReturn, $video); } $this->onFeedAnalysisComplete($feed); if ($isDebugEnabled) { $this->_logger->debug(sprintf('Built %d video(s) from raw feed', sizeof($toReturn))); } return $toReturn; }