'', 'id' => '', 'backgroundcolor' => strtolower( $smof_data['testimonial_bg_color'] ), 'design' => 'classic', 'textcolor' => strtolower( $smof_data['testimonial_text_color'] ), ), $args ); extract( $defaults ); self::$parent_args = $defaults; $styles = sprintf( "", $this->testimonials_counter, $this->testimonials_counter, $this->testimonials_counter, $design, $this->testimonials_counter ); $pagination = ''; if( self::$parent_args['design'] == 'clean' ) { $pagination = sprintf( '
', FusionCore_Plugin::attributes( 'testimonials-shortcode-pagination' ) ); } $html = sprintf( '
%s
%s
%s
', FusionCore_Plugin::attributes( 'testimonials-shortcode' ), $styles, FusionCore_Plugin::attributes( 'testimonials-shortcode-testimonials' ), do_shortcode($content), $pagination ); $this->testimonials_counter++; return $html; } function attr() { $attr = array(); $attr['class'] = sprintf( 'fusion-testimonials %s fusion-testimonials-%s', self::$parent_args['design'], $this->testimonials_counter ); if( self::$parent_args['class'] ) { $attr['class'] .= ' ' . self::$parent_args['class']; } if( self::$parent_args['id'] ) { $attr['id'] = self::$parent_args['id']; } return $attr; } function testimonials_attr() { $attr = array(); $attr['class'] = 'reviews'; return $attr; } /** * Render the child shortcode * @param array $args Shortcode paramters * @param string $content Content between shortcode * @return string HTML output */ function render_child( $args, $content = '') { $defaults = FusionCore_Plugin::set_shortcode_defaults( array( 'avatar' => 'male', 'company' => '', 'image' => '', 'image_border_radius' => '', 'link' => '', 'name' => '', 'target' => '_self', 'gender' => '', // Deprecated ), $args ); if( $defaults['image_border_radius'] == 'round' ) { $defaults['image_border_radius'] = '50%'; } extract( $defaults ); self::$child_args = $defaults; // check for deprecated if( $gender ) { self::$child_args['avatar'] = $gender; } if( self::$parent_args['design'] == 'clean' ) { $html = $this->render_child_clean( $content ); } else { $html = $this->render_child_classic( $content ); } return $html; } /* Render classic design */ private function render_child_classic( $content ) { $inner_content = $thumbnail = $pic = ''; if( self::$child_args['name'] ) { if( self::$child_args['avatar'] == 'image' && self::$child_args['image'] ) { $image_id = FusionCore_Plugin::get_attachment_id_from_url( self::$child_args['image'] ); self::$child_args['alt'] = ''; if( $image_id ) { self::$child_args['alt'] = get_post_field( 'post_excerpt', $image_id ); } $pic = sprintf( '', FusionCore_Plugin::attributes( 'testimonials-shortcode-image' ) ); } if( self::$child_args['avatar'] == 'image' && ! self::$child_args['image'] ) { self::$child_args['avatar'] = 'none'; } if( self::$child_args['avatar'] != 'none' ) { $thumbnail = sprintf( '%s', FusionCore_Plugin::attributes( 'testimonials-shortcode-thumbnail' ), $pic ); } $inner_content .= sprintf( '
%s%s', FusionCore_Plugin::attributes( 'testimonials-shortcode-author' ), $thumbnail, FusionCore_Plugin::attributes( 'company-name' ), self::$child_args['name'] ); if( self::$child_args['company'] ) { if( ! empty( self::$child_args['link'] ) && self::$child_args['link'] ) { $inner_content .= sprintf( ', %s', self::$child_args['link'], self::$child_args['target'], sprintf( '%s', self::$child_args['company'] ) ); } else { $inner_content .= sprintf( ', %s', self::$child_args['company'] ); } } $inner_content .= '
'; } $html = sprintf( '
%s
%s
', FusionCore_Plugin::attributes( 'testimonials-shortcode-review' ), FusionCore_Plugin::attributes( 'testimonials-shortcode-quote' ), do_shortcode( $content ), $inner_content ); return $html; } /* Render clean design */ private function render_child_clean( $content ) { $thumbnail = $pic = $author = ''; if( self::$child_args['avatar'] == 'image' && self::$child_args['image'] ) { $image_id = FusionCore_Plugin::get_attachment_id_from_url( self::$child_args['image'] ); self::$child_args['alt'] = ''; if( $image_id ) { self::$child_args['alt'] = get_post_field( 'post_excerpt', $image_id ); } $pic = sprintf( '', FusionCore_Plugin::attributes( 'testimonials-shortcode-image' ) ); } if( self::$child_args['avatar'] == 'image' && ! self::$child_args['image'] ) { self::$child_args['avatar'] = 'none'; } if( self::$child_args['avatar'] != 'none' ) { $thumbnail = sprintf( '
%s
', FusionCore_Plugin::attributes( 'testimonials-shortcode-thumbnail' ), $pic ); } $author .= sprintf( '
%s', FusionCore_Plugin::attributes( 'testimonials-shortcode-author' ), FusionCore_Plugin::attributes( 'company-name' ), self::$child_args['name'] ); if( self::$child_args['company'] ) { if( ! empty( self::$child_args['link'] ) && self::$child_args['link'] ) { $author .= sprintf( ', %s', self::$child_args['link'], self::$child_args['target'], sprintf( '%s', self::$child_args['company'] ) ); } else { $author .= sprintf( ', %s', self::$child_args['company'] ); } } $author .= '
'; $html = sprintf( '
%s
%s
%s
', FusionCore_Plugin::attributes( 'testimonials-shortcode-review' ), $thumbnail, FusionCore_Plugin::attributes( 'testimonials-shortcode-blockquote' ), FusionCore_Plugin::attributes( 'testimonials-shortcode-quote' ), do_shortcode( $content ), $author ); return $html; } function blockquote_attr() { $attr = array(); $attr['style'] = ''; if( self::$parent_args['design'] == 'clean' && self::$parent_args['backgroundcolor'] == 'transparent' ) { $attr['style'] .= 'margin: -25px;'; } $attr['style'] .= sprintf( 'background-color:%s;', self::$parent_args['backgroundcolor'] ); return $attr; } function quote_attr() { $attr = array(); $attr['style'] = sprintf( 'background-color:%s;', self::$parent_args['backgroundcolor'] ); $attr['style'] .= sprintf( 'color:%s;', self::$parent_args['textcolor'] ); return $attr; } function review_attr() { $attr = array(); $attr['class'] = 'review '; if( self::$child_args['avatar'] == 'none' ) { $attr['class'] .= 'no-avatar'; } else if( self::$child_args['avatar'] == 'image' ) { $attr['class'] .= 'avatar-image'; } else { $attr['class'] .= self::$child_args['avatar']; } return $attr; } function thumbnail_attr() { $attr = array(); $attr['class'] = 'testimonial-thumbnail'; if( self::$child_args['avatar'] != 'image' ) { $attr['class'] .= ' doe'; $attr['style'] = sprintf( 'color:%s;', self::$parent_args['textcolor'] ); } return $attr; } function image_attr() { $attr = array(); $attr['class'] = 'testimonial-image'; $attr['src'] = self::$child_args['image']; $attr['alt'] = self::$child_args['alt']; if( self::$child_args['avatar'] == 'image' ) { $attr['style'] = sprintf( '-webkit-border-radius: %s;-moz-border-radius: %s;border-radius: %s;', self::$child_args['image_border_radius'], self::$child_args['image_border_radius'], self::$child_args['image_border_radius'] ); } return $attr; } function author_attr() { $attr = array(); $attr['class'] = 'author'; $attr['style'] = sprintf( 'color:%s;', self::$parent_args['textcolor'] ); return $attr; } function pagination_attr() { $attr = array(); $attr['class'] = 'testimonial-pagination'; $attr['id'] = sprintf( 'fusion-testimonials-%s', $this->testimonials_counter ); return $attr; } } new FusionSC_Testimonials();