Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/includes/builder/module/field
File: Scroll.php
<?php
[0] Fix | Delete
[1] Fix | Delete
class ET_Builder_Module_Field_Scroll extends ET_Builder_Module_Field_Base {
[2] Fix | Delete
[3] Fix | Delete
/**
[4] Fix | Delete
* Translations.
[5] Fix | Delete
*
[6] Fix | Delete
* @var array
[7] Fix | Delete
*/
[8] Fix | Delete
protected $i18n = array();
[9] Fix | Delete
[10] Fix | Delete
public function get_defaults() {
[11] Fix | Delete
$i18n =& $this->i18n;
[12] Fix | Delete
[13] Fix | Delete
if ( ! isset( $i18n['defaults'] ) ) {
[14] Fix | Delete
// phpcs:disable WordPress.WP.I18n.MissingTranslatorsComment
[15] Fix | Delete
$i18n['defaults'] = array(
[16] Fix | Delete
'label' => esc_html__( 'Scroll Transform Effects', 'et_builder' ),
[17] Fix | Delete
'description' => esc_html__( 'Using Scrolling Effects, you can transform elements on your page as you scroll. The animation\'s transition is based on the user\'s scrolling behavior. Once the element enters the browser viewport (top), the animation begins, and it once it leaves the viewport (bottom), the animation ends.', 'et_builder' ),
[18] Fix | Delete
);
[19] Fix | Delete
// phpcs:enable
[20] Fix | Delete
}
[21] Fix | Delete
[22] Fix | Delete
return array(
[23] Fix | Delete
'prefix' => '',
[24] Fix | Delete
'label' => $i18n['defaults']['label'],
[25] Fix | Delete
'description' => $i18n['defaults']['description'],
[26] Fix | Delete
'tab_slug' => 'custom_css',
[27] Fix | Delete
'toggle_slug' => 'scroll_effects',
[28] Fix | Delete
'options' => array(),
[29] Fix | Delete
);
[30] Fix | Delete
}
[31] Fix | Delete
[32] Fix | Delete
public function get_fields( array $args = array() ) {
[33] Fix | Delete
$settings = array_merge( $this->get_defaults(), $args );
[34] Fix | Delete
$prefix = $settings['prefix'];
[35] Fix | Delete
$grid_support = $settings['grid_support'];
[36] Fix | Delete
$name = et_builder_add_prefix( $prefix, 'scroll_effects' );
[37] Fix | Delete
$grid_motion_toggle = array();
[38] Fix | Delete
[39] Fix | Delete
$i18n =& $this->i18n;
[40] Fix | Delete
[41] Fix | Delete
if ( ! isset( $i18n['grid'] ) ) {
[42] Fix | Delete
// phpcs:disable WordPress.WP.I18n.MissingTranslatorsComment
[43] Fix | Delete
$i18n['grid'] = array(
[44] Fix | Delete
'label' => esc_html__( 'Apply Motion Effects To Child Elements', 'et_builder' ),
[45] Fix | Delete
'description' => esc_html__( 'This applies motion effects to individual elements within the module rather than the module as a whole. For example, to each image within a Gallery, rather than the Gallery container.', 'et_builder' ),
[46] Fix | Delete
);
[47] Fix | Delete
$i18n['trigger'] = array(
[48] Fix | Delete
'label' => esc_html__( 'Motion Effect Trigger', 'et_builder' ),
[49] Fix | Delete
'description' => esc_html__( 'Here you can choose when motion effects are triggered: When the top of the element enters into view, when the middle of the element enters into view, or when the bottom of the element enters into view.', 'et_builder' ),
[50] Fix | Delete
'options' => array(
[51] Fix | Delete
'middle' => esc_html__( 'Middle of Element', 'et_builder' ),
[52] Fix | Delete
'top' => esc_html__( 'Top of Element', 'et_builder' ),
[53] Fix | Delete
'bottom' => esc_html__( 'Bottom of Element', 'et_builder' ),
[54] Fix | Delete
),
[55] Fix | Delete
);
[56] Fix | Delete
// phpcs:enable
[57] Fix | Delete
}
[58] Fix | Delete
[59] Fix | Delete
if ( 'yes' === $grid_support ) {
[60] Fix | Delete
$grid_motion_toggle = array(
[61] Fix | Delete
'enable_grid_motion' => array(
[62] Fix | Delete
'label' => $i18n['grid']['label'],
[63] Fix | Delete
'description' => $i18n['grid']['description'],
[64] Fix | Delete
'type' => 'yes_no_button',
[65] Fix | Delete
'option_category' => 'configuration',
[66] Fix | Delete
'options' => array(
[67] Fix | Delete
'off' => et_builder_i18n( 'No' ),
[68] Fix | Delete
'on' => et_builder_i18n( 'Yes' ),
[69] Fix | Delete
),
[70] Fix | Delete
'default' => 'off',
[71] Fix | Delete
'tab_slug' => $settings['tab_slug'],
[72] Fix | Delete
'toggle_slug' => $settings['toggle_slug'],
[73] Fix | Delete
'bb_support' => false,
[74] Fix | Delete
),
[75] Fix | Delete
);
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
$motion_triggers = array(
[79] Fix | Delete
'motion_trigger_start' => array(
[80] Fix | Delete
'label' => $i18n['trigger']['label'],
[81] Fix | Delete
'description' => $i18n['trigger']['description'],
[82] Fix | Delete
'options' => array(
[83] Fix | Delete
'middle' => $i18n['trigger']['options']['middle'],
[84] Fix | Delete
'top' => $i18n['trigger']['options']['top'],
[85] Fix | Delete
'bottom' => $i18n['trigger']['options']['bottom'],
[86] Fix | Delete
),
[87] Fix | Delete
'type' => 'select',
[88] Fix | Delete
'option_category' => 'configuration',
[89] Fix | Delete
'default' => 'middle',
[90] Fix | Delete
'tab_slug' => $settings['tab_slug'],
[91] Fix | Delete
'toggle_slug' => $settings['toggle_slug'],
[92] Fix | Delete
'bb_support' => false,
[93] Fix | Delete
),
[94] Fix | Delete
);
[95] Fix | Delete
[96] Fix | Delete
return array_merge(
[97] Fix | Delete
$grid_motion_toggle,
[98] Fix | Delete
array(
[99] Fix | Delete
$name => array(
[100] Fix | Delete
'label' => $settings['label'],
[101] Fix | Delete
'description' => $settings['description'],
[102] Fix | Delete
'tab_slug' => $settings['tab_slug'],
[103] Fix | Delete
'toggle_slug' => $settings['toggle_slug'],
[104] Fix | Delete
'attr_suffix' => '',
[105] Fix | Delete
'type' => 'composite',
[106] Fix | Delete
'option_category' => 'layout',
[107] Fix | Delete
'composite_type' => 'default',
[108] Fix | Delete
'composite_structure' => $this->get_options( $settings['options'], $settings['tab_slug'], $settings['toggle_slug'], $prefix ),
[109] Fix | Delete
'bb_support' => false,
[110] Fix | Delete
),
[111] Fix | Delete
),
[112] Fix | Delete
$motion_triggers
[113] Fix | Delete
);
[114] Fix | Delete
}
[115] Fix | Delete
[116] Fix | Delete
private function get_options( array $options_settings, $tab, $toggle, $prefix = '' ) {
[117] Fix | Delete
$options = array();
[118] Fix | Delete
[119] Fix | Delete
$i18n =& $this->i18n;
[120] Fix | Delete
[121] Fix | Delete
if ( ! isset( $i18n['options'] ) ) {
[122] Fix | Delete
// phpcs:disable WordPress.WP.I18n.MissingTranslatorsComment
[123] Fix | Delete
$i18n['options'] = array(
[124] Fix | Delete
'enable' => __( 'Enable %s', 'et_builder' ),
[125] Fix | Delete
'set' => __( 'Set %s', 'et_builder' ),
[126] Fix | Delete
'startTitle' => esc_html__( 'Viewport Bottom', 'et_builder' ),
[127] Fix | Delete
'endTitle' => esc_html__( 'Viewport Top', 'et_builder' ),
[128] Fix | Delete
'startValueTitle' => esc_html__( 'Starting', 'et_builder' ),
[129] Fix | Delete
'middleValueTitle' => esc_html__( 'Mid', 'et_builder' ),
[130] Fix | Delete
'endValueTitle' => esc_html__( 'Ending', 'et_builder' ),
[131] Fix | Delete
);
[132] Fix | Delete
// phpcs:enable
[133] Fix | Delete
}
[134] Fix | Delete
[135] Fix | Delete
foreach ( $options_settings as $name => $settings ) {
[136] Fix | Delete
$option_name = et_builder_add_prefix( $prefix, $name );
[137] Fix | Delete
$icon = et_()->array_get( $settings, 'icon', '' );
[138] Fix | Delete
$label = et_()->array_get( $settings, 'label', '' );
[139] Fix | Delete
$description = et_()->array_get( $settings, 'description' );
[140] Fix | Delete
$default = et_()->array_get( $settings, 'default' );
[141] Fix | Delete
$resolver = et_()->array_get( $settings, 'resolver' );
[142] Fix | Delete
[143] Fix | Delete
$options[ $option_name ] = array(
[144] Fix | Delete
'icon' => $icon,
[145] Fix | Delete
'tooltip' => $label,
[146] Fix | Delete
'controls' => array(
[147] Fix | Delete
"{$option_name}_enable" => array(
[148] Fix | Delete
'label' => et_esc_html_once( $i18n['options']['enable'], $label ),
[149] Fix | Delete
'description' => et_esc_html_once( $description ),
[150] Fix | Delete
'type' => 'yes_no_button',
[151] Fix | Delete
'option_category' => 'configuration',
[152] Fix | Delete
'options' => array(
[153] Fix | Delete
'off' => et_builder_i18n( 'No' ),
[154] Fix | Delete
'on' => et_builder_i18n( 'Yes' ),
[155] Fix | Delete
),
[156] Fix | Delete
'default' => 'off',
[157] Fix | Delete
'tab_slug' => $tab,
[158] Fix | Delete
'toggle_slug' => $toggle,
[159] Fix | Delete
'main_tab_setting' => 'on',
[160] Fix | Delete
),
[161] Fix | Delete
$option_name => array(
[162] Fix | Delete
'label' => et_esc_html_once( $i18n['options']['set'], $label ),
[163] Fix | Delete
'description' => et_esc_html_once( $description ),
[164] Fix | Delete
'type' => 'motion',
[165] Fix | Delete
'default' => $default,
[166] Fix | Delete
'tab_slug' => $tab,
[167] Fix | Delete
'toggle_slug' => $toggle,
[168] Fix | Delete
'mobile_options' => true,
[169] Fix | Delete
'show_if' => array(
[170] Fix | Delete
"{$option_name}_enable" => 'on',
[171] Fix | Delete
),
[172] Fix | Delete
'resolver' => $resolver,
[173] Fix | Delete
'i10n' => array(
[174] Fix | Delete
'startTitle' => $i18n['options']['startTitle'],
[175] Fix | Delete
'endTitle' => $i18n['options']['endTitle'],
[176] Fix | Delete
'startValueTitle' => et_()->array_get( $settings, 'startValueTitle', $i18n['options']['startValueTitle'] ),
[177] Fix | Delete
'middleValueTitle' => et_()->array_get( $settings, 'middleValueTitle', $i18n['options']['middleValueTitle'] ),
[178] Fix | Delete
'endValueTitle' => et_()->array_get( $settings, 'endValueTitle', $i18n['options']['endValueTitle'] ),
[179] Fix | Delete
),
[180] Fix | Delete
),
[181] Fix | Delete
),
[182] Fix | Delete
);
[183] Fix | Delete
}
[184] Fix | Delete
[185] Fix | Delete
return $options;
[186] Fix | Delete
}
[187] Fix | Delete
}
[188] Fix | Delete
[189] Fix | Delete
return new ET_Builder_Module_Field_Scroll();
[190] Fix | Delete
[191] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function