'string', 'default' => ''); } return $a; } public static function enqueue_editor() { $rel = 'assets/js/aieo-responsive-controls.js'; $abs = AIEO_DIR . $rel; if (!file_exists($abs)) { return; } wp_enqueue_script( 'aieo-responsive-controls', plugins_url($rel, AIEO_FILE), array('wp-hooks', 'wp-element', 'wp-components', 'wp-block-editor', 'wp-compose', 'wp-i18n'), (string) filemtime($abs), true ); } private static function v($a, $k) { if (!isset($a[$k])) { return ''; } $val = trim((string) $a[$k]); if ($val === '') { return ''; } return preg_match('/^[0-9a-z%.\s\-,()]{1,60}$/i', $val) ? $val : ''; } public static function filter_render($content, $block) { if (empty($block['blockName']) || strpos($block['blockName'], 'aieo/') !== 0) { return $content; } $a = (isset($block['attrs']) && is_array($block['attrs'])) ? $block['attrs'] : array(); $padD = self::v($a, 'aieoPadD'); $padM = self::v($a, 'aieoPadM'); $marD = self::v($a, 'aieoMarD'); $marM = self::v($a, 'aieoMarM'); $fsD = self::v($a, 'aieoFsD'); $fsM = self::v($a, 'aieoFsM'); $edge = isset($a['aieoEdge']) ? (string) $a['aieoEdge'] : ''; $edge = in_array($edge, array('right', 'left', 'both'), true) ? $edge : ''; $slider = isset($a['aieoSlider']) ? (string) $a['aieoSlider'] : ''; $has_resp = ($padD !== '' || $padM !== '' || $marD !== '' || $marM !== '' || $fsD !== '' || $fsM !== ''); if (!$has_resp && $edge === '' && $slider !== 'recos') { return $content; } $classes = array(); $inline = ''; if ($has_resp) { self::$n++; $cls = 'aieo-rdev-' . self::$n; $classes[] = $cls; $d = ''; if ($padD !== '') { $d .= 'padding:' . $padD . ' !important;'; } if ($marD !== '') { $d .= 'margin:' . $marD . ' !important;'; } if ($fsD !== '') { $d .= 'font-size:' . $fsD . ' !important;'; } $m = ''; if ($padM !== '') { $m .= 'padding:' . $padM . ' !important;'; } if ($marM !== '') { $m .= 'margin:' . $marM . ' !important;'; } if ($fsM !== '') { $m .= 'font-size:' . $fsM . ' !important;'; } $css = ''; if ($d !== '') { $css .= '.' . $cls . '{' . $d . '}'; } if ($m !== '') { $css .= '@media(max-width:767px){.' . $cls . '{' . $m . '}}'; } if ($css !== '') { $inline .= ''; } } if ($edge !== '') { $classes[] = 'aieo-edge-' . $edge; $inline .= self::edge_css_once(); } if ($slider === 'recos') { $classes[] = 'aieo-slider--recos'; $inline .= self::slider_css_once(); $inline .= self::slider_js_once(); } if (empty($classes)) { return $content; } $cls_str = implode(' ', $classes); if (preg_match('/\bclass="/', $content)) { $content = preg_replace('/\bclass="/', 'class="' . $cls_str . ' ', $content, 1); } else { $content = '