name = esc_html__('Logo', 'addons-for-divi'); $this->settings_modal_toggles = array( 'general' => array( 'toggles' => array( 'main_content' => esc_html__('Content', 'addons-for-divi'), 'tab_content' => esc_html__('Tab Content', 'addons-for-divi'), ), ), 'advanced' => array( 'toggles' => array( 'overlay' => esc_html__('Overlay', 'addons-for-divi'), 'borders' => esc_html__('Borders', 'addons-for-divi'), ), ), ); } public function get_fields() { $fields = array( 'logo' => array( 'label' => esc_html__('Upload Logo', 'addons-for-divi'), 'description' => esc_html__('Upload a logo or type in the URL of the logo you would like to display.', 'addons-for-divi'), 'type' => 'upload', 'option_category' => 'basic_option', 'upload_button_text' => esc_attr__('Upload a Logo', 'addons-for-divi'), 'choose_text' => esc_attr__('Choose a Logo', 'addons-for-divi'), 'update_text' => esc_attr__('Set As Logo', 'addons-for-divi'), 'toggle_slug' => 'main_content', 'mobile_options' => true, 'hover' => 'tabs', ), 'brand_name' => array( 'label' => esc_html__('Logo Alt Text', 'addons-for-divi'), 'description' => esc_html__('Define the HTML ALT text for your logo image here.', 'addons-for-divi'), 'type' => 'text', 'toggle_slug' => 'main_content', ), 'is_link' => array( 'label' => esc_html__('Use Link', 'addons-for-divi'), 'description' => esc_html__('Here you can choose whether logo should be linked.', 'addons-for-divi'), 'type' => 'yes_no_button', 'option_category' => 'configuration', 'options' => array( 'on' => esc_html__('Yes', 'addons-for-divi'), 'off' => esc_html__('No', 'addons-for-divi'), ), 'default' => 'off', 'toggle_slug' => 'main_content', ), 'link_url' => array( 'label' => esc_html__('Link Url', 'addons-for-divi'), 'description' => esc_html__('Here you can define the logo link url.', 'addons-for-divi'), 'type' => 'text', 'default' => '', 'dynamic_content' => 'url', 'show_if' => array( 'is_link' => 'on', ), 'toggle_slug' => 'main_content', ), 'link_options' => array( 'type' => 'multiple_checkboxes', 'default' => 'off|off', 'toggle_slug' => 'main_content', 'options' => array( 'link_target' => 'Open in new window', 'link_rel' => 'Add nofollow', ), 'show_if' => array( 'is_link' => 'on', ), ), ); $label = array( 'admin_title' => array( 'label' => esc_html__('Admin Label', 'addons-for-divi'), 'type' => 'text', 'description' => esc_html__('This will change the label of the item', 'addons-for-divi'), 'toggle_slug' => 'admin_label', ), ); $overlay = $this->get_overlay_option_fields('overlay', 'off', array()); return array_merge($label, $fields, $overlay); } public function get_advanced_fields_config() { $advanced_fields = array(); $advanced_fields['text'] = array(); $advanced_fields['fonts'] = array(); $advanced_fields['text_shadow'] = array(); $advanced_fields['max_width'] = array(); $advanced_fields['margin_padding'] = array( 'css' => array( 'main' => '%%order_class%% .dtq-logo-carousel-item', 'important' => 'all', ), ); $advanced_fields['borders']['item'] = array( 'css' => array( 'main' => array( 'border_radii' => '%%order_class%%', 'border_styles' => '%%order_class%%', ), 'important' => 'all', ), 'label_prefix' => esc_html__('Item', 'addons-for-divi'), 'defaults' => array( 'border_radii' => 'on|0px|0px|0px|0px', 'border_styles' => array( 'width' => '0px', 'color' => '#333', 'style' => 'solid', ), ), 'tab_slug' => 'advanced', 'toggle_slug' => 'borders', ); return $advanced_fields; } public function render_ref_attr() { if ($this->props['is_link'] === 'on') { $link_options = explode('|', $this->props['link_options']); if ($link_options[1] === 'on') { return sprintf('ref="nofollow"'); } } } public function render_logo() { $logo = $this->props['logo']; $data_schema = $this->get_swapped_img_schema('logo'); $brand_name = $this->props['brand_name']; if ($this->props['is_link'] === 'on') { $link_options = explode('|', $this->props['link_options']); $target = $link_options[0] === 'on' ? '_blank' : '_self'; $link_url = $this->props['link_url']; return sprintf( '%5$s', $target, esc_url($link_url), $this->render_ref_attr(), esc_url($logo), esc_attr($brand_name), $data_schema ); } return sprintf( '
%2$s
', $logo, $brand_name, $data_schema ); } public function render($attrs, $content, $render_slug) { // Module classes. $this->remove_classname('et_pb_module'); $this->generate_styles( array( 'utility_arg' => 'icon_font_family', 'render_slug' => $render_slug, 'base_attr_name' => 'overlay_icon', 'important' => true, 'selector' => '%%order_class%% .dtq-overlay .dtq-overlay-icon', 'processor' => array( 'ET_Builder_Module_Helper_Style_Processor', 'process_extended_icon', ), ) ); // Overlay Styles. $this->get_overlay_style($render_slug, 'logo', '%%order_class%% .dtq-carousel-item'); $processed_overlay_icon = esc_attr(et_pb_process_font_icon($this->props['overlay_icon'])); $overlay_icon = !empty($processed_overlay_icon) ? $processed_overlay_icon : ''; $overlay_on_hover = $this->props['overlay_on_hover']; $overlay = ''; if ('on' === $overlay_on_hover) { dtq_inject_fa_icons($this->props['overlay_icon']); $overlay = sprintf( '
%1$s
', $overlay_icon ); } return sprintf( '', $this->render_logo(), $overlay ); } } new DTQ_Logo_Carousel_Child();