Server IP : 85.214.239.14 / Your IP : 3.15.142.42 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/wp-content/themes/Divi/includes/builder/module/helpers/ |
Upload File : |
<?php if ( ! defined( 'ABSPATH' ) ) { die( 'Direct access forbidden.' ); } /** * Transition Options helper methods * * Class ET_Builder_Module_Transition_Options */ class ET_Builder_Module_Transition_Options { private static $instance; public static function get() { if ( empty( self::$instance ) ) { return self::$instance = new ET_Builder_Module_Transition_Options(); } return self::$instance; } /** * Return transition value. * * @since 3.23 Add $device param to support responsive settings. * * @param string $key * @param array $list * @param string $default * @param string $device * * @return void */ private function get_value( $key, $list, $default = null, $device = 'desktop' ) { $value = (string) ET_Core_Data_Utils::instance()->array_get( $list, $key ); if ( 'desktop' !== $device ) { $responsive = ET_Builder_Module_Helper_ResponsiveOptions::instance(); $is_enabled = $responsive->is_responsive_enabled( $list, $key ); $value = $is_enabled ? $responsive->get_any_value( $list, "{$key}_{$device}", $value, true ) : $value; } return '' === $value ? $default : $value; } /** * Returns the module transition duration, * In case the setting is empty, a default value is returned * * @since 3.23 Add $device param to support responsive settings. * * @param array $props * @param string $device * * @return string */ public function get_duration( $props, $device = 'desktop' ) { return $this->get_value( 'hover_transition_duration', $props, '300ms', $device ); } /** * Returns the module transition speed curve, * In case the setting is empty, a default value is returned * * @since 3.23 Add $device param to support responsive settings. * * @param array $props * @param string $device * * @return string */ public function get_easing( $props, $device = 'desktop' ) { return $this->get_value( 'hover_transition_speed_curve', $props, 'ease', $device ); } /** * Returns the module transition transition delay, * In case the setting is empty, a default value is returned * * @since 3.23 Add $device param to support responsive settings. * * @param array $props * @param string $device * * @return string */ public function get_delay( $props, $device = 'desktop' ) { return $this->get_value( 'hover_transition_delay', $props, '0ms', $device ); } /** * Return transition styles. * * @since 3.23 Add $device param to support responsive settings. * * @param string $property * @param array $props * @param string $device * * @return string */ public function get_style( $property, $props, $device = 'desktop' ) { $duration = $this->get_duration( $props, $device = 'desktop' ); $easing = $this->get_easing( $props, $device = 'desktop' ); $delay = $this->get_delay( $props, $device = 'desktop' ); return "{$property} {$duration} {$easing} {$delay}"; } }