/** * This function displays the testimonial. * * @param array $katb_widget_tdata testimonial data * @param string $katb_widget_tnumber total number of testimonials * @param boolean $rotate * @param string $group_name group name from widget data * * @uses katb_get_options() user options from katb_functions.php * @uses katb_validate_gravatar() check for gravatar from this file * @uses katb_widget_popup() set up popup from this file * @uses katb_widget_testimonial_wrap_div() sets up main formatting div wrap from this file * @uses katb_meta_widget_top() html for top meta from this file * @uses katb_testimonial_excerpt_filter() from this file * @uses katb_widget_insert_gravatar() from this file * @uses katb_meta_widget_bottom() html for bottom meta from this file */ function katb_widget_display_testimonial($use_schema, $katb_widget_tdata, $katb_widget_tnumber, $rotate, $group_name, $layout_override) { //get user options global $katb_options; //$katb_options = katb_get_options(); $use_ratings = intval($katb_options['katb_use_ratings']); $use_css_ratings = intval($katb_options['katb_use_css_ratings']); $use_excerpts = intval($katb_options['katb_widget_use_excerpts']); $use_gravatars = intval($katb_options['katb_widget_use_gravatars']); $use_round_images = intval($katb_options['katb_widget_use_round_images']); $use_gravatar_substitute = intval($katb_options['katb_widget_use_gravatar_substitute']); $gravatar_size = intval($katb_options['katb_widget_gravatar_size']); $layout = sanitize_text_field($katb_options['katb_widget_layout_option']); $use_individual_group_name = intval($katb_options['katb_individual_group_name']); $custom_individual_name = sanitize_text_field($katb_options['katb_individual_custom_name']); $use_title_non_schema = intval($katb_options['katb_widget_show_title']); $use_formatted_display = intval($katb_options['katb_widget_use_formatted_display']); $katb_widget_height = intval($katb_options['katb_widget_rotator_height']); //set up widget height restriction if any if ($katb_widget_height != 'variable') { $katb_widget_height_option = 'style="min-height:' . $katb_widget_height . 'px;overflow:hidden;"'; $katb_widget_height_outside = $katb_widget_height + 20; $katb_widget_height_option_outside = 'style="min-height:' . $katb_widget_height_outside . 'px;overflow:hidden;"'; } else { $katb_widget_height_option = ''; $katb_widget_height_option_outside = ''; } /* since 4.1.0 added layout override */ if ($layout_override != '0') { if ($layout_override == '1') { $layout = 'Top Meta'; $use_formatted_display = '0'; } elseif ($layout_override == '2') { $layout = 'Bottom Meta'; $use_formatted_display = '0'; } elseif ($layout_override == '3') { $layout = 'Image & Meta Top'; $use_formatted_display = '0'; } elseif ($layout_override == '4') { $layout = 'Image & Meta Bottom'; $use_formatted_display = '0'; } elseif ($layout_override == '5') { $layout = 'Centered Image & Meta Top'; $use_formatted_display = '0'; } elseif ($layout_override == '6') { $layout = 'Centered Image & Meta Bottom'; $use_formatted_display = '0'; } elseif ($layout_override == '7') { $layout = 'Top Meta'; $use_formatted_display = '1'; } elseif ($layout_override == '8') { $layout = 'Bottom Meta'; $use_formatted_display = '1'; } elseif ($layout_override == '9') { $layout = 'Image & Meta Top'; $use_formatted_display = '1'; } elseif ($layout_override == '10') { $layout = 'Image & Meta Bottom'; $use_formatted_display = '1'; } elseif ($layout_override == '11') { $layout = 'Centered Image & Meta Top'; $use_formatted_display = '1'; } elseif ($layout_override == '12') { $layout = 'Centered Image & Meta Bottom'; $use_formatted_display = '1'; } } /* since ver 4.1.0 added Image & Meta Top and Image & Meta Bottom layouts to allow independent styling will add the following classes when needed note this is different from the content mods as an extra class was added rather then appending classes */ if ($layout == 'Image & Meta Top') { $new_layout_class = ' img_meta_top'; } elseif ($layout == 'Image & Meta Bottom') { $new_layout_class = ' img_meta_bot'; } else { $new_layout_class = ''; } if ($rotate == 1) { $katb_widget_speed = $katb_options['katb_widget_rotator_speed']; $katb_widget_transition = $katb_options['katb_widget_rotator_transition']; if ($use_formatted_display == 1) { ?> <div class="katb_widget_rotate katb_widget_rotator_wrap<?php echo ' ' . $new_layout_class; ?> " <?php echo $katb_widget_height_option_outside; ?> data-katb_speed="<?php echo esc_attr($katb_widget_speed); ?> " data-katb_transition="<?php echo esc_attr($katb_widget_transition); ?> "> <?php } else { ?> <div class="katb_widget_rotate katb_widget_rotator_wrap_basic<?php echo ' ' . $new_layout_class; ?> " <?php echo $katb_widget_height_option_outside; ?> data-katb_speed="<?php echo esc_attr($katb_widget_speed); ?> " data-katb_transition="<?php echo esc_attr($katb_widget_transition); ?> "> <?php } } else { if ($use_formatted_display == 1) { ?> <div class="katb_widget_wrap<?php echo $new_layout_class; ?> "> <?php } else { ?> <div class="katb_widget_wrap_basic<?php echo $new_layout_class; ?> "> <?php } } for ($i = 0; $i < $katb_widget_tnumber; $i++) { //if gravatars are enabled, check for valid avatar if ($use_gravatars == 1 && $use_gravatar_substitute != 1) { $has_valid_avatar = katb_validate_gravatar($katb_widget_tdata[$i]['tb_email']); } else { $has_valid_avatar = 0; } //set up hidden popup if excerpt is used if ($use_excerpts == 1) { katb_widget_popup($has_valid_avatar, $katb_widget_tdata, $i, $layout); } //<div class=.... > wrap $div_prop = katb_widget_testimonial_wrap_div($use_formatted_display, $use_schema, $rotate, $katb_widget_height_option, $i); //title html $title = katb_widget_insert_title($use_schema, $use_title_non_schema, $katb_widget_tdata, $i, $use_individual_group_name, $custom_individual_name); //rating html $rating = katb_widget_insert_rating($use_schema, $use_ratings, $use_css_ratings, $katb_widget_tdata, $i); //get gravatar html $photo_or_gravatar = katb_widget_insert_gravatar($katb_widget_tdata[$i]['tb_pic_url'], $gravatar_size, $use_gravatars, $use_round_images, $use_gravatar_substitute, $has_valid_avatar, $katb_widget_tdata[$i]['tb_email']); //get widget testimonial content $widget_content = katb_widget_content($use_excerpts, $katb_widget_tdata, $i, $use_schema, $photo_or_gravatar, $use_formatted_display, $layout); echo $div_prop; //<div class=.... > wrap if ($layout == "Top Meta") { echo $title; echo $rating; katb_meta_widget_top($i, $katb_widget_tdata, $use_schema); echo $widget_content; } elseif ($layout == "Bottom Meta") { echo $title; echo $rating; echo $widget_content; katb_meta_widget_bottom($i, $katb_widget_tdata, $use_schema); } elseif ($layout == "Image & Meta Top") { $width_adj = $gravatar_size + 10; echo '<div class="katb_image_meta_top">'; echo '<div class="katb_gravatar_top">' . $photo_or_gravatar . '</div>'; echo '<div class="katb_meta_rating_top_wrap" style="width:calc(100% - ' . $width_adj . 'px);">'; katb_meta_widget_with_image($i, $katb_widget_tdata, $use_schema); echo $rating; echo '</div>'; echo '</div>'; echo $title; echo $widget_content; } elseif ($layout == "Image & Meta Bottom") { $width_adj = $gravatar_size + 10; echo $title; echo $widget_content; echo '<div class="katb_image_meta_bottom">'; echo '<div class="katb_gravatar_bottom">' . $photo_or_gravatar . '</div>'; echo '<div class="katb_meta_rating_bottom_wrap" style="width:calc(100% - ' . $width_adj . 'px);">'; katb_meta_widget_with_image($i, $katb_widget_tdata, $use_schema); echo $rating; echo '</div>'; echo '</div>'; } elseif ($layout == "Centered Image & Meta Top") { echo '<div class="katb_centered_image_meta_top">'; echo '<div class="katb_centered_gravatar_top">' . $photo_or_gravatar . '</div>'; echo '<div class="katb_centered_meta_rating_top_wrap">'; katb_meta_widget_with_image($i, $katb_widget_tdata, $use_schema); echo $rating; echo '</div>'; echo '</div>'; echo $title; echo $widget_content; } elseif ($layout == "Centered Image & Meta Bottom") { $width_adj = $gravatar_size + 10; echo $title; echo $widget_content; echo '<div class="katb_centered_image_meta_bottom">'; echo '<div class="katb_centered_gravatar_bottom">' . $photo_or_gravatar . '</div>'; echo '<div class="katb_centered_meta_rating_bottom_wrap" >'; katb_meta_widget_with_image($i, $katb_widget_tdata, $use_schema); echo $rating; echo '</div>'; echo '</div>'; } echo '</div>'; // close katb_widget_box/katb_widget_box_basic } echo '</div>'; }
/** * This is the initial function call to display the testimonials in the content area. * * @param boolean $use_formatted_display yes or no * @param boolean $use_schema yes or no * @param string $katb_tnumber total number of testimonials * @param array $katb_tdata array of testimonial data * @param boolean $katb_rotate yes or no * @param string $layout top meta or bottom meta * @param string $group_name group name from shortcode * * @uses katb_get_options() user options for plugin from katb_functions.php * @uses katb_company_aggregate_display() displays summary of testimonials from this file * @uses katb_validate_gravatar() checks for valid gravatar from katb_functions.php * @uses katb_setup_popup() setups the popup from this file * @uses katb_testimonial_wrap_div() sets up div wrap for options from this file * @uses katb_meta_top() supplies top meta string if required from this file * @uses katb_insert_gravatar () returns gravatar set up from this file * @uses katb_testimonial_excerpt_filter() excerpt for testimonial from katb_functions.php * @uses katb_meta_bottom () returns the bottom meta strip from this file * * @return $html html string with content */ function katb_content_display($use_formatted_display, $use_schema, $katb_tnumber, $katb_tdata, $katb_rotate, $layout, $group_name, $layout_override) { //get user options global $katb_options; $use_ratings = intval($katb_options['katb_use_ratings']); $use_css_ratings = intval($katb_options['katb_use_css_ratings']); $use_excerpts = intval($katb_options['katb_use_excerpts']); $use_title = intval($katb_options['katb_show_title']); $use_gravatars = intval($katb_options['katb_use_gravatars']); $use_round_images = intval($katb_options['katb_use_round_images']); $use_gravatar_substitute = intval($katb_options['katb_use_gravatar_substitute']); $gravatar_size = intval($katb_options['katb_gravatar_size']); $company_name = sanitize_text_field($katb_options['katb_schema_company_name']); $company_website = esc_url($katb_options['katb_schema_company_url']); $display_company = intval($katb_options['katb_schema_display_company']); $display_aggregate = intval($katb_options['katb_schema_display_aggregate']); $display_reviews = intval($katb_options['katb_schema_display_reviews']); $use_group_name_for_aggregate = intval($katb_options['katb_use_group_name_for_aggregate']); $custom_aggregate_name = sanitize_text_field($katb_options['katb_custom_aggregate_review_name']); $use_individual_group_name = intval($katb_options['katb_individual_group_name']); $custom_individual_name = sanitize_text_field($katb_options['katb_individual_custom_name']); $katb_height = intval($katb_options['katb_rotator_height']); $katb_speed = intval($katb_options['katb_rotator_speed']); $katb_transition = sanitize_text_field($katb_options['katb_rotator_transition']); //set up constant height option for rotated testimonials if ($katb_rotate == 1 && $katb_height != 'variable') { $katb_height_option = 'style="min-height:' . esc_attr($katb_height) . 'px;overflow:hidden;"'; $katb_height_outside = $katb_height + 20; $katb_height_option_outside = 'style="min-height:' . esc_attr($katb_height_outside) . 'px;overflow:hidden;"'; } else { $katb_height_option = ''; $katb_height_option_outside = ''; } //apply layout overide if applicable if ($layout_override == '0') { //don't change the default } elseif ($layout_override == '1') { $layout = 'Top Meta'; $use_formatted_display = '0'; } elseif ($layout_override == '2') { $layout = 'Bottom Meta'; $use_formatted_display = '0'; } elseif ($layout_override == '3') { $layout = 'Side Meta'; $use_formatted_display = '0'; } elseif ($layout_override == '4') { $layout = 'Top Meta'; $use_formatted_display = '1'; } elseif ($layout_override == '5') { $layout = 'Bottom Meta'; $use_formatted_display = '1'; } elseif ($layout_override == '6') { $layout = 'Side Meta'; $use_formatted_display = '1'; } //If we are not displaying anything turn off the schema if ($display_company == 0 && $display_aggregate == 0 && $display_reviews == 0) { $use_schema = 0; } $html = ''; // Set up the schema wrap, company summary, and aggregate sumary if ($use_schema == 1) { $html .= '<div itemscope itemtype="http://schema.org/Organization">'; $html .= katb_company_aggregate_display($use_formatted_display, $group_name, $layout); } //Set up the wrap for all testimonials...lots of code but only one div wrap if ($use_schema == 1 && $display_reviews != 1) { // do not display any individual reviews } else { //display individual reviews if ($katb_rotate == 1) { if ($use_formatted_display == 1) { if ($layout == "Side Meta") { $html .= '<div ' . $katb_height_option_outside . ' class="katb_test_wrap_side_meta katb_rotate" data-katb_speed="' . esc_attr($katb_speed) . '" data-katb_transition="' . esc_attr($katb_transition) . '">'; } else { $html .= '<div ' . $katb_height_option_outside . ' class="katb_test_wrap katb_rotate" data-katb_speed="' . esc_attr($katb_speed) . '" data-katb_transition="' . esc_attr($katb_transition) . '">'; } } else { if ($layout == "Side Meta") { $html .= '<div ' . $katb_height_option_outside . ' class="katb_test_wrap_basic_side_meta katb_rotate" data-katb_speed="' . esc_attr($katb_speed) . '" data-katb_transition="' . esc_attr($katb_transition) . '">'; } else { $html .= '<div ' . $katb_height_option_outside . ' class="katb_test_wrap_basic katb_rotate" data-katb_speed="' . esc_attr($katb_speed) . '" data-katb_transition="' . esc_attr($katb_transition) . '">'; } } } else { if ($use_formatted_display == 1) { if ($layout == "Side Meta") { $html .= '<div class="katb_test_wrap_side_meta">'; } else { $html .= '<div class="katb_test_wrap">'; } } else { if ($layout == "Side Meta") { $html .= '<div class="katb_test_wrap_basic_side_meta">'; } else { $html .= '<div class="katb_test_wrap_basic">'; } } } //Display Individual Testimonials for ($i = 0; $i < $katb_tnumber; $i++) { //if gravatars are enabled, check for valid avatar if ($use_gravatars == 1 && $use_gravatar_substitute != 1) { $has_valid_avatar = katb_validate_gravatar($katb_tdata[$i]['tb_email']); } else { $has_valid_avatar = 0; } //get the gravatar or photo html $gravatar_or_photo = katb_insert_gravatar($katb_tdata[$i]['tb_pic_url'], $gravatar_size, $use_gravatars, $use_round_images, $use_gravatar_substitute, $has_valid_avatar, $katb_tdata[$i]['tb_email']); //set up hidden popup if excerpt is used if ($use_excerpts == 1) { $html .= katb_setup_popup($i, $katb_tdata, $has_valid_avatar); } //Set up the testimonial wrap div $html .= katb_testimonial_wrap_div($use_formatted_display, $use_schema, $katb_rotate, $katb_height_option, $i, $layout); if ($layout == "Side Meta") { //left box contains the gravatar, and the meta $html .= '<div class="katb_left_box">'; if ($gravatar_or_photo != '') { $html .= '<div class="katb_side_gravatar">' . $gravatar_or_photo . '</div>'; } $html .= katb_meta_side($i, $katb_tdata, $use_schema); $html .= '</div>'; //right box contains the title, rating and content $html .= '<div class="katb_right_box">'; //Set up and return html for title bar $html .= katb_insert_title($use_schema, $use_title, $katb_tdata, $i, $use_individual_group_name, $custom_individual_name); //Set up and return html for ratings $html .= katb_insert_rating($use_schema, $use_ratings, $use_css_ratings, $katb_tdata, $i); //display the testimonial, note $gravatar_or_photo passed variable set to '' $html .= katb_insert_content($use_excerpts, $use_schema, $use_formatted_display, $layout, intval($katb_options['katb_excerpt_length']), '', $i, $katb_tdata); $html .= '</div>'; } else { //Set up and return array for title bar $html .= katb_insert_title($use_schema, $use_title, $katb_tdata, $i, $use_individual_group_name, $custom_individual_name); //Set up and return html for ratings $html .= katb_insert_rating($use_schema, $use_ratings, $use_css_ratings, $katb_tdata, $i); //dispay top meta if ($layout == 'Top Meta') { $html .= katb_meta_top($i, $katb_tdata, $use_schema); } //display the testimonial $html .= katb_insert_content($use_excerpts, $use_schema, $use_formatted_display, $layout, intval($katb_options['katb_excerpt_length']), $gravatar_or_photo, $i, $katb_tdata); //display bottom meta if ($layout == 'Bottom Meta') { $html .= katb_meta_bottom($i, $katb_tdata, $use_schema); } } $html .= '</div>'; // close the testimonial content wrap if ($layout == "Side Meta" && $katb_rotate == 1) { $html .= '</div>'; } //close the <div class="katb_side_meta_block katb_rotate_show"> } //close i loop $html .= '</div>'; //close all testimonials wrap } //close the schema if ($use_schema == 1) { $html .= '</div>'; //close itemscope itemtype="http://schema.org/Organization" } return $html; }