File: //proc/self/cwd/wp-content/plugins/cornerstone/includes/_classes/classic/class-classic-renderer.php
<?php
class Cornerstone_Classic_Renderer extends Cornerstone_Plugin_Component {
protected $ready = false;
private $orchestrator;
public function before_render() {
if ( $this->ready ) {
return;
}
$this->ready = true;
Cornerstone_Shortcode_Preserver::init();
Cornerstone_Shortcode_Preserver::sandbox( 'cs_render_the_content' );
add_filter( 'cs_preserve_shortcodes_no_wrap', '__return_true' );
add_filter( 'cs_render_the_content', 'cs_dynamic_content_string' );
$this->orchestrator = CS()->component( 'Classic_Element_Manager' );
}
public function render_classic_element( $element, $content = '' ) {
$this->before_render();
$is_preview = apply_filters( 'cs_is_preview', false );
$definition = $this->orchestrator->get( $element['_type'] );
$flags = $definition->flags();
if ( $definition->is_active() ) {
$markup = $definition->preview(
$element,
$this->orchestrator,
( isset( $element['_parent_data'] ) ) ? $element['_parent_data'] : null,
[],
$content
);
} else {
if ( $is_preview ) {
$message = ( $flags['undefined_message']) ? $flags['undefined_message'] : csi18n('app.elements-undefined-preview');
$markup = "<div class=\"tco-empty-element cs-undefined-element\"><p class=\"tco-empty-element-message\">$message</p></div>";
} else {
$markup = '';
}
}
if ( ! $is_preview ) {
return $markup;
}
$markup = apply_filters( 'cs_render_the_content', cs_noemptyp($markup) ); // similar to apply_filters( 'the_content', $content );
return is_string( $markup ) ? $markup : '';
}
}