Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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>';
     }
 }
Ejemplo n.º 3
0
<?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)));
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
<?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)));
Ejemplo n.º 6
0
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);
}