pluginManagerInstance = null; if (is_array($args) && isset($args[0]) && is_object($args[0])) { $this->pluginManagerInstance = $args[0]; } if ($this->pluginManagerInstance) { $this->shortName = $this->pluginManagerInstance->getShortName(); $this->platformName = $this->pluginManagerInstance->get_platform_name($this->shortName); $this->shortCodeName = $this->pluginManagerInstance->get_shortcode_name(); } } public function get_name() { return $this->platformName; } public function get_title() { return $this->platformName .' '. __('Reviews', 'wp-reviews-plugin-for-google') . ' - Trustindex'; } public function get_icon() { return 'eicon-star'; } public function get_categories() { return ['trustindex', 'general']; } protected function register_controls(): void { $this->start_controls_section('content_section', [ 'label' => __('Widget type', 'wp-reviews-plugin-for-google') ]); $this->add_control('type', [ 'type' => \Elementor\Controls_Manager::CHOOSE, 'label' => '', 'label_block' => true, 'show_label' => false, 'options' => [ 'free' => [ 'title' => '', 'icon' => '', 'label' => ucfirst(__('free', 'wp-reviews-plugin-for-google')) . ' widget', ], 'pro' => [ 'title' => '', 'icon' => '', 'label' => 'PRO widget', ], ], 'default' => 'free', ] ); if (defined('\Elementor\Controls_Manager::NOTICE')) { $this->add_control('custom_panel_notice', [ 'type' => \Elementor\Controls_Manager::NOTICE, 'notice_type' => 'success', 'heading' => __('UPGRADE to PRO Features', 'wp-reviews-plugin-for-google'), /* translators: %d: number */ 'content' => sprintf(__('Automatic review update, creating unlimited review widgets, downloading and displaying all reviews, %d review platforms available!', 'wp-reviews-plugin-for-google'), 137) . '

'.__('Create a Free Account for More Features', 'wp-reviews-plugin-for-google').'', 'condition' => [ 'type' => 'free' ], ]); } $this->add_control('embed_code', [ 'type' => \Elementor\Controls_Manager::TEXTAREA, 'label' => 'Widget shortcode', /* translators: %s: admin.trustindex.io */ 'placeholder' => sprintf(__('Paste the widget shortcode from the Advanced Widget Editor on the %s.', 'wp-reviews-plugin-for-google'), 'admin.trusintdex.io'), 'label_block' => true, 'condition' => [ 'type' => 'pro' ], ]); $this->end_controls_section(); } protected function render() { $settings = $this->get_settings_for_display(); $shortcode = '['.$this->shortCodeName.' no-registration='.$this->shortName.']'; if ('pro' === $settings['type'] && $settings['embed_code']) { $shortcode = $settings['embed_code']; } echo do_shortcode($shortcode); } } if (!class_exists('Elementor\Control_Choose2')) { class Control_Choose2 extends Control_Choose { public function content_template() { $control_uid_input_type = '{{value}}'; ?>
<# _.each( data.options, function( options, value ) { #> <# } ); #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>