diff --git a/admin-panel/includes/class-settings-manager.php b/admin-panel/includes/class-settings-manager.php index c1752d2a..5ab3ffc7 100644 --- a/admin-panel/includes/class-settings-manager.php +++ b/admin-panel/includes/class-settings-manager.php @@ -144,10 +144,8 @@ class APUS_Settings_Manager { * AJAX: Obtener configuraciones */ public function ajax_get_settings() { - // Verificar nonce - if (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'apus_admin_nonce')) { - wp_send_json_error('Nonce inválido'); - } + // Verificar nonce usando check_ajax_referer (método recomendado para AJAX) + check_ajax_referer('apus_admin_nonce', 'nonce'); if (!current_user_can('manage_options')) { wp_send_json_error('Permisos insuficientes'); @@ -161,10 +159,8 @@ class APUS_Settings_Manager { * AJAX: Guardar configuraciones */ public function ajax_save_settings() { - // Verificar nonce - if (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'apus_admin_nonce')) { - wp_send_json_error('Nonce inválido'); - } + // Verificar nonce usando check_ajax_referer (método recomendado para AJAX) + check_ajax_referer('apus_admin_nonce', 'nonce'); if (!current_user_can('manage_options')) { wp_send_json_error('Permisos insuficientes'); diff --git a/admin-panel/includes/class-validator.php b/admin-panel/includes/class-validator.php index f3dc311e..0b5c3198 100644 --- a/admin-panel/includes/class-validator.php +++ b/admin-panel/includes/class-validator.php @@ -66,9 +66,15 @@ class APUS_Validator { $errors[] = 'El texto del enlace no puede exceder 50 caracteres'; } - // Validar link_url - if (!empty($top_bar['link_url']) && !filter_var($top_bar['link_url'], FILTER_VALIDATE_URL)) { - $errors[] = 'La URL del enlace no es válida'; + // Validar link_url (acepta URLs completas y relativas que empiecen con /) + if (!empty($top_bar['link_url'])) { + $url = $top_bar['link_url']; + $is_valid_url = filter_var($url, FILTER_VALIDATE_URL) !== false; + $is_relative_url = preg_match('/^\//', $url); + + if (!$is_valid_url && !$is_relative_url) { + $errors[] = 'La URL del enlace no es válida'; + } } // Validar link_target