: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
class DSM_Button extends ET_Builder_Module {
public $slug = 'dsm_button';
public $vb_support = 'on';
protected $module_credits = array(
'module_uri' => 'https://divisupreme.com/',
'author' => 'Divi Supreme',
'author_uri' => 'https://divisupreme.com/',
$this->name = esc_html__( 'Supreme Button', 'dsm-supreme-modules-for-divi' );
$this->plural = esc_html__( 'Supreme Buttons', 'dsm-supreme-modules-for-divi' );
$this->icon_path = plugin_dir_path( __FILE__ ) . 'icon.svg';
$this->main_css_element = '%%order_class%%';
$this->custom_css_fields = array(
'label' => esc_html__( 'Main Element', 'dsm-supreme-modules-for-divi' ),
'no_space_before_selector' => true,
$this->settings_modal_toggles = array(
'main_content' => esc_html__( 'Text', 'dsm-supreme-modules-for-divi' ),
'button_one_tab' => array(
'name' => esc_html__( 'Button #1', 'dsm-supreme-modules-for-divi' ),
'button_two_tab' => array(
'name' => esc_html__( 'Button #2', 'dsm-supreme-modules-for-divi' ),
'tabbed_subtoggles' => true,
'title' => esc_html__( 'Links', 'dsm-supreme-modules-for-divi' ),
'separator' => esc_html__( 'Separator', 'dsm-supreme-modules-for-divi' ),
'alignment' => esc_html__( 'Alignment', 'dsm-supreme-modules-for-divi' ),
'title' => esc_html__( 'Text', 'dsm-supreme-modules-for-divi' ),
'button_one_tab' => array(
'name' => esc_html__( 'Button #1', 'dsm-supreme-modules-for-divi' ),
'button_two_tab' => array(
'name' => esc_html__( 'Button #2', 'dsm-supreme-modules-for-divi' ),
'tabbed_subtoggles' => true,
'title' => esc_html__( 'Lightbox', 'dsm-supreme-modules-for-divi' ),
'button_one_tab' => array(
'name' => esc_html__( 'Tooltip #1', 'dsm-supreme-modules-for-divi' ),
'button_two_tab' => array(
'name' => esc_html__( 'Tooltip #2', 'dsm-supreme-modules-for-divi' ),
'tabbed_subtoggles' => true,
'title' => esc_html__( 'Tooltip Text', 'dsm-supreme-modules-for-divi' ),
public function get_advanced_fields_config() {
'separator_text' => array(
'label' => esc_html__( 'Separator', 'dsm-supreme-modules-for-divi' ),
'main' => "{$this->main_css_element} .dsm-button-separator-text",
'letter_spacing' => array(
'label' => esc_html__( 'Tooltip #1', 'dsm-supreme-modules-for-divi' ),
'main' => "{$this->main_css_element} .dsm_button_one.dsm-tooltip[data-dsm-tooltip]:after",
'letter_spacing' => array(
'button_one_tooltip' => 'on',
'tab_slug' => 'advanced',
'toggle_slug' => 'tooltip',
'sub_toggle' => 'button_one_tab',
'hide_text_align' => true,
'label' => esc_html__( 'Tooltip #2', 'dsm-supreme-modules-for-divi' ),
'main' => "{$this->main_css_element} .dsm_button_two.dsm-tooltip[data-dsm-tooltip]:after",
'letter_spacing' => array(
'button_two_tooltip' => 'on',
'tab_slug' => 'advanced',
'toggle_slug' => 'tooltip',
'sub_toggle' => 'button_two_tab',
'hide_text_align' => true,
'label' => esc_html__( 'Button One', 'dsm-supreme-modules-for-divi' ),
'main' => "{$this->main_css_element} .et_pb_button_one.et_pb_button",
'main' => '%%order_class%% .et_pb_button_one',
'margin_padding' => array(
'label' => esc_html__( 'Button Two', 'dsm-supreme-modules-for-divi' ),
'main' => "{$this->main_css_element} .et_pb_button_two.et_pb_button",
'main' => '%%order_class%% .et_pb_button_two',
'margin_padding' => array(
'custom_margin' => array(
'default' => '|||20px|false|false',
'margin_padding' => array(
'padding' => "{$this->main_css_element}, {$this->main_css_element}:hover",
'margin' => "{$this->main_css_element}.dsm_button",
'use_text_orientation' => false,
'use_background_layout' => true,
'background_layout' => array(
'default_on_front' => 'light',
public function get_custom_css_fields_config() {
'label' => esc_html__( 'Button One', 'dsm-supreme-modules-for-divi' ),
'selector' => '.et_pb_button_one.et_pb_button',
'label' => esc_html__( 'Button Two', 'dsm-supreme-modules-for-divi' ),
'selector' => '.et_pb_button_two.et_pb_button',
public function get_fields() {
$dsm_animation_type_list = array(
'fade' => esc_html__( 'Fade', 'dsm-supreme-modules-for-divi' ),
'fade-in-direction' => esc_html__( 'Fade In Direction', 'dsm-supreme-modules-for-divi' ),
'button_one_id' => array(
'label' => esc_html__( 'Button #1 ID', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'configuration',
'description' => esc_html__( "Assign a unique CSS ID to Button #1 which can be used to assign custom CSS styles from within your child theme or from within Divi's custom CSS inputs.", 'dsm-supreme-modules-for-divi' ),
'tab_slug' => 'custom_css',
'toggle_slug' => 'classes',
'option_class' => 'et_pb_custom_css_regular',
'button_one_css' => array(
'label' => esc_html__( 'Button #1 CSS Class', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'configuration',
'description' => esc_html__( "Assign any number of CSS Classes to the element, separated by spaces, which can be used to assign custom CSS styles from within your child theme or from within Divi's custom CSS inputs.", 'dsm-supreme-modules-for-divi' ),
'tab_slug' => 'custom_css',
'toggle_slug' => 'classes',
'option_class' => 'et_pb_custom_css_regular',
'button_two_id' => array(
'label' => esc_html__( 'Button #2 ID', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'configuration',
'description' => esc_html__( "Assign a unique CSS ID to Button #2 which can be used to assign custom CSS styles from within your child theme or from within Divi's custom CSS inputs.", 'dsm-supreme-modules-for-divi' ),
'tab_slug' => 'custom_css',
'toggle_slug' => 'classes',
'option_class' => 'et_pb_custom_css_regular',
'button_two_css' => array(
'label' => esc_html__( 'Button #2 CSS Class', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'configuration',
'description' => esc_html__( "Assign any number of CSS Classes to the element, separated by spaces, which can be used to assign custom CSS styles from within your child theme or from within Divi's custom CSS inputs.", 'dsm-supreme-modules-for-divi' ),
'tab_slug' => 'custom_css',
'toggle_slug' => 'classes',
'option_class' => 'et_pb_custom_css_regular',
'button_one_text' => array(
'label' => esc_html__( 'Button #1 Text', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the text for the Button.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'main_content',
'dynamic_content' => 'text',
'button_one_url_type' => array(
'label' => esc_html__( 'Link Type for Button #1', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'configuration',
'url' => esc_html__( 'URL Link', 'dsm-supreme-modules-for-divi' ),
'download' => esc_html__( 'Download File', 'dsm-supreme-modules-for-divi' ),
'email' => esc_html__( 'Email', 'dsm-supreme-modules-for-divi' ),
'phone' => esc_html__( 'Phone', 'dsm-supreme-modules-for-divi' ),
'sms' => esc_html__( 'SMS', 'dsm-supreme-modules-for-divi' ),
'fb_messenger' => esc_html__( 'Facebook Messenger', 'dsm-supreme-modules-for-divi' ),
'skype' => esc_html__( 'Skype', 'dsm-supreme-modules-for-divi' ),
'whatsapp' => esc_html__( 'WhatsApp', 'dsm-supreme-modules-for-divi' ),
'telegram' => esc_html__( 'Telegram', 'dsm-supreme-modules-for-divi' ),
'description' => esc_html__( 'Choose the type of URL', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => 'url',
'button_one_email_address' => array(
'label' => esc_html__( 'Email', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the Email Address for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'email',
'dynamic_content' => 'text',
'button_one_email_cc' => array(
'label' => esc_html__( 'CC', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the carbon copy email address for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'email',
'dynamic_content' => 'text',
'button_one_email_bcc' => array(
'label' => esc_html__( 'BCC', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the blind carbon copy email address for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'email',
'dynamic_content' => 'text',
'button_one_email_subject' => array(
'label' => esc_html__( 'Subject', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the default subject of the email for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'button_one_url_type' => 'email',
'dynamic_content' => 'text',
'button_one_email_msg' => array(
'label' => esc_html__( 'Message', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the default body message of the email for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'email',
'dynamic_content' => 'text',
'button_one_phone_number' => array(
'label' => esc_html__( 'Phone Number', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the phone number to call for Button #1 (This will usually work on mobile phones)', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'phone',
'dynamic_content' => 'text',
'button_one_sms_number' => array(
'label' => esc_html__( 'Phone Number', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the phone number to SMS for Button #1 (This will usually work on mobile phones)', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'sms',
'dynamic_content' => 'text',
'button_one_sms_body_text' => array(
'label' => esc_html__( 'Body Text', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Pre-Populate SMS Text for Button #1 (This will usually work on mobile phones)', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'sms',
'dynamic_content' => 'text',
'button_one_fb_messenger' => array(
'label' => esc_html__( 'Username', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter a person, page, or bot username.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'fb_messenger',
'dynamic_content' => 'text',
'button_one_skype' => array(
'label' => esc_html__( 'Username', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the Skype username for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'skype',
'dynamic_content' => 'text',
'button_one_skype_action_type' => array(
'label' => esc_html__( 'Action Type', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'configuration',
'chat' => esc_html__( 'Chat', 'dsm-supreme-modules-for-divi' ),
'call' => esc_html__( 'Call', 'dsm-supreme-modules-for-divi' ),
'userinfo' => esc_html__( 'Show Skype Profile', 'dsm-supreme-modules-for-divi' ),
'sendfile' => esc_html__( 'Send a File', 'dsm-supreme-modules-for-divi' ),
'add' => esc_html__( 'Add', 'dsm-supreme-modules-for-divi' ),
'voicemail' => esc_html__( 'Voicemail', 'dsm-supreme-modules-for-divi' ),
'description' => esc_html__( 'Choose the action type for Skype', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => 'chat',
'button_one_url_type' => 'skype',
'button_one_whatsapp_number' => array(
'label' => esc_html__( 'Number', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the phone number to message directly via WhatsApp message for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'whatsapp',
'dynamic_content' => 'text',
'button_one_whatsapp_msg' => array(
'label' => esc_html__( 'Message', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the default body message of the WhatsApp for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'whatsapp',
'dynamic_content' => 'text',
'button_one_telegram' => array(
'label' => esc_html__( 'Telegram Username', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the Telegram Username.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'telegram',
'dynamic_content' => 'text',
'button_one_telegram_msg' => array(
'label' => esc_html__( 'Message', 'dsm-supreme-modules-for-divi' ),
'option_category' => 'basic_option',
'description' => esc_html__( 'Enter the default body message of the Telegram for Button #1.', 'dsm-supreme-modules-for-divi' ),
'toggle_slug' => 'links',
'sub_toggle' => 'button_one_tab',
'default_on_front' => '',
'button_one_url_type' => 'telegram',
'dynamic_content' => 'text',
'button_one_url' => array(