function awp_enqueue_cuadros_assets() { wp_enqueue_style('awp-cuadros-css', AWP_PLUGIN_URL . 'assets/css/shortcode-cuadros.css', [], '1.0.0'); wp_enqueue_script('awp-cuadros-js', AWP_PLUGIN_URL . 'assets/js/shortcode-cuadros.js', [], '1.0.0', true); wp_localize_script('awp-cuadros-js', 'awpCuadros', [ 'ajaxurl' => admin_url('admin-ajax.php'), 'nonceSumar' => wp_create_nonce('awp_sumar_envio'), 'nonceEnviar' => wp_create_nonce('awp_enviar_mensajes'), ]); } function awp_render_clientes_sumar_shortcode($atts = []) { awp_enqueue_shortcode_assets(); awp_enqueue_cuadros_assets(); global $wpdb; function awp_render_clientes_programados_shortcode($atts = []) { awp_enqueue_shortcode_assets(); awp_enqueue_cuadros_assets(); global $wpdb; // AJAX handlers para programar y enviar mensajes desde los shortcodes add_action('wp_ajax_awp_programar_envio', 'awp_ajax_programar_envio'); add_action('wp_ajax_awp_enviar_mensajes', 'awp_ajax_enviar_mensajes'); function awp_ajax_programar_envio() { if (!current_user_can('manage_options')) { wp_send_json_error(['msg' => 'No autorizado']); } check_ajax_referer('awp_sumar_envio'); $ids = isset($_POST['ids']) && is_array($_POST['ids']) ? array_map('intval', $_POST['ids']) : []; if (empty($ids)) { wp_send_json_error(['msg' => 'No hay clientes seleccionados']); } global $wpdb; $enviosTable = awp_table('envios'); $promocionesTable = awp_table('promociones'); $promo = $wpdb->get_row("SELECT * FROM {$promocionesTable} WHERE activa = 1 AND (fecha_inicio IS NULL OR fecha_inicio <= CURDATE()) AND (fecha_fin IS NULL OR fecha_fin >= CURDATE()) ORDER BY creada DESC LIMIT 1", ARRAY_A); if (!$promo) { wp_send_json_error(['msg' => 'No hay promoción activa']); } $insertados = 0; foreach ($ids as $cid) { $wpdb->insert($enviosTable, [ 'cliente_id' => $cid, 'promocion_id' => $promo['id'], 'estado' => 'pendiente', 'fecha_envio' => current_time('mysql'), ]); $insertados++; } wp_send_json_success(['msg' => "Programados: $insertados clientes."]); } function awp_ajax_enviar_mensajes() { if (!current_user_can('manage_options')) { wp_send_json_error(['msg' => 'No autorizado']); } check_ajax_referer('awp_enviar_mensajes'); $ids = isset($_POST['ids']) && is_array($_POST['ids']) ? array_map('intval', $_POST['ids']) : []; if (empty($ids)) { wp_send_json_error(['msg' => 'No hay clientes seleccionados']); } global $wpdb; $enviosTable = awp_table('envios'); $clientesTable = awp_table('clientes'); $promocionesTable = awp_table('promociones'); $promo = $wpdb->get_row("SELECT * FROM {$promocionesTable} WHERE activa = 1 AND (fecha_inicio IS NULL OR fecha_inicio <= CURDATE()) AND (fecha_fin IS NULL OR fecha_fin >= CURDATE()) ORDER BY creada DESC LIMIT 1", ARRAY_A); if (!$promo) { wp_send_json_error(['msg' => 'No hay promoción activa']); } $enviados = 0; foreach ($ids as $cid) { // Buscar el envío pendiente $envio = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$enviosTable} WHERE cliente_id = %d AND estado = 'pendiente' LIMIT 1", $cid), ARRAY_A); if (!$envio) continue; $cliente = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$clientesTable} WHERE id = %d", $cid), ARRAY_A); if (!$cliente) continue; $mensaje = str_replace( ['{nombre}', '{promocion}', '{fecha}'], [(string)$cliente['nombre'], (string)$promo['titulo'], wp_date('d/m/Y')], (string)awp_get_settings()['plantilla_mensaje'] ); $resultado = awp_send_whatsapp($cliente['telefono'], $mensaje); $wpdb->update($enviosTable, [ 'estado' => $resultado['estado'], 'mensaje' => $mensaje, 'error' => $resultado['error'], 'raw_respuesta' => $resultado['raw'], 'fecha_envio' => current_time('mysql'), ], ['id' => $envio['id']]); if (!empty($resultado['ok'])) { $wpdb->update($clientesTable, ['ultimo_contacto' => current_time('mysql')], ['id' => $cid]); awp_increment_messages_today(); $enviados++; } } wp_send_json_success(['msg' => "Enviados: $enviados mensajes."]); } Pausa Laboral Activa - Ahora Wellness

Pausa Laboral Activa

Pausa Laboral Activa

¿Hoy ya hiciste tu pausa laboral? Te regalamos una forma guiada de hacerla de la mano de Carolina.

Las pausas laborales son “interrupciones”, que se realizan durante la jornada de trabajo para realizar diferentes actividades y ejercicios, que ayudan a reducir la fatiga laboral, el estrés y prevenir lesiones originadas por la exposición a riesgo biomecánico (postural). Estas pueden ser tanto activas como pasivas, constituyen un conjunto de actividades tanto físicas como mentales diseñadas para ejercitar el cuerpo y la mente en períodos cortos de tiempo.

Te invitamos a que nos cuentes ¿cómo lo sentistes? ¿Qué cambios notas en tus emociones y cuerpo? Si te sumó ¡compartila!

Más Recursos Ahora...

¡Consultanos!