/
home
/
techb158
/
public_html
/
wp-content
/
plugins
/
elementor
/
includes
/
widgets
/
/home/techb158/public_html/wp-content/plugins/elementor/includes/widgets
mkdir
upload
Name
Size
Mode
Actions
traits/
-
0755
rm
accordion.php
20780
0666
edit
dl
rm
alert.php
14362
0666
edit
dl
rm
audio.php
7858
0666
edit
dl
rm
button.php
3415
0666
edit
dl
rm
common-base.php
34679
0666
edit
dl
rm
common-optimized.php
840
0666
edit
dl
rm
common.php
204
0666
edit
dl
rm
counter.php
18355
0666
edit
dl
rm
divider.php
34387
0666
edit
dl
rm
google-maps.php
7363
0666
edit
dl
rm
heading.php
15721
0666
edit
dl
rm
html.php
2944
0666
edit
dl
rm
icon-box.php
25968
0666
edit
dl
rm
icon-list.php
23360
0666
edit
dl
rm
icon.php
13437
0666
edit
dl
rm
image-box.php
22905
0666
edit
dl
rm
image-carousel.php
29358
0666
edit
dl
rm
image-gallery.php
12745
0666
edit
dl
rm
image.php
21561
0666
edit
dl
rm
inner-section.php
917
0666
edit
dl
rm
menu-anchor.php
4118
0666
edit
dl
rm
progress.php
14612
0666
edit
dl
rm
rating.php
8095
0666
edit
dl
rm
read-more.php
3714
0666
edit
dl
rm
shortcode.php
3692
0666
edit
dl
rm
sidebar.php
3120
0666
edit
dl
rm
social-icons.php
18909
0666
edit
dl
rm
spacer.php
3809
0666
edit
dl
rm
star-rating.php
14254
0666
edit
dl
rm
tabs.php
17892
0666
edit
dl
rm
testimonial.php
18748
0666
edit
dl
rm
text-editor.php
15651
0666
edit
dl
rm
toggle.php
20935
0666
edit
dl
rm
video.php
35705
0666
edit
dl
rm
wordpress.php
7597
0666
edit
dl
rm
Edit:
/home/techb158/public_html/wp-content/plugins/elementor/includes/widgets/rating.php
(8095B)
<?php namespace Elementor; use Elementor\Icons_Manager; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Elementor (new) rating widget. * * @since 3.17.0 */ class Widget_Rating extends Widget_Base { public function get_name() { return 'rating'; } public function get_title() { return esc_html__( 'Rating', 'elementor' ); } public function get_icon() { return 'eicon-rating'; } public function get_keywords() { return [ 'star', 'rating', 'review', 'score', 'scale' ]; } protected function is_dynamic_content(): bool { return false; } public function get_style_depends(): array { return [ 'widget-rating' ]; } public function has_widget_inner_wrapper(): bool { return ! Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' ); } /** * @return void */ private function add_style_tab() { $this->start_controls_section( 'section_icon_style', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'icon_size', [ 'label' => esc_html__( 'Size', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem', 'vw', 'custom' ], 'range' => [ 'px' => [ 'max' => 100, ], 'em' => [ 'min' => 0, 'max' => 10, ], 'rem' => [ 'min' => 0, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}}' => '--e-rating-icon-font-size: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'icon_gap', [ 'label' => esc_html__( 'Spacing', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem', 'vw', 'custom' ], 'range' => [ 'px' => [ 'max' => 100, ], 'em' => [ 'min' => 0, 'max' => 10, ], 'rem' => [ 'min' => 0, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}}' => '--e-rating-gap: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'icon_color', [ 'label' => esc_html__( 'Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}}' => '--e-rating-icon-marked-color: {{VALUE}}', ], 'separator' => 'before', ] ); $this->add_control( 'icon_unmarked_color', [ 'label' => esc_html__( 'Unmarked Color', 'elementor' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}}' => '--e-rating-icon-color: {{VALUE}}', ], ] ); $this->end_controls_section(); } protected function register_controls() { $start_logical = is_rtl() ? 'end' : 'start'; $end_logical = is_rtl() ? 'start' : 'end'; $this->start_controls_section( 'section_rating', [ 'label' => esc_html__( 'Rating', 'elementor' ), ] ); $this->add_control( 'rating_scale', [ 'label' => esc_html__( 'Rating Scale', 'elementor' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 1, 'max' => 10, ], ], 'default' => [ 'size' => 5, ], ] ); $this->add_control( 'rating_value', [ 'label' => esc_html__( 'Rating', 'elementor' ), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 0.5, 'dynamic' => [ 'active' => true, ], ] ); $this->add_control( 'rating_icon', [ 'label' => esc_html__( 'Icon', 'elementor' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'icon', 'skin' => 'inline', 'label_block' => false, 'skin_settings' => [ 'inline' => [ 'icon' => [ 'icon' => 'eicon-star', ], ], ], 'default' => [ 'value' => 'eicon-star', 'library' => 'eicons', ], 'separator' => 'before', 'exclude_inline_options' => [ 'none' ], ] ); $this->add_responsive_control( 'icon_alignment', [ 'label' => esc_html__( 'Alignment', 'elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'start' => [ 'title' => esc_html__( 'Start', 'elementor' ), 'icon' => "eicon-align-$start_logical-h", ], 'center' => [ 'title' => esc_html__( 'Center', 'elementor' ), 'icon' => 'eicon-align-center-h', ], 'end' => [ 'title' => esc_html__( 'End', 'elementor' ), 'icon' => "eicon-align-$end_logical-h", ], ], 'selectors_dictionary' => [ 'start' => '--e-rating-justify-content: flex-start;', 'center' => '--e-rating-justify-content: center;', 'end' => '--e-rating-justify-content: flex-end;', ], 'selectors' => [ '{{WRAPPER}}' => '{{VALUE}}', ], 'separator' => 'before', ] ); $this->end_controls_section(); $this->add_style_tab(); } protected function get_rating_value(): float { $initial_value = $this->get_rating_scale(); $rating_value = $this->get_settings_for_display( 'rating_value' ); if ( '' === $rating_value ) { $rating_value = $initial_value; } $rating_value = floatval( $rating_value ); return round( $rating_value, 2 ); } protected function get_rating_scale(): int { return intval( $this->get_settings_for_display( 'rating_scale' )['size'] ); } protected function get_icon_marked_width( $icon_index ): string { $rating_value = $this->get_rating_value(); $width = '0%'; if ( $rating_value >= $icon_index ) { $width = '100%'; } elseif ( intval( ceil( $rating_value ) ) === $icon_index ) { $width = ( $rating_value - ( $icon_index - 1 ) ) * 100 . '%'; } return $width; } protected function get_icon_markup(): string { $icon = $this->get_settings_for_display( 'rating_icon' ); $rating_scale = $this->get_rating_scale(); ob_start(); for ( $index = 1; $index <= $rating_scale; $index++ ) { $this->add_render_attribute( 'icon_marked_' . $index, [ 'class' => 'e-icon-wrapper e-icon-marked', ] ); $icon_marked_width = $this->get_icon_marked_width( $index ); if ( '100%' !== $icon_marked_width ) { $this->add_render_attribute( 'icon_marked_' . $index, [ 'style' => '--e-rating-icon-marked-width: ' . $icon_marked_width . ';', ] ); } ?> <div class="e-icon"> <div <?php $this->print_render_attribute_string( 'icon_marked_' . $index ); ?>> <?php echo Icons_Manager::try_get_icon_html( $icon, [ 'aria-hidden' => 'true' ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </div> <div class="e-icon-wrapper e-icon-unmarked"> <?php echo Icons_Manager::try_get_icon_html( $icon, [ 'aria-hidden' => 'true' ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </div> </div> <?php } return ob_get_clean(); } protected function render() { $this->add_render_attribute( 'widget', [ 'class' => 'e-rating', 'itemtype' => 'https://schema.org/Rating', 'itemscope' => '', 'itemprop' => 'reviewRating', ] ); $this->add_render_attribute( 'widget_wrapper', [ 'class' => 'e-rating-wrapper', 'itemprop' => 'ratingValue', 'content' => $this->get_rating_value(), 'role' => 'img', 'aria-label' => sprintf( /* translators: 1: Rating value, 2: Rating scale. */ esc_html__( 'Rated %1$s out of %2$s', 'elementor' ), $this->get_rating_value(), $this->get_rating_scale() ), ] ); ?> <div <?php $this->print_render_attribute_string( 'widget' ); ?>> <meta itemprop="worstRating" content="0"> <meta itemprop="bestRating" content="<?php echo $this->get_rating_scale(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>"> <div <?php $this->print_render_attribute_string( 'widget_wrapper' ); ?>> <?php echo $this->get_icon_markup(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </div> </div> <?php } public function render_markdown(): string { $settings = $this->get_settings_for_display(); $value = $settings['rating_value'] ?? ''; $scale = $settings['rating_scale']['size'] ?? ( $settings['rating_scale'] ?? '5' ); if ( empty( $value ) ) { return ''; } return $value . '/' . $scale; } }
Save
cmd:
run