File: /home/agritoday/www/wp-content/plugins-x/td-composer/includes/shortcodes/vc_column_text.php
<?php
/**
* Created by PhpStorm.
* User: tagdiv
* Date: 16.02.2016
* Time: 14:31
*/
class vc_column_text extends td_block {
public function get_custom_css() {
// $unique_block_class - the unique class that is on the block. use this to target the specific instance via css
$unique_block_class = $this->block_uid;
$compiled_css = '';
$raw_css =
"<style>
/* @f_post */
.$unique_block_class,
.$unique_block_class p {
@f_post
}
/* @f_h1 */
.$unique_block_class h1 {
@f_h1
}
/* @f_h2 */
.$unique_block_class h2 {
@f_h2
}
/* @f_h3 */
.$unique_block_class h3 {
@f_h3
}
/* @f_h4 */
.$unique_block_class h4 {
@f_h4
}
/* @f_h5 */
.$unique_block_class h5 {
@f_h5
}
/* @f_h6 */
.$unique_block_class h6 {
@f_h6
}
/* @f_list */
.$unique_block_class li {
@f_list
}
/* @f_list_arrow */
.$unique_block_class li:before {
margin-top: 1px;
line-height: @f_list_arrow !important;
}
/* @f_bq */
.$unique_block_class blockquote p {
@f_bq
}
/* @post_color */
.$unique_block_class {
color: @post_color;
}
/* @h_color */
.$unique_block_class h1,
.$unique_block_class h2,
.$unique_block_class h3,
.$unique_block_class h4,
.$unique_block_class h5,
.$unique_block_class h6 {
color: @h_color;
}
/* @bq_color */
.$unique_block_class blockquote p {
color: @bq_color;
}
/* @a_color */
.$unique_block_class a {
color: @a_color;
}
/* @a_hover_color */
.$unique_block_class a:hover {
color: @a_hover_color;
}
</style>";
$td_css_res_compiler = new td_css_res_compiler( $raw_css );
$td_css_res_compiler->load_settings( __CLASS__ . '::cssMedia', $this->get_all_atts() );
$compiled_css .= $td_css_res_compiler->compile_css();
return $compiled_css;
}
static function cssMedia( $res_ctx ) {
/*-- fonts -- */
$res_ctx->load_font_settings( 'f_post' );
$res_ctx->load_font_settings( 'f_h1' );
$res_ctx->load_font_settings( 'f_h2' );
$res_ctx->load_font_settings( 'f_h3' );
$res_ctx->load_font_settings( 'f_h4' );
$res_ctx->load_font_settings( 'f_h5' );
$res_ctx->load_font_settings( 'f_h6' );
$res_ctx->load_font_settings( 'f_list' );
$f_list_size = $res_ctx->get_shortcode_att('f_list_font_size');
$f_list_lh = $res_ctx->get_shortcode_att('f_list_font_line_height');
if( $f_list_size != '' && $f_list_lh == '' ) {
if( is_numeric( $f_list_size ) ) {
$res_ctx->load_settings_raw( 'f_list_arrow', $f_list_size . 'px' );
} else {
$res_ctx->load_settings_raw( 'f_list_arrow', $f_list_size );
}
}
if( $f_list_size == '' && $f_list_lh != '' ) {
if( is_numeric( $f_list_lh ) ) {
$res_ctx->load_settings_raw( 'f_list_arrow', 15 * $f_list_lh . 'px' );
} else {
$res_ctx->load_settings_raw( 'f_list_arrow', $f_list_lh );
}
}
if( $f_list_size != '' && $f_list_lh != '' ) {
if( is_numeric( $f_list_lh ) ) {
$res_ctx->load_settings_raw( 'f_list_arrow', $f_list_size * $f_list_lh . 'px' );
} else {
$res_ctx->load_settings_raw( 'f_list_arrow', $f_list_lh );
}
}
$res_ctx->load_font_settings( 'f_bq' );
// colors
$res_ctx->load_settings_raw( 'post_color', $res_ctx->get_shortcode_att('post_color') );
$res_ctx->load_settings_raw( 'h_color', $res_ctx->get_shortcode_att('h_color') );
$res_ctx->load_settings_raw( 'bq_color', $res_ctx->get_shortcode_att('bq_color') );
$res_ctx->load_settings_raw( 'a_color', $res_ctx->get_shortcode_att('a_color') );
$res_ctx->load_settings_raw( 'a_hover_color', $res_ctx->get_shortcode_att('a_hover_color') );
}
function render($atts, $content = null) {
parent::render($atts);
$atts = shortcode_atts(
array(
'content' => __('Html code here! Replace this with any non empty text and that\'s it.', 'td_composer' ),
'el_class' => '',
), $atts, 'vc_column_text' );
if ( is_null( $content ) || empty( $content ) ) {
$content = $atts[ 'content' ];
}
td_global::set_in_ed_element(true);
if ( base64_decode( $content, true ) && base64_encode( base64_decode( $content, true ) ) === $content ) {
$content = base64_decode( $content );
}
// As vc does
$content = wpautop( preg_replace( '/<\/?p\>/', "\n", $content ) . "\n" );
$render_content = true;
if ( tdc_state::is_live_editor_iframe() || tdc_state::is_live_editor_ajax() ) {
$mapped_shortcodes = tdc_mapper::get_mapped_shortcodes();
foreach ( $mapped_shortcodes as $base => $mapped_shortcode ) {
if ( has_shortcode( $content, $base ) ) {
$render_content = false;
break;
}
}
}
if ( $render_content ) {
$content = do_shortcode( shortcode_unautop( $content ) );
}
$buffy = '<div class="wpb_wrapper wpb_text_column ' . $this->get_wrapper_class() . ' ' . $this->get_block_classes( array( $atts['el_class'], 'tagdiv-type' ) ) . '" ' . $this->get_block_html_atts() . '>';
//get the block css
$buffy .= $this->get_block_css();
// block title wrap
$buffy .= '<div class="td-block-title-wrap">';
$buffy .= $this->get_block_title(); //get the block title
$buffy .= $this->get_pull_down_filter(); //get the sub category filter for this block
$buffy .= '</div>';
$buffy .= '<div class="td-fix-index">' . $content . '</div></div>';
td_global::set_in_ed_element(false);
return $buffy;
}
}