function __construct($id = 0) { $this->ID = $id; $this->timestamp = get_the_date('Y-m-d H:i:s', $id); $usuario = get_user_by('id', $this->ID); $this->nombre = $usuario->display_name; $this->mail = $usuario->user_email; $this->nacimiento = get_user_meta($this->ID, 'user_nacimiento', true); $this->clases = numero_clases_user($this->ID, true); $this->total_clases = count($this->clases); }
public function imprimir_gift_home($user = false) { /*ESTA FUNCION ESTÁ APLICADA EN EL CALENDARIO*/ global $current_user; if ($user) { $current_user = $user; } $clases_del_user = numero_clases_user($this->comprador); echo '<div class="checkout check_gift checkout_solo_clases">'; $this->imprimir_paquetes_check(); echo '<div class="primer_paso_check oculto">'; echo '<div class="volver_a_paquetes"><img src="' . plantilla(false) . '/images/cerrar.png"></div>'; echo '<div class="columna_general info_user_checkout">'; if (is_user_logged_in()) { /*logueado*/ usuarioinfo(true, $current_user, false); $usuario_log = true; } else { /*no logueado*/ acceso_siclo("AJAX", false, true); } echo '</div>'; $clases = is_user_logged_in() ? '' : ' disabled'; echo '<div class="columna_general form_final_compra' . $clases . '">'; if (count($this->metodos_pago)) { foreach ($this->metodos_pago as $metodo) { $metodo->formulario(true, 'Pagar ahora', true); } } echo '</div>'; echo '</div>'; echo '</div>'; if (!$clases_del_user && isset($_GET['bici'])) { echo '<script type="text/javascript">$(document).ready(function(){$(".paquete").first().trigger("click");});</script>'; } }
<?php require_once '../../../../../wp-load.php'; global $current_user; if (!isset($_POST['security']) || !is_user_logged_in()) { die(json_encode(array('ok' => false, 'mensaje' => 'ERROR: 6969'))); } $reserva_id = isset($_POST['reserva_id']) ? strip_tags($_POST['reserva_id']) : false; $reserva = $data_to_mail = new Reserva($reserva_id); /*CHECK MISMO COMPRADOR*/ if ((int) $current_user->ID !== (int) $reserva->comprador) { die(json_encode(array('ok' => false, 'mensaje' => 'Debes ser el comprador de la reserva para proceder'))); } $reserva->eliminar(); $c = numero_clases_user($current_user->ID); mail_clase_cancelada($data_to_mail, $current_user); die(json_encode(array('ok' => true, 'mensaje' => 'Tu reserva se ha cancelado correctamente', 'clases' => $c)));
public function comprar() { if ($this->ID) { $this->mensaje->add_error('No se puede volver a comprar una reserva'); return; } $comprador = get_user_by('id', $this->comprador); $clase = get_post($this->clase); /*SOLO PARA CHEQUEO*/ if (!$comprador || !$this->bici || !$clase) { $this->mensaje->add_error('Falta información para poder finalizar la reserva'); return; } $fecha_publi = $clase->post_date; unset($clase); //var_dump( numero_clases_user( $comprador->ID ) ); if ((int) numero_clases_user($comprador->ID) < 1) { $this->mensaje->add_error('El usuario no tiene clases suficiente, debe comprarlas en el front.'); return; } $clase = new Clase($this->clase); if (!$clase->reservar_bici($this->bici)) { /*COMPROBAMOS DISPONIBILIDAD*/ $this->mensaje->add_error('La bicicleta que intentas comprar ya no se encuentra disponible, por favor, selecciona otra.'); return; } $restada = restar_clases($this->comprador, 1); /*CREAMOS LA RESERVA :)*/ $args = array('post_title' => "", 'post_status' => 'publish', 'post_type' => 'reserva', 'post_author' => $this->comprador, 'post_date' => $fecha_publi); $id_reserva = wp_insert_post($args); if ($id_reserva) { $this->ID = $id_reserva; update_post_meta($id_reserva, 'bici', $this->bici); update_post_meta($id_reserva, 'clase', $this->clase); update_post_meta($id_reserva, 'comprador', $this->comprador); update_post_meta($id_reserva, 'expiracion', $restada); update_post_meta($id_reserva, 'timestamp', current_time('timestamp')); } else { $this->mensajes->add_error('Hubo un error en la generación de la reserva'); return; } /*AHORA DEBEMOS HACER UN UPDATE DE LA RESERVA EN LA CLASE!!*/ mail_nueva_reservacion($id_reserva, $this->comprador); $this->redirect = array('inforeserva' => $id_reserva); }
<?php require_once '../../../../../wp-load.php'; global $current_user; if (!isset($_POST['security']) || !isset($_POST['clase']) || !isset($_POST['bici'])) { echo '<!--DATA_AJAX--><div id="data_en_asd">'; echo '</div><!--DATA_AJAXEND-->'; die(json_encode(array('ok' => false, 'mensaje' => 'ERROR: 6969'))); } if (!is_user_logged_in() || numero_clases_user($current_user->ID) < 1) { /*LUEGO LO CHECAMOS*/ echo '<!--DATA_AJAX--><div id="data_en_asd">'; echo '</div><!--DATA_AJAXEND-->'; die(json_encode(array('ok' => false, 'mensaje' => 'No tienes clases suficientes para poder realizar la compra'))); } /*CREAMOS UNA RESERVA*/ unset($_POST['security']); $reserva = new Reserva(); $reserva->set_reserva($_POST, $current_user->ID); $reserva->comprar(); if (!$reserva->mensaje->ok || !$reserva->redirect) { echo '<!--DATA_AJAX--><div id="data_en_asd">'; echo '</div><!--DATA_AJAXEND-->'; $reserva->mensaje->imprimir('JSON'); } echo '<!--DATA_AJAX--><div id="data_en_asd">'; thankyou_page($reserva->redirect); echo '</div><!--DATA_AJAXEND-->'; die(json_encode(array('ok' => true, 'mensaje' => $reserva->redirect)));
function get_clases_no_expiradas() { $fecha_cron_expiracion = get_option('fecha_cron_expiracion'); /*COMPROBAMOS si CRON ya se corrió*/ $now = current_time('Y-m-d'); if ($now >= $fecha_cron_expiracion) { return; } $users = get_users(); foreach ($users as $user) { $validClassesPerUser = array(); $clases = numero_clases_user($user->ID, true); foreach ($clases as $clase) { $claseDateTime = $clase; $isExpired = $now > $claseDateTime; //echo ($isExpired ? " CADUCADA " : " SIRVE "); if (!$isExpired) { $validClassesPerUser[] = $clase; } } update_user_meta($user->ID, 'cantidad_clases', $validClassesPerUser); } update_option('fecha_cron_expiracion', $now); }