Current Path : /var/www/ooareogundevinitiative/wp-content/plugins/brizy/content/ |
Current File : /var/www/ooareogundevinitiative/wp-content/plugins/brizy/content/placeholder-replacer.php |
<?php class Brizy_Content_PlaceholderReplacer { /** * @var Brizy_Content_Context */ private $context; /** * @var Brizy_Content_Providers_AbstractProvider */ private $placeholderProvider; /** * @var Brizy_Content_PlaceholderExtractor */ private $placeholderExtractor; /** * Brizy_Content_PlaceholderReplacer constructor. * * @param $context * @param $placeholderProvider * @param $extractor */ public function __construct( $context, $placeholderProvider, $extractor ) { $this->context = $context; $this->placeholderProvider = $placeholderProvider; $this->placeholderExtractor = $extractor; } /** * @param $placeholders * @param $content * * @return mixed */ public function getContent( $placeholders = null, $content = null ) { $toReplace = array(); $toReplaceWithValues = array(); if ( $placeholders ) { foreach ( $placeholders as $contentPlaceholder ) { try { $placeholder = $this->placeholderProvider->getPlaceholder( $contentPlaceholder->getName() ); if ( $placeholder ) { $toReplace[] = $contentPlaceholder->getUid(); $toReplaceWithValues[] = $placeholder->getValue( $this->context, $contentPlaceholder ); } else { $toReplace[] = $contentPlaceholder->getPlaceholder(); $toReplaceWithValues[] = ''; } } catch ( Exception $e ) { continue; } } } $content = str_replace( $toReplace, $toReplaceWithValues, $content ); return $content; } }