esc_html__("Review box", "keydesign"), "description" => esc_html__("Display reviews with ratings.", "keydesign"), "base" => "tek_reviews", "class" => "", "icon" => plugins_url('assets/element_icons/reviews.png', dirname(__FILE__)), "category" => esc_html__("KeyDesign Elements", "keydesign"), "params" => array( array( "type" => "textfield", "class" => "kd-back-desc", "heading" => esc_html__("Author name", "keydesign"), "param_name" => "rw_author_name", "holder" => "div", "value" => "", "description" => esc_html__("Write the review author name.", "keydesign"), ), array( "type" => "colorpicker", "class" => "", "heading" => esc_html__("Author name text color", "keydesign"), "param_name" => "rw_author_name_color", "value" => "", "description" => esc_html__("Choose author name text color. If none selected, the default theme color will be used.", "keydesign"), ), array( "type" => "textfield", "class" => "", "heading" => esc_html__("Author description", "keydesign"), "param_name" => "rw_author_desc", "value" => "", "description" => esc_html__("Write the review author description.", "keydesign"), ), array( "type" => "colorpicker", "class" => "", "heading" => esc_html__("Author description text color", "keydesign"), "param_name" => "rw_author_desc_color", "value" => "", "description" => esc_html__("Choose author description text color. If none selected, the default theme color will be used.", "keydesign"), ), array( "type" => "dropdown", "class" => "", "heading" => esc_html__("Author image source", "keydesign"), "param_name" => "image_source", "value" => array( "Media library" => "media_library", "External link" => "external_link", ), "description" => esc_html__("Select image source.", "keydesign"), "save_always" => true, ), array( "type" => "attach_image", "class" => "", "heading" => esc_html__("Author image", "keydesign"), "param_name" => "rw_author_image", "value" => "", "description" => esc_html__("Select or upload author profile image using the media library.", "keydesign"), "dependency" => array( "element" => "image_source", "value" => array("media_library") ), ), array( "type" => "textfield", "class" => "", "heading" => esc_html__("Author image external source", "keydesign"), "param_name" => "ext_image", "value" => "", "description" => esc_html__("Enter image external link.", "keydesign"), "dependency" => array( "element" => "image_source", "value" => array("external_link") ), ), array( "type" => "textfield", "class" => "", "heading" => esc_html__("Author image size", "keydesign"), "param_name" => "ext_image_size", "value" => "", "description" => esc_html__("Enter image size in pixels. Example: 230x400 (Width x Height).", "keydesign"), "dependency" => array( "element" => "image_source", "value" => array("external_link") ), ), array( "type" => "textarea", "class" => "", "heading" => esc_html__("Review message", "keydesign"), "param_name" => "rw_review_message", "value" => "", "description" => esc_html__("Write the review message.", "keydesign") ), array( "type" => "colorpicker", "class" => "", "heading" => esc_html__("Review message text color", "keydesign"), "param_name" => "rw_review_message_color", "value" => "", "description" => esc_html__("Choose review message text color. If none selected, the default theme color will be used.", "keydesign"), ), array( "type" => "dropdown", "class" => "", "heading" => esc_html__("Show star rating","keydesign"), "param_name" => "rw_show_review_rating", "value" => array( "Show star rating" => "show_stars", "Hide star rating" => "hide_stars" ), "save_always" => true, "description" => esc_html__("Display stars rating.", "keydesign") ), array( "type" => "dropdown", "class" => "", "heading" => esc_html__("Review rating","keydesign"), "param_name" => "rw_review_rating", "value" => array( "1 star" => "one_star", "2 stars" => "two_stars", "3 stars" => "three_stars", "4 stars" => "four_stars", "5 stars" => "five_stars", ), "save_always" => true, "dependency" => array( "element" => "rw_show_review_rating", "value" => array("show_stars") ), "description" => esc_html__("Select review rating.", "keydesign") ), array( "type" => "colorpicker", "class" => "", "heading" => esc_html__("Star color", "keydesign"), "param_name" => "rw_star_color", "value" => "", "dependency" => array( "element" => "rw_show_review_rating", "value" => array("show_stars") ), "description" => esc_html__("Choose star color.", "keydesign") ), array( "type" => "colorpicker", "class" => "", "heading" => esc_html__("Box background color", "keydesign"), "param_name" => "rw_box_background", "value" => "", "description" => esc_html__("Choose review box background color. If none selected, the default theme color will be used.", "keydesign") ), array( "type" => "dropdown", "class" => "", "heading" => esc_html__("CSS Animation", "keydesign"), "param_name" => "css_animation", "value" => array( "No" => "", "Fade In" => "kd-animated fadeIn", "Fade In Down" => "kd-animated fadeInDown", "Fade In Left" => "kd-animated fadeInLeft", "Fade In Right" => "kd-animated fadeInRight", "Fade In Up" => "kd-animated fadeInUp", "Zoom In" => "kd-animated zoomIn", ), "save_always" => true, "admin_label" => true, "description" => esc_html__("Select type of animation for element to be animated when it enters the browsers viewport (Note: works only in modern browsers).", "keydesign"), "group" => esc_html__( "Extras", "keydesign" ), ), array( "type" => "dropdown", "class" => "", "heading" => esc_html__("Animation Delay", "keydesign"), "param_name" => "elem_animation_delay", "value" => array( "0 ms" => "", "200 ms" => "200", "400 ms" => "400", "600 ms" => "600", "800 ms" => "800", "1 s" => "1000", ), "dependency" => array( "element" => "css_animation", "value" => array("kd-animated fadeIn", "kd-animated fadeInDown", "kd-animated fadeInLeft", "kd-animated fadeInRight", "kd-animated fadeInUp", "kd-animated zoomIn") ), "save_always" => true, "admin_label" => true, "description" => esc_html__("Enter animation delay in ms.", "keydesign"), "group" => esc_html__( "Extras", "keydesign" ), ), array( "type" => "textfield", "class" => "", "heading" => esc_html__("Extra class name", "keydesign"), "param_name" => "rw_extra_class", "value" => "", "description" => esc_html__("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "keydesign"), "group" => esc_html__( "Extras", "keydesign" ), ), ) )); } } // Render the element on front-end public function kd_reviews_shrt($atts, $content = null) { extract(shortcode_atts(array( 'rw_author_name' => '', 'rw_author_name_color' => '', 'rw_author_desc' => '', 'rw_author_desc_color' => '', 'image_source' => '', 'rw_author_image' => '', 'ext_image' => '', 'ext_image_size' => '', 'rw_review_message' => '', 'rw_review_message_color' => '', 'rw_show_review_rating' => '', 'rw_review_rating' => '', 'rw_star_color' => '', 'rw_box_background' => '', 'css_animation' => '', 'elem_animation_delay' => '', 'rw_extra_class' => '', ), $atts)); $author_img = $full_star = $empty_star = $rating_stars = $rw_author_img_array = $author_image = $animation_delay = $dimensions = $hwstring = ''; $full_star = ''; $empty_star = ''; switch($rw_review_rating){ case 'one_star': $rating_stars = $full_star.str_repeat($empty_star, 4); break; case 'two_stars': $rating_stars = str_repeat($full_star, 2).str_repeat($empty_star, 3); break; case 'three_stars': $rating_stars = str_repeat($full_star, 3).str_repeat($empty_star, 2); break; case 'four_stars': $rating_stars = str_repeat($full_star, 4).$empty_star; break; case 'five_stars': $rating_stars = str_repeat($full_star, 5); break; default: } $dimensions = vc_extract_dimensions( $ext_image_size ); $hwstring = $dimensions ? image_hwstring( $dimensions[0], $dimensions[1] ) : ''; if ($image_source == 'external_link') { if (!empty($ext_image)) { $author_image .=''; } } elseif(!empty($rw_author_image)) { $rw_author_img_array = wpb_getImageBySize ( $params = array( 'post_id' => NULL, 'attach_id' => $rw_author_image, 'thumb_size' => 'full', 'class' => "" ) ); $author_image = $rw_author_img_array['thumbnail']; } //CSS Animation if ($css_animation == "no_animation") { $css_animation = ""; } // Animation delay if ($elem_animation_delay) { $animation_delay = 'data-animation-delay='.$elem_animation_delay; } $output = '
'; $output .= '
'; if (!empty($rw_author_image) || !empty($ext_image)) { $output .= '
'.$author_image.'
'; } $output .= '
'.$rw_author_name.'

'.$rw_author_desc.'

'; if ($rw_review_message) { $output .= '
'.$rw_review_message.'
'; } if ( $rw_show_review_rating !== "hide_stars" ) { $output .= '
'.$rating_stars.'
'; } $output .= '
'; return $output; } } } if (class_exists('KD_ELEM_REVIEWS')) { $KD_ELEM_REVIEWS = new KD_ELEM_REVIEWS; } ?>