ContentGeneratorProcessor.php 985 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace PicoFeed\Processor;
  3. use PicoFeed\Base;
  4. use PicoFeed\Parser\Feed;
  5. use PicoFeed\Parser\Item;
  6. /**
  7. * Item Content Generator
  8. *
  9. * @package PicoFeed\Processor
  10. * @author Frederic Guillot
  11. */
  12. class ContentGeneratorProcessor extends Base implements ItemProcessorInterface
  13. {
  14. /**
  15. * List of generators
  16. *
  17. * @access protected
  18. * @var array
  19. */
  20. protected $generators = array(
  21. 'youtube',
  22. 'file',
  23. );
  24. /**
  25. * Execute Item Processor
  26. *
  27. * @access public
  28. * @param Feed $feed
  29. * @param Item $item
  30. * @return bool
  31. */
  32. public function execute(Feed $feed, Item $item)
  33. {
  34. foreach ($this->generators as $generator) {
  35. $className = '\PicoFeed\Generator\\'.ucfirst($generator).'ContentGenerator';
  36. $object = new $className($this->config);
  37. if ($object->execute($item)) {
  38. return true;
  39. }
  40. }
  41. return false;
  42. }
  43. }