| Server IP : 47.82.179.145 / Your IP : 216.73.217.129 Web Server : nginx/1.26.3 System : Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64 User : www ( 1001) PHP Version : 8.3.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/scuipturepactory.com/wp-content/themes/plover/core/src/Toolkits/ |
Upload File : |
<?php
namespace Plover\Core\Toolkits;
/**
* Utils for responsive design.
*
* @since 1.0.0
*/
class Responsive {
/**
* @param $value
* @param bool $fill
*
* @return array
*/
public static function promote_scalar_value_into_responsive( $value, bool $fill = false ) {
if ( is_array( $value ) && isset( $value['desktop'] ) ) {
$valueWithResponsive = $value;
} else {
$valueWithResponsive = array(
'desktop' => $value,
'tablet' => '__INITIAL_VALUE__',
'mobile' => '__INITIAL_VALUE__',
);
}
if ( $fill ) {
if ( ! isset( $valueWithResponsive['tablet'] ) || $valueWithResponsive['tablet'] === '__INITIAL_VALUE__' ) {
$valueWithResponsive['tablet'] = $valueWithResponsive['desktop'];
}
if ( ! isset( $valueWithResponsive['mobile'] ) || $valueWithResponsive['mobile'] === '__INITIAL_VALUE__' ) {
$valueWithResponsive['mobile'] = $valueWithResponsive['tablet'];
}
}
return $valueWithResponsive;
}
/**
* @param $value
* @param $device
*
* @return mixed
*/
public static function get_scalar_value_by_device( $value, $device = 'desktop' ) {
return self::promote_scalar_value_into_responsive( $value, true )[ $device ];
}
/**
* Wrap desktop only css with media query.
*
* @param $css
*
* @return string
*/
public static function desktop_css( $css ) {
return $css; // desktop first, don't need any media query.
}
/**
* Get tablet breakpoint
*
* @return mixed|null
*/
public static function tablet_breakpoint( $mobileFirst = false ) {
$breakpoint = apply_filters( 'plover_core_css_tablet_breakpoint', 782 );
if ( ! $mobileFirst ) {
$breakpoint --;
}
return $breakpoint . 'px';
}
/**
* Wrap tablet only css with media query.
*
* @param $css
*
* @return string
*/
public static function tablet_css( $css ) {
return '@media (max-width: ' . self::tablet_breakpoint() . ') {' . $css . '}';
}
/**
* Get mobile breakpoint
*
* @return mixed|null
*/
public static function mobile_breakpoint( $mobileFirst = false ) {
$breakpoint = apply_filters( 'plover_core_css_mobile_breakpoint', 600 );
if ( ! $mobileFirst ) {
$breakpoint --;
}
return $breakpoint . 'px';
}
/**
* Wrap mobile only css with media query.
*
* @param $css
*
* @return string
*/
public static function mobile_css( $css ) {
return '@media (max-width: ' . self::mobile_breakpoint() . ') {' . $css . '}';
}
}