first commit
This commit is contained in:
67
wp-content/plugins/brizy/content/placeholder-replacer.php
Normal file
67
wp-content/plugins/brizy/content/placeholder-replacer.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*
|
||||
* Class Brizy_Content_PlaceholderReplacer
|
||||
*/
|
||||
class Brizy_Content_PlaceholderReplacer {
|
||||
|
||||
/**
|
||||
* @var Brizy_Content_Providers_AbstractProvider
|
||||
*/
|
||||
private $placeholderProvider;
|
||||
|
||||
|
||||
/**
|
||||
* Brizy_Content_PlaceholderReplacer constructor.
|
||||
*
|
||||
* @param $context
|
||||
* @param $placeholderProvider
|
||||
*/
|
||||
public function __construct( $context, $placeholderProvider ) {
|
||||
$this->placeholderProvider = $placeholderProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $placeholders
|
||||
* @param $content
|
||||
* @param $context
|
||||
*
|
||||
* @return string|string[]
|
||||
*/
|
||||
public function getContent( $placeholders, $content, $context= null) {
|
||||
|
||||
$toReplace = array();
|
||||
$toReplaceWithValues = array();
|
||||
|
||||
if(!$context)
|
||||
{
|
||||
$context = Brizy_Content_ContextFactory::createEmptyContext();
|
||||
}
|
||||
|
||||
if ( $placeholders ) {
|
||||
foreach ( $placeholders as $contentPlaceholder ) {
|
||||
try {
|
||||
$placeholder = $this->placeholderProvider->getPlaceholder( $contentPlaceholder->getName() );
|
||||
if ( $placeholder ) {
|
||||
$toReplace[] = $contentPlaceholder->getUid();
|
||||
$toReplaceWithValues[] = $placeholder->getValue( $context , $contentPlaceholder );
|
||||
} else {
|
||||
$toReplace[] = $contentPlaceholder->getPlaceholder();
|
||||
$toReplaceWithValues[] = '';
|
||||
}
|
||||
|
||||
} catch ( Exception $e ) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$content = str_replace( $toReplace, $toReplaceWithValues, $content );
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user