: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
exit; // Exit if accessed directly
* Module Name: Author Info
class TB_Author_Info_Module extends Themify_Builder_Component_Module {
parent::__construct(array(
'name' => __('Author Info', 'tbp'),
'category' => array('single')
public function get_icon(){
public function get_options() {
'label' => __( 'Layout', 'tbp'),
array('img' => 'image_left', 'value' => 'tbp_author_left', 'label' => __('Image Left', 'tbp')),
array('img' => 'image_top', 'value' => 'tbp_author_stack', 'label' => __('Image Stack', 'tbp'))
'id' => 'profile_picture',
'type' => 'toggle_switch',
'label' => __( 'Profile Picture', 'tbp'),
'on' => array( 'name' => 'yes', 'value' => 'en' ),
'off' => array( 'name' => 'no', 'value' => 'dis' ),
'checked' => array( 'show' => 'picture_size' ),
'not_checked' => array( 'hide' =>'picture_size' )
'label' => __( 'Picture Size', 'tbp'),
'type' => 'toggle_switch',
'label' => __( 'Profile Name', 'tbp'),
'on' => array( 'name' => 'yes', 'value' => 'en' ),
'off' => array( 'name' => 'no', 'value' => 'dis' ),
'show' => array( 'author_link', 'html_tag' )
'hide' => array( 'author_link', 'html_tag' )
'label' => __('HTML Tag', 'tbp'),
'div' => __('div', 'tbp'),
'label' => __('Author Link', 'tbp'),
'website' => __('Author\'s Website', 'tbp'),
'archive' => __('Archive', 'tbp'),
'none' => __('None', 'tbp')
'type' => 'toggle_switch',
'label' => __( 'Biography', 'tbp'),
'on' => array( 'name' => 'yes', 'value' => 'en' ),
'off' => array( 'name' => 'no', 'value' => 'dis' ),
array('type' => 'tbp_custom_css')
public function get_styling() {
self::get_expand('bg', array(
self::get_image('', 'b_i','bg_c','b_r','b_p')
self::get_image('', 'b_i','bg_c','b_r','b_p', 'h')
self::get_expand('f', array(
self::get_font_family('', 'f_f'),
self::get_color_type(array(' .tbp_author_info_link', ' .tbp_author_info_bio'),'', 'f_c_t', 'f_c', 'f_g_c'),
self::get_font_size('', 'f_s'),
self::get_line_height(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 'l_h'),
self::get_letter_spacing(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 'l_s'),
self::get_text_align('', 't_a'),
self::get_text_transform(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 't_t'),
self::get_font_style(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 'f_st', 'f_w'),
self::get_text_decoration(array(' .tbp_author_info_name', ' .tbp_author_info_bio'), 't_d_r'),
self::get_text_shadow('','t_sh'),
self::get_font_family('', 'f_f_h'),
self::get_color_type(array(' .tbp_author_info_link', ' .tbp_author_info_bio'),'', 'f_c_t_h', 'f_c_h', 'f_g_c_h'),
self::get_font_size('', 'f_s', '', 'h'),
self::get_line_height(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 'l_h', 'h'),
self::get_letter_spacing(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 'l_s', 'h'),
self::get_text_align('', 't_a', 'h'),
self::get_text_transform(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 't_t', 'h'),
self::get_font_style(array(' .tbp_author_info_name', ' .tbp_author_info_name'), 'f_st', 'f_w', 'h'),
self::get_text_decoration(array(' .tbp_author_info_name', ' .tbp_author_info_bio'), 't_d_r', 'h'),
self::get_text_shadow('','t_sh','h'),
self::get_expand(__('Paragraph', 'tbp'), array(
self::get_heading_margin_multi_field('', 'p', 'top'),
self::get_heading_margin_multi_field('', 'p', 'bottom')
self::get_expand('l', array(
self::get_color(' a', 'l_c'),
self::get_text_decoration(' a', 't_d')
self::get_color(' a', 'l_c',null, null, 'hover'),
self::get_text_decoration(' a', 't_d', 'h')
self::get_expand('p', array(
self::get_padding('', 'p')
self::get_padding('', 'p', 'h')
self::get_expand('m', array(
self::get_margin('', 'm')
self::get_margin('', 'm', 'h')
self::get_expand('b', array(
self::get_border('', 'b')
self::get_border('', 'b', 'h')
'options' => count($a = self::get_blend())>2 ? array($a) : $a
'options' => count($a = self::get_blend('','bl_m_h','h'))>2 ? array($a + array('ishover'=>true)) : $a
self::get_expand('w', array(
self::get_width('', 'w', 'h')
! method_exists( $this, 'get_max_height' ) ? array() :
self::get_expand('ht', array(
self::get_expand('r_c', array(
self::get_border_radius('', 'r_c')
self::get_border_radius('', 'r_c', 'h')
self::get_expand('sh', array(
self::get_box_shadow('', 'sh')
self::get_box_shadow('', 'sh', 'h')
self::get_expand('po', array( self::get_css_position())),
self::get_expand('disp', self::get_display())
self::get_expand('bg', array(
self::get_color(' .tbp_author_info_img img', 'b_c_ai_i', 'bg_c', 'background-color')
self::get_color(' .tbp_author_info_img img', 'b_c_ai_i_h', 'bg_c', 'background-color', 'h')
self::get_expand('p', array(
self::get_padding(' .tbp_author_info_img img', 'p_ai_i')
self::get_padding(' .tbp_author_info_img img', 'p_ai_i', 'h')
self::get_expand('m', array(
self::get_margin(' .tbp_author_info_img', 'm_ai_i')
self::get_margin(' .tbp_author_info_img', 'm_ai_i', 'h')
self::get_expand('b', array(
self::get_border(' .tbp_author_info_img img', 'b_ai_i')
self::get_border(' .tbp_author_info_img img', 'b_ai_i', 'h')
self::get_expand('r_c', array(
self::get_border_radius(' .tbp_author_info_img img', 'r_c_ai_i')
self::get_border_radius(' .tbp_author_info_img img', 'r_c_ai_i', 'h')
self::get_expand('sh', array(
self::get_box_shadow(' .tbp_author_info_img img', 'sh_ai_i')
self::get_box_shadow(' .tbp_author_info_img img', 'sh_ai_i', 'h')
for ($i = 1; $i <= 6; ++$i) {
$selector.=':not(.module-title)';
$heading = array_merge($heading, array(
self::get_expand(sprintf(__('Heading %s Font', 'tbp'), $i), array(
self::get_font_family('.module ' . $selector, 'font_family_' . $h),
self::get_color_type('.module ' .$selector,'','font_color_type_' . $h, 'font_color_' . $h, 'font_gradient_color_' . $h),
self::get_font_size('.module ' . $h, 'font_size_' . $h),
self::get_line_height('.module ' . $h, 'line_height_' . $h),
self::get_letter_spacing('.module ' . $h, 'letter_spacing_' . $h),
self::get_text_transform('.module ' . $h, 'text_transform_' . $h),
self::get_font_style('.module ' . $h, 'font_style_' . $h, 'font_weight_' . $h),
self::get_text_shadow('.module ' .$selector, 't_sh' . $h),
self::get_heading_margin_multi_field('.module', $h, 'top'),
self::get_heading_margin_multi_field('.module', $h, 'bottom')
self::get_font_family('.module:hover ' . $selector, 'f_f_' . $h.'_h'),
self::get_color_type('.module:hover ' . $selector,'', 'f_c_t_' . $h.'_h', 'f_c_' . $h.'_h', 'f_g_c_' . $h.'_h'),
self::get_font_size('.module ' . $h, 'f_s_' . $h, '', 'h'),
self::get_line_height('.module ' . $h, 'l_h_' . $h, 'h'),
self::get_letter_spacing('.module ' . $h, 'l_s_' . $h, 'h'),
self::get_text_transform('.module ' . $h, 't_t_' . $h, 'h'),
self::get_font_style('.module ' . $h, 'f_st_' . $h, 'f_w_' . $h, 'h'),
self::get_text_shadow('.module:hover ' . $selector, 't_sh' . $h,'h'),
self::get_heading_margin_multi_field('.module', $h, 'top', 'h'),
self::get_heading_margin_multi_field('.module', $h, 'bottom', 'h')
'label' => __('Image', 'tbp'),
public function get_live_default() {
'profile_picture' => 'yes',
public function get_visual_type() {
public function get_category() {
return array( 'single', 'page' );
Themify_Builder_Model::register_module('TB_Author_Info_Module');