public function finalizar_compra($guardar_tarjeta = false) { /* **EN CASO DE NO HABER PRECIO Y NO HABER PRODUCTOS **NOS VAMOS */ if (!isset($this->paquete->data['precio']) && !$this->productos) { return; } /*SETEAMOS EL METODO FINAL DE PAGO*/ $pago = $this->metodos_pago['conekta']; /*facilitamos el acceso en una variable*/ $pago->set_monto($this->paquete, $this->productos); $pago->set_comprador($this->comprador); $pago->set_clases($this->paquete->data['cantidad']); $pago->procesar_compra($this->invitado, $guardar_tarjeta); if (!$pago->mensajes->ok) { foreach ($pago->mensajes->mensajes as $mensaje) { $this->mensaje->add_error($mensaje); } return; } check_codigo_activacion($this->comprador); if ($this->invitado) { $this->procesar_invitado($this->invitado, $this->comprador); } if (!$this->gift_card) { update_user_meta($this->comprador, 'ya_compro', true); /*ACTUALIZAMOS PARA QUE SE MUESTRE QUE YA REALIZÓ UNA COMPRA*/ } if (Cupon::get_cupones($this->comprador)) { Cupon::eliminar_cupones($this->comprador); } $this->redirect = array('infopedido' => $pago->idPedido); }
if ($user = email_exists($mail_usuario)) { /*ACCESO*/ $user = get_user_by('id', $user); $cred = array('user_login' => $user->data->user_login, 'user_password' => $pass_user); $user = wp_signon($cred, false); if (is_wp_error($user)) { die(json_encode(array('ok' => false, 'mensaje' => $user->get_error_message()))); } // enviar_mail_registro( $user ); /*MANDAMOS OK*/ ajax_registro($ajax, $user, $clase_id); die(json_encode(array('ok' => true))); } else { /*REGISTRO*/ $user_id = wp_create_user($mail_usuario, $pass_user, $mail_usuario); if (is_wp_error($user_id)) { die(json_encode(array('ok' => false, 'mensaje' => $user_id->get_error_message()))); } wp_update_user(array('ID' => $user_id, 'display_name' => $nombre_user)); update_user_meta($user_id, 'cantidad_clases', array()); check_codigo_activacion($user_id); /*ACCESO*/ $cred = array('user_login' => $mail_usuario, 'user_password' => $pass_user); $user = wp_signon($cred, false); if (is_wp_error($user)) { die(json_encode(array('ok' => false, 'mensaje' => $user->get_error_message()))); } enviar_mail_registro($user); ajax_registro($ajax, $user, $clase_id); die(json_encode(array('ok' => true))); }
function guardar_usuario_back($data = array()) { global $admin; if (!$admin->permisos('FrontDesk')) { return; } if (!count($data)) { return; } $data_format = array(); foreach ($data as $info) { $data_format[$info[0]] = $info[1]; } if (!isset($data_format['ID']) || $data_format['ID'] == 'false') { $mail_usuario = isset($data_format['wp_user']['user_email']) ? strip_tags($data_format['wp_user']['user_email']) : false; $nombre_user = isset($data_format['wp_user']['display_name']) ? strip_tags($data_format['wp_user']['display_name']) : false; $pass_user = isset($data_format['wp_user']['pass_user']) ? strip_tags($data_format['wp_user']['pass_user']) : false; if (!$mail_usuario || !$nombre_user || !$pass_user) { return '<script>alert("Falta información para la creación de una cuenta");</script>'; } if (!is_email($mail_usuario)) { return '<script>alert("El mail que has escrito no tiene un formato válido");</script>'; } /*CHECAMOS MAIL EXISTENTE*/ if (email_exists($mail_usuario)) { return '<script>alert("El mail que estás escribiendo ya tiene un usuario asignado");</script>'; } /*CREAMOS USUARIO*/ $user_id = wp_create_user($mail_usuario, $pass_user, $mail_usuario); if (is_wp_error($user_id)) { return '<script>alert("' . $user_id->get_error_message() . '");</script>'; } wp_update_user(array('ID' => $user_id, 'display_name' => $nombre_user)); check_codigo_activacion($user_id); } $id_user = isset($user_id) ? $user_id : $data_format['ID']; $facturacion = isset($data_format['facturacion']) ? $data_format['facturacion'] : false; $user_wp = isset($data_format['wp_user']) ? $data_format['wp_user'] : false; $clases_user = isset($data_format['clases_user']) ? $data_format['clases_user'] : false; $meta = $data_format; unset($meta['ID'], $meta['facturacion'], $meta['wp_user'], $meta['clases_user']); if ($facturacion) { guardar_facturacion($facturacion, $id_user, true); } if ($meta) { if (!$admin->permisos('Gafa') && isset($meta['rol'])) { $meta['rol'] = 0; } foreach ($meta as $meta_key => $meta_value) { update_user_meta($id_user, $meta_key, $meta_value); } } if ($user_wp) { $mensaje = salvar_cuenta($id_user, $user_wp, false); } if ($clases_user) { /* **FORMATEAMOS TODO PRIMERO **PARA TENER UNA BUENA ESTRUCTURA */ $formateadas = $clases_definitivas = array(); $key_primero = 0; foreach ($clases_user as $value) { if ($value[0] === 'numero' && $value[1]) { $formateadas[$key_primero]['cantidad'] = $value[1]; } elseif ($value[0] === 'fecha' && $value[1]) { $formateadas[$key_primero]['fecha'] = $value[1]; $key_primero++; } } /*UNA VEZ FORMATEADO VAMOS A CONFIGURAR CÓMO TIENEN QUE QUEDAR LAS CLASES DEL USUARIO*/ foreach ($formateadas as $format) { if (isset($format['cantidad']) && (int) $format['cantidad'] > 0) { for ($i = 1; $i <= $format['cantidad']; $i++) { $clases_definitivas[] = $format['fecha']; } } } $clases_definitivas = array_filter($clases_definitivas); update_user_meta($id_user, 'cantidad_clases', $clases_definitivas); } return $mensaje; }