File manager - Edit - /home/verseaumee/lauvia/wp-content/plugins/trx_addons/components/api/trx_donations/trx_donations-sc-elementor.php
Back
<?php /** * Plugin support: ThemeREX Donations (Elementor support) * * @package ThemeREX Addons * @since v1.5 */ // Don't load directly if ( ! defined( 'TRX_ADDONS_VERSION' ) ) { exit; } // Elementor Widgets //------------------------------------------------------ if ( ! function_exists( 'trx_addons_sc_trx_donations_add_in_elementor_df' ) ) { add_action( trx_addons_elementor_get_action_for_widgets_registration(), 'trx_addons_sc_trx_donations_add_in_elementor_df' ); /** * Register a widget 'Donations form' for Elementor * * @hooked elementor/widgets/register */ function trx_addons_sc_trx_donations_add_in_elementor_df() { if ( ! trx_addons_exists_trx_donations() || ! class_exists( 'TRX_Addons_Elementor_Widget' ) ) { return; } class TRX_Addons_Elementor_Widget_Trx_Donations_Form extends TRX_Addons_Elementor_Widget { /** * Retrieve widget name. * * @since 1.6.41 * @access public * * @return string Widget name. */ public function get_name() { return 'trx_donations_form'; } /** * Retrieve widget title. * * @since 1.6.41 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Donations form', 'trx_addons' ); } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.27.2 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'donation', 'charity', 'form' ]; } /** * Retrieve widget icon. * * @since 1.6.41 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-price-table trx_addons_elementor_widget_icon'; } /** * Retrieve the list of categories the widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.6.41 * @access public * * @return array Widget categories. */ public function get_categories() { return ['trx_addons-elements']; } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.6.41 * @access protected */ protected function register_controls() { $this->start_controls_section( 'section_sc_trx_donations_form', [ 'label' => __( 'Donations form', 'trx_addons' ), ] ); $donations_list = ! is_admin() ? array() : trx_addons_array_merge( array( 0 => trx_addons_get_not_selected_text( esc_html__( 'Select form', 'trx_addons' ) ) ), trx_addons_get_list_posts( false, array( 'post_type' => TRX_DONATIONS::POST_TYPE, 'not_selected' => false ) ) ); $this->add_control( 'donation', [ 'label' => __( 'Donation', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => $donations_list, 'default' => 0 ] ); $this->add_control( 'title', [ 'label' => __( 'Title', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'subtitle', [ 'label' => __( 'Subtitle', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'description', [ 'label' => __( 'Description', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::WYSIWYG, 'default' => '' ] ); $this->end_controls_section(); $this->start_controls_section( 'section_sc_trx_donations_form_paypal', [ 'label' => __( 'PayPal Details', 'trx_addons' ), ] ); $this->add_control( 'client_id', [ 'label' => __( 'PayPal Client ID', 'trx_addons' ), 'description' => wp_kses_data( __("Client ID from the PayPay application. If empty - used value from ThemeREX Donations options", 'trx_addons') ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'amount', [ 'label' => __( 'Default amount', 'trx_addons' ), 'description' => wp_kses_data( __("Specify default amount to make donation. If empty - used value from ThemeREX Donations options", 'trx_addons') ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'sandbox', [ 'label' => __( 'Sandbox', 'trx_addons' ), 'label_block' => false, 'description' => wp_kses_data( __("Enable sandbox mode to testing your payments without real money transfer", 'trx_addons') ), 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ '' => esc_html__('Inherit', 'trx_addons'), 'on' => esc_html__('On', 'trx_addons'), 'off' => esc_html__('Off', 'trx_addons') ], 'default' => '' ] ); $this->end_controls_section(); } // Return widget's layout public function render() { if ( shortcode_exists( 'trx_donations_form' ) ) { $atts = $this->sc_prepare_atts( $this->get_settings(), $this->get_sc_name() ); trx_addons_show_layout( do_shortcode( sprintf( '[trx_donations_form' . ' donation="%1$s"' . ' title="%2$s"' . ' subtitle="%3$s"' . ' description="%4$s"' . ' client_id="%5$s"' . ' amount="%6$s"' . ' sandbox="%7$s"' . ']', $atts['donation'], $atts['title'], $atts['subtitle'], str_replace('"', "'", $atts['description']), $atts['client_id'], $atts['amount'], $atts['sandbox'] ) ) ); } else $this->shortcode_not_exists('trx_donations_form', 'ThemeREX Donations'); } } // Register widget trx_addons_elm_register_widget( 'TRX_Addons_Elementor_Widget_Trx_Donations_Form' ); } } if ( ! function_exists( 'trx_addons_sc_trx_donations_add_in_elementor_dl' ) ) { add_action( trx_addons_elementor_get_action_for_widgets_registration(), 'trx_addons_sc_trx_donations_add_in_elementor_dl' ); /** * Register a widget 'Donations list' for Elementor. * * @hooked elementor/widgets/register */ function trx_addons_sc_trx_donations_add_in_elementor_dl() { if ( ! trx_addons_exists_trx_donations() || ! class_exists( 'TRX_Addons_Elementor_Widget' ) ) { return; } class TRX_Addons_Elementor_Widget_Trx_Donations_List extends TRX_Addons_Elementor_Widget { /** * Widget base constructor. * * Initializing the widget base class. * * @since 1.6.41 * @access public * * @param array $data Widget data. Default is an empty array. * @param array|null $args Optional. Widget default arguments. Default is null. */ public function __construct( $data = [], $args = null ) { parent::__construct( $data, $args ); $this->add_plain_params([ 'link' => 'url' ]); } /** * Retrieve widget name. * * @since 1.6.41 * @access public * * @return string Widget name. */ public function get_name() { return 'trx_donations_list'; } /** * Retrieve widget title. * * @since 1.6.41 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Donations list', 'trx_addons' ); } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.27.2 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'donation', 'charity', 'list', 'archive' ]; } /** * Retrieve widget icon. * * @since 1.6.41 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-post-list trx_addons_elementor_widget_icon'; } /** * Retrieve the list of categories the widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.6.41 * @access public * * @return array Widget categories. */ public function get_categories() { return ['trx_addons-elements']; } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.6.41 * @access protected */ protected function register_controls() { // Detect edit mode $is_edit_mode = trx_addons_elm_is_edit_mode(); // Register controls $this->start_controls_section( 'section_sc_trx_donations_list', [ 'label' => __( 'Donations list', 'trx_addons' ), ] ); $this->add_control( 'post_type', [ 'type' => \Elementor\Controls_Manager::HIDDEN, 'render_type' => 'none', 'default' => TRX_DONATIONS::POST_TYPE ] ); $this->add_control( 'taxonomy', [ 'type' => \Elementor\Controls_Manager::HIDDEN, 'render_type' => 'none', 'default' => TRX_DONATIONS::TAXONOMY ] ); $this->add_control( 'cat', [ 'label' => __( 'Category', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_array_merge( array( 0 => trx_addons_get_not_selected_text( esc_html__( 'Select category', 'trx_addons' ) ) ), trx_addons_get_list_terms( false, TRX_DONATIONS::TAXONOMY ) ), 'default' => '0' ] ); $this->add_query_param('', array(), TRX_DONATIONS::POST_TYPE); $this->end_controls_section(); $this->start_controls_section( 'section_sc_trx_donations_list_titles', [ 'label' => __( 'Title & Button', 'trx_addons' ), ] ); $this->add_control( 'title', [ 'label' => __( 'Title', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'subtitle', [ 'label' => __( 'Subtitle', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'description', [ 'label' => __( 'Description', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::WYSIWYG, 'default' => '' ] ); $this->add_control( 'link', [ 'label' => __( 'Link', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::URL, 'default' => ['url' => ''] ] ); $this->add_control( 'link_caption', [ 'label' => __( 'Link text', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->end_controls_section(); } // Return widget's layout public function render() { if ( shortcode_exists( 'trx_donations_list' ) ) { $atts = $this->sc_prepare_atts( $this->get_settings(), $this->get_sc_name() ); trx_addons_show_layout( do_shortcode( sprintf( '[trx_donations_list' . ' cat="%1$s"' . ' title="%2$s"' . ' subtitle="%3$s"' . ' description="%4$s"' . ' link="%5$s"' . ' link_caption="%6$s"' . ' ids="%7$s"' . ' count="%8$s"' . ' columns="%9$s"' . ' offset="%10$s"' . ' orderby="%11$s"' . ' order="%12$s"' . ']', $atts['cat'], $atts['title'], $atts['subtitle'], str_replace('"', "'", $atts['description']), $atts['link'], $atts['link_caption'], $atts['ids'], $atts['count'], $atts['columns'], $atts['offset'], $atts['orderby'], $atts['order'] ) ) ); } else $this->shortcode_not_exists('trx_donations_list', 'ThemeREX Donations'); } } // Register widget trx_addons_elm_register_widget( 'TRX_Addons_Elementor_Widget_Trx_Donations_List' ); } } if ( ! function_exists( 'trx_addons_sc_trx_donations_add_in_elementor_di' ) ) { add_action( trx_addons_elementor_get_action_for_widgets_registration(), 'trx_addons_sc_trx_donations_add_in_elementor_di' ); /** * Register widget 'Donations info' for Elementor * * @hooked elementor/widgets/register */ function trx_addons_sc_trx_donations_add_in_elementor_di() { if ( ! trx_addons_exists_trx_donations() || ! class_exists( 'TRX_Addons_Elementor_Widget' ) ) { return; } class TRX_Addons_Elementor_Widget_Trx_Donations_Info extends TRX_Addons_Elementor_Widget { /** * Widget base constructor. * * Initializing the widget base class. * * @since 1.6.41 * @access public * * @param array $data Widget data. Default is an empty array. * @param array|null $args Optional. Widget default arguments. Default is null. */ public function __construct( $data = [], $args = null ) { parent::__construct( $data, $args ); $this->add_plain_params([ 'show_supporters' => 'size' ]); } /** * Retrieve widget name. * * @since 1.6.41 * @access public * * @return string Widget name. */ public function get_name() { return 'trx_donations_info'; } /** * Retrieve widget title. * * @since 1.6.41 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Donations info', 'trx_addons' ); } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.27.2 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'donation', 'charity', 'info', 'details' ]; } /** * Retrieve widget icon. * * @since 1.6.41 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-info-box trx_addons_elementor_widget_icon'; } /** * Retrieve the list of categories the widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.6.41 * @access public * * @return array Widget categories. */ public function get_categories() { return ['trx_addons-elements']; } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.6.41 * @access protected */ protected function register_controls() { // Detect edit mode $is_edit_mode = trx_addons_elm_is_edit_mode(); // Register controls $this->start_controls_section( 'section_sc_trx_donations_info', [ 'label' => __( 'Donations info', 'trx_addons' ), ] ); $donations_list = ! $is_edit_mode ? array() : trx_addons_get_list_posts(false, ['post_type' => TRX_DONATIONS::POST_TYPE, 'not_selected' => false]); $default_donation = trx_addons_array_get_first($donations_list); $this->add_control( 'donation', [ 'label' => __( 'Donation', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => $donations_list, 'default' => ''.$default_donation // Make string for Elementor Editor ] ); $this->add_control( 'show_featured', [ 'label' => __( 'Show image', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_off' => __( 'Hide', 'trx_addons' ), 'label_on' => __( 'Show', 'trx_addons' ), 'return_value' => '1', 'default' => '1' ] ); $this->add_control( 'show_title', [ 'label' => __( 'Show title', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_off' => __( 'Hide', 'trx_addons' ), 'label_on' => __( 'Show', 'trx_addons' ), 'return_value' => '1', 'default' => '1' ] ); $this->add_control( 'show_excerpt', [ 'label' => __( 'Show excerpt', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_off' => __( 'Hide', 'trx_addons' ), 'label_on' => __( 'Show', 'trx_addons' ), 'return_value' => '1', 'default' => '1' ] ); $this->add_control( 'show_goal', [ 'label' => __( 'Show goal', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_off' => __( 'Hide', 'trx_addons' ), 'label_on' => __( 'Show', 'trx_addons' ), 'return_value' => '1', 'default' => '1' ] ); $this->add_control( 'show_raised', [ 'label' => __( 'Show raised', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_off' => __( 'Hide', 'trx_addons' ), 'label_on' => __( 'Show', 'trx_addons' ), 'return_value' => '1', 'default' => '1' ] ); $this->add_control( 'show_scale', [ 'label' => __( 'Show scale', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_off' => __( 'Hide', 'trx_addons' ), 'label_on' => __( 'Show', 'trx_addons' ), 'return_value' => '1', 'default' => '1' ] ); $this->add_control( 'show_supporters', [ 'label' => __( 'Supporters', 'trx_addons' ), 'description' => wp_kses_data( __("How many supporters show in the list", 'trx_addons') ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 3 ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 20 ] ] ] ); $this->end_controls_section(); $this->start_controls_section( 'section_sc_trx_donations_list_titles', [ 'label' => __( 'Title & Button', 'trx_addons' ), ] ); $this->add_control( 'title', [ 'label' => __( 'Title', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'subtitle', [ 'label' => __( 'Subtitle', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'description', [ 'label' => __( 'Description', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::WYSIWYG, 'default' => '' ] ); $this->add_control( 'link', [ 'label' => __( 'Link', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::URL, 'default' => ['url' => ''] ] ); $this->add_control( 'link_caption', [ 'label' => __( 'Link text', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->end_controls_section(); } // Return widget's layout public function render() { if ( shortcode_exists( 'trx_donations_info' ) ) { $atts = $this->sc_prepare_atts( $this->get_settings(), $this->get_sc_name() ); trx_addons_show_layout( do_shortcode( sprintf( '[trx_donations_info' . ' donation="%1$s"' . ' title="%2$s"' . ' subtitle="%3$s"' . ' description="%4$s"' . ' link="%5$s"' . ' link_caption="%6$s"' . ' show_featured="%7$s"' . ' show_title="%8$s"' . ' show_excerpt="%9$s"' . ' show_goal="%10$s"' . ' show_raised="%11$s"' . ' show_scale="%12$s"' . ' show_supporters="%13$s"' . ']', $atts['donation'], $atts['title'], $atts['subtitle'], str_replace('"', "'", $atts['description']), $atts['link'], $atts['link_caption'], $atts['show_featured'], $atts['show_title'], $atts['show_excerpt'], $atts['show_goal'], $atts['show_raised'], $atts['show_scale'], $atts['show_supporters'] ) ) ); } else $this->shortcode_not_exists('trx_donations_info', 'ThemeREX Donations'); } } // Register widget trx_addons_elm_register_widget( 'TRX_Addons_Elementor_Widget_Trx_Donations_Info' ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings