Sindbad~EG File Manager
<?php
if (! function_exists('blocksy_expand_responsive_value')) {
function blocksy_expand_responsive_value($value, $is_responsive = true) {
if (is_array($value) && isset($value['desktop'])) {
if (! $is_responsive) {
return $value['desktop'];
}
return $value;
}
if (! $is_responsive) {
return $value;
}
return [
'desktop' => $value,
'tablet' => $value,
'mobile' => $value,
];
}
}
if (! function_exists('blocksy_map_values')) {
function blocksy_map_values($args = []) {
$args = wp_parse_args(
$args,
[
'value' => null,
'map' => []
]
);
if (
! is_array($args['value'])
&&
isset($args['map'][$args['value']])
) {
return $args['map'][$args['value']];
}
if (! is_array($args['value'])) {
return $args['value'];
}
foreach ($args['value'] as $key => $value) {
if (! is_array($value) && isset($args['map'][$value])) {
$args['value'][$key] = $args['map'][$value];
}
}
return $args['value'];
}
}
function blocksy_output_css_vars($args = []) {
$args = wp_parse_args(
$args,
[
'css' => null,
'tablet_css' => null,
'mobile_css' => null,
'selector' => null,
'desktop_selector_prefix' => '',
'tablet_selector_prefix' => '',
'mobile_selector_prefix' => '',
'variableName' => null,
'variableType' => 'custom-property',
'value' => null,
'value_suffix' => '',
'responsive' => false
]
);
if (! $args['variableName']) {
throw new Error('variableName missing in args!');
}
if ($args['responsive']) {
blocksy_assert_args($args, ['tablet_css', 'mobile_css']);
}
$value = blocksy_expand_responsive_value($args['value']);
if ($args['variableType'] === 'custom-property') {
$args['variableName'] = '--' . $args['variableName'];
}
if (
substr_count(
$value['desktop'], '('
) !== substr_count(
$value['desktop'], ')'
)
) {
$value['desktop'] = '"' . $value['desktop'] . '"';
}
if (
substr_count(
$value['tablet'], '('
) !== substr_count(
$value['tablet'], ')'
)
) {
$value['tablet'] = '"' . $value['tablet'] . '"';
}
if (
substr_count(
$value['mobile'], '('
) !== substr_count(
$value['mobile'], ')'
)
) {
$value['mobile'] = '"' . $value['mobile'] . '"';
}
$args['css']->put(
empty($args['desktop_selector_prefix']) ? $args['selector'] : (
$args['desktop_selector_prefix'] . ' ' . $args['selector']
),
$args['variableName'] . ': ' . $value['desktop'] . $args['value_suffix']
);
if (
$args['responsive']
&&
$value['tablet'] !== $value['desktop']
) {
$args['tablet_css']->put(
empty($args['tablet_selector_prefix']) ? $args['selector'] : (
$args['tablet_selector_prefix'] . ' ' . $args['selector']
),
$args['variableName'] . ': ' . $value['tablet'] . $args['value_suffix']
);
}
if (
$args['responsive']
&&
$value['tablet'] !== $value['mobile']
) {
$args['mobile_css']->put(
empty($args['mobile_selector_prefix']) ? $args['selector'] : (
$args['mobile_selector_prefix'] . ' ' . $args['selector']
),
$args['variableName'] . ': ' . $value['mobile'] . $args['value_suffix']
);
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists