function select_by_user($idUsuario, $tipoDePago, $IVA) { //incluye classes necesarias include_once "class.categorias.php"; include_once "class.productos.php"; include_once "class.compras.php"; include_once "class.usuarios.php"; include_once "class.talles_productos.php"; include_once "class.colores_productos.php"; include_once "class.talles.php"; include_once "class.colores.php"; include_once "class.historiales.php"; include_once "class.historiales.php"; require_once 'control/resources/pdo.php'; require_once "control/productos/classes/class.tallesColores.php"; //variables de la sumas de valores, tanto de precios como total $total = 0; $total_general = 0; $totales[] = 0; $sql = "SELECT * FROM carrito WHERE idUsuario = {$idUsuario};"; $result = $this->database->query($sql); $result = $this->database->result; $detalle_productos = ""; while ($row = mysql_fetch_array($result)) { $intContador = $row['intContador']; $idUsuario = $row['idUsuario']; $idProducto = $row['idProducto']; $intCantidad = $row['intCantidad']; $intTransaccion = $row['intTransaccion']; $id_talle = $row['talle']; $id_color = $row['color']; //Traigo precio de los productos $productos = new productos(); $productos->select($idProducto); $dblPrecio = $productos->getdblPrecio(); $strNombre = $productos->getstrNombre(); $strDetalle = $productos->getstrDetalle(); $intCategoria = $productos->getintCategoria(); $strintStock = $productos->getintStock(); $estado_producto = 1; $cat = new categorias(); $cat->select($intCategoria); $requiere_talles = $cat->gettalles(); if ($requiere_talles == 1) { try { $stock = new TempStock(); echo $stock->removeTempStock($row['idUsuario'], $row['idProducto'], $row['talle'], null, $requiere_talles); } catch (Exception $e) { echo $e->getMessage(); } ############################################# // REQUIERE TALLES ############################################# //compruebo que haya producto en stock //traigo el stock del producto desde talles_productos $tall_prod = new talles_productos(); $tall_prod->select_by_producto($idProducto, $id_talle); $cantidad_stock_con_talles = $tall_prod->getcantidad(); if ($cantidad_stock_con_talles >= $intCantidad) { $nom_talle = new talles(); $nom_talle->select($id_talle); $nombre_de_talle = $nom_talle->getnombre_talle(); $detalle_productos .= ' <div class="purchase"> <img src="http://nufarm-maxx.com/imagenes/marketingnet-mail_FLECHITA-04.jpg" width="8" height="11"> <span class="tit22"> ' . $strNombre . '</span><br> <span class="cant"> Cant: ' . $intCantidad . ' </span><br> <span class="cant"> Talle: ' . $nombre_de_talle . ' </span><br> <span class="tot_1"> ' . $dblPrecio . '</span><br> <span class="tot_2"> Total: ' . $intCantidad * $dblPrecio . '</span></div>'; //quito del stock $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'talle' => $nombre_de_talle, 'estado_producto' => $estado_producto, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); // $taproductos= new talles_productos(); // $taproductos->select_by_producto($idProducto,$id_talle); // $id_talle_producto = $taproductos->getid(); // $upcantidad = new talles_productos(); // $upcantidad->select($id_talle_producto); // $upcantidad->cantidad = $cantidad_stock_con_talles - $intCantidad; // $upcantidad->update($id_talle_producto); $total = $dblPrecio * $intCantidad; } else { $detalle_productos .= '<p>• <span style="font-size:10px"> ID:' . $idProducto . '</span> ' . $strNombre . '<br> Cantidad solicitada:' . $intCantidad . ', NO DISPONIBLE - 0.00 </p>'; $total = 0; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => 0); } } else { if ($requiere_talles == 2) { try { $stock = new TempStock(); echo $stock->removeTempStock($row['idUsuario'], $row['idProducto'], null, $row['color'], $requiere_talles); } catch (Exception $e) { echo $e->getMessage(); } ############################################# // REQUIERE COLORES ############################################# //compruebo que haya producto en stock //traigo el stock del producto desde talles_productos $col_prod = new colores_productos(); $col_prod->select_by_producto($idProducto, $id_color); $cantidad_stock_con_colores = $col_prod->getcantidad(); if ($cantidad_stock_con_colores >= $intCantidad) { $nom_color = new colores(); $nom_color->select($id_color); $nombre_de_color = $nom_color->getnombre_color(); $detalle_productos .= ' <div class="purchase"> <img src="http://nufarm-maxx.com/imagenes/marketingnet-mail_FLECHITA-04.jpg" width="8" height="11"> <span class="tit22"> ' . $strNombre . '</span><br> <span class="cant"> Cant: ' . $intCantidad . ' </span><br> <span class="cant"> Color: ' . $nombre_de_color . ' </span><br> <span class="tot_1"> ' . $dblPrecio . '</span><br> <span class="tot_2"> Total: ' . $intCantidad * $dblPrecio . '</span></div>'; //quito del stock $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'color' => $nombre_de_color, 'estado_producto' => $estado_producto, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); // $taproductos= new colores_productos(); // $taproductos->select_by_producto($idProducto,$id_color); // $id_color_producto = $taproductos->getid(); // $upcantidad = new colores_productos(); // $upcantidad->select($id_color_producto); // $upcantidad->cantidad = $cantidad_stock_con_colores - $intCantidad; // $upcantidad->update($id_color_producto); $total = $dblPrecio * $intCantidad; } else { $detalle_productos .= '<p>• <span style="font-size:10px"> ID:' . $idProducto . '</span> ' . $strNombre . '<br> Cantidad solicitada:' . $intCantidad . ', NO DISPONIBLE - 0.00 </p>'; $total = 0; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => 0); } } elseif ($requiere_talles == 3) { $x = new tallesColores(); /** * example of basic @ TempStock * @param userid * @param product_id * @param talle * @param color * @return nothing on success, throw on error */ try { $stock = new TempStock(); echo $stock->removeTempStock($row['idUsuario'], $row['idProducto'], $row['talle'], $row['color'], $requiere_talles); } catch (Exception $e) { echo $e->getMessage(); } $talles = $x->talles(); $colores = $x->colores(); $nom_talle = $talles[$row['talle']]; $nom_color = $colores[$row['color']]; $detalle_productos .= ' <div class="purchase"> <img src="http://nufarm-maxx.com/imagenes/marketingnet-mail_FLECHITA-04.jpg" width="8" height="11"> <span class="tit22"> ' . $strNombre . '</span><br> <span class="cant"> Cant: ' . $intCantidad . ' </span><br> <span class="cant"> Color: ' . $nom_color . ' </span><br> <span class="cant"> Talle: ' . $nom_talle . ' </span><br> <span class="tot_1"> ' . $dblPrecio . '</span><br> <span class="tot_2"> Total: ' . $intCantidad * $dblPrecio . '</span></div>'; //quito del stock $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'color' => $nom_color, 'talle' => $nom_talle, 'estado_producto' => $estado_producto, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); $total = $dblPrecio * $intCantidad; } else { try { $stock = new TempStock(); echo $stock->removeTempStock($row['idUsuario'], $row['idProducto'], null, null, 0); } catch (Exception $e) { echo $e->getMessage(); } ############################################# //NO REQUIERE TALLES ############################################# //compruebo que haya producto en stock if ($strintStock >= 1) { $detalle_productos .= '<div class="purchase"> <img src="http://nufarm-maxx.com/imagenes/marketingnet-mail_FLECHITA-04.jpg" width="8" height="11"> <span class="tit22"> ' . $strNombre . '</span><br> <span class="cant"> Cant: ' . $intCantidad . ' </span><br> <span class="cant"> </span><br> <span class="tot_1"> ' . $dblPrecio . '</span><br> <span class="tot_2"> Total: ' . $intCantidad * $dblPrecio . '</span></div>'; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'estado_producto' => $estado_producto, 'precio_pagado' => $intCantidad * $dblPrecio); //quito del stock // $productos= new productos(); // $productos->select($idProducto); // $productos->intStock=$strintStock - $intCantidad; // $productos->update($idProducto); $total = $dblPrecio * $intCantidad; } else { $detalle_productos .= '<p>• <span style="font-size:10px"> ID:' . $idProducto . '</span> ' . $strNombre . ', <br> Cant: NO DISPONIBLE - 0.00 </p>'; $total = 0; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); } } } //Voy sumando los precios de los productos $totales[] = $total; } //Total sin IVA $valor_general = array_sum($totales); //Total con IVA $final_con_iva = $valor_general + $valor_general * $IVA / 100; if ($valor_general >= 1) { $detalle_titulo = "<div class='purchase_container'><h2 class='finalizado'>Su canje se realizo de forma exitosa!</h2>"; $detalle_productos .= '</div> <div class="purchase_end">Total final: ' . $valor_general . '</div> <!--<span style="font-size:10px; text-transform:uppercase;">Con IVA:</span> $' . $final_con_iva . '</p>--> <a class="btn-micuenta77" href="mi_cuenta.php?activo=2"> <span>VOLVER A MI CUENTA</span> </a> </div> '; } else { $detalle_titulo = "<p>Error al procesar pago. importe: {$valor_general}</p> "; } if ($valor_general >= 1) { //Guardo compra en tabla "compras" $compra = new compras(); $compra->idUsuario = $idUsuario; $compra->intTipoPago = $tipoDePago; $compra->fthCompra = date("Y-m-d H:i:s"); $compra->dblTotal = $final_con_iva; #$compra->idCredito=$idCredito; $compra->detalle = $detalle_productos; $compra->estado = 1; $last_compra = $compra->insert(); //Actualizo el credito del usuario #Primero traigo el monto actual de credito del usuario $usuarios = new usuarios(); $usuarios->select($idUsuario); $creditoActual = $usuarios->getdblCredito(); /* Realizo el UPDATE */ $usuarios = new usuarios(); $usuarios->select($idUsuario); $usuarios->dblCredito = $creditoActual - $final_con_iva; $usuarios->update($idUsuario); //Guardo la modificacion en historial de credito $monto_quedo_en = $creditoActual - $final_con_iva; $hist = new historiales(); $hist->id_usuario = $idUsuario; $hist->fecha = date("Y-m-d"); $hist->realizado_por = "Compra realizada"; $hist->tipo_modificacion = $modificacion = "Compra de \${$final_con_iva}"; $hist->monto_modificado = $monto_quedo_en; $hist->insert(); //guardo el detalle de cada producto en detalles_compra para poder mostrar la img del producto comprado foreach ($detalle_para_guardar_por_id as $item_to_save) { $compra = new compras(); $compra->insert_detalle_productos($last_compra, $item_to_save['id_producto'], $item_to_save['nombre'], $item_to_save['detalle'], $item_to_save['cantidad'], $item_to_save['precio_pagado'], $item_to_save['estado_producto'], $item_to_save['talle'], $item_to_save['color']); $k++; } /* borro del carrito del usuario los items*/ $this->delete($idUsuario); return $detalle_titulo . '' . $detalle_productos; } else { } }
$usua = new usuarios(); $usua->select($idUsuario); $credito_actual = $usua->getdblCredito(); if ($credito_actual != $dblCredito) { include_once "../historiales/classes/class.historiales.php"; #guardo historial if ($credito_actual > $dblCredito) { $diferencia = $credito_actual - $dblCredito; $monto_quedo_en = $credito_actual - $diferencia; $modificacion = "Descuento de \${$diferencia} por Admin"; } else { $diferencia = $dblCredito - $credito_actual; $monto_quedo_en = $credito_actual + $diferencia; $modificacion = "Agregado de \${$diferencia} por Admin. "; } $hist = new historiales(); $hist->id_usuario = $idUsuario; $hist->fecha = date("Y-m-d"); $hist->realizado_por = "Administracion"; $hist->tipo_modificacion = $modificacion; $hist->monto_modificado = $monto_quedo_en; $hist->insert(); } $direccion = $_POST['direccion']; $telefono = $_POST['telefono']; $nombre_contacto1 = $_POST['nombre_contacto1']; $apellido_contacto1 = $_POST['apellido_contacto1']; $email_contacto1 = $_POST['email_contacto1']; $nombre_contacto2 = $_POST['nombre_contacto2']; $apellido_contacto2 = $_POST['apellido_contacto2']; $email_contacto2 = $_POST['email_contacto2'];
function select_by_user($idUsuario, $tipoDePago, $IVA) { //incluye classes necesarias include_once "class.categorias.php"; include_once "class.productos.php"; include_once "class.compras.php"; include_once "class.usuarios.php"; include_once "class.talles_productos.php"; include_once "class.talles.php"; include_once "class.historiales.php"; //variables de la sumas de valores, tanto de precios como total $total = 0; $total_general = 0; $totales[] = 0; $sql = "SELECT * FROM carrito WHERE idUsuario = {$idUsuario};"; $result = $this->database->query($sql); $result = $this->database->result; $detalle_productos = ""; while ($row = mysql_fetch_array($result)) { $intContador = $row['intContador']; $idUsuario = $row['idUsuario']; $idProducto = $row['idProducto']; $intCantidad = $row['intCantidad']; $intTransaccion = $row['intTransaccion']; $id_talle = $row['talle']; //Traigo precio de los productos $productos = new productos(); $productos->select($idProducto); $dblPrecio = $productos->getdblPrecio(); $strNombre = $productos->getstrNombre(); $strDetalle = $productos->getstrDetalle(); $intCategoria = $productos->getintCategoria(); $strintStock = $productos->getintStock(); $cat = new categorias(); $cat->select($intCategoria); $requiere_talles = $cat->gettalles(); if ($requiere_talles == 1) { ############################################# // REQUIERE TALLES ############################################# //compruebo que haya producto en stock //traigo el stock del producto desde talles_productos $tall_prod = new talles_productos(); $tall_prod->select_by_producto($idProducto, $id_talle); $cantidad_stock_con_talles = $tall_prod->getcantidad(); if ($cantidad_stock_con_talles >= $intCantidad) { $nom_talle = new talles(); $nom_talle->select($id_talle); $nombre_de_talle = $nom_talle->getnombre_talle(); $detalle_productos .= '<p> ID:' . $idProducto . ', ' . $strNombre . ', (' . $nombre_de_talle . ') Cant:' . $intCantidad . ' x $' . $dblPrecio . ' = ' . $intCantidad * $dblPrecio . '</p> '; //quito del stock $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre . '(' . $nombre_de_talle . ')', 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); $taproductos = new talles_productos(); $taproductos->select_by_producto($idProducto, $id_talle); $id_talle_producto = $taproductos->getid(); $upcantidad = new talles_productos(); $upcantidad->select($id_talle_producto); $upcantidad->cantidad = $cantidad_stock_con_talles - $intCantidad; $upcantidad->update($id_talle_producto); $total = $dblPrecio * $intCantidad; } else { $detalle_productos .= '<p> ID:' . $idProducto . ', ' . $strNombre . ', Cantidad solicitada:' . $intCantidad . ', NO DISPONIBLE - $ 0.00 </p>'; $total = 0; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => 0); } } else { ############################################# //NO REQUIERE TALLES ############################################# //compruebo que haya producto en stock if ($strintStock >= 1) { $detalle_productos .= '<p> ID:' . $idProducto . ', ' . $strNombre . ', Cant:' . $intCantidad . ' x $' . $dblPrecio . ' = ' . $intCantidad * $dblPrecio . '</p> '; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); //quito del stock $productos = new productos(); $productos->select($idProducto); $productos->intStock = $strintStock - $intCantidad; $productos->update($idProducto); $total = $dblPrecio * $intCantidad; } else { $detalle_productos .= '<p> ID:' . $idProducto . ', ' . $strNombre . ', Cant: NO DISPONIBLE - $ 0.00 </p>'; $total = 0; $detalle_para_guardar_por_id[] = array('id_producto' => $idProducto, 'nombre' => $strNombre, 'detalle' => $strDetalle, 'cantidad' => $intCantidad, 'precio_pagado' => $intCantidad * $dblPrecio); } } //Voy sumando los precios de los productos $totales[] = $total; } //Total sin IVA $valor_general = array_sum($totales); //Total con IVA $final_con_iva = $valor_general + $valor_general * $IVA / 100; if ($valor_general >= 1) { $detalle_titulo = "<h3>Pago procesado.</h3>"; $detalle_productos .= '<p> Sin IVA: $' . $valor_general . ', Con IVA: $' . $final_con_iva . '</p'; } else { $detalle_titulo = "Error al procesar pago. importe: {$valor_general} "; } //Guardo compra en tabla "compras" $compra = new compras(); $compra->idUsuario = $idUsuario; $compra->intTipoPago = $tipoDePago; $compra->fthCompra = date("Y-m-d H:i:s"); $compra->dblTotal = $final_con_iva; #$compra->idCredito=$idCredito; $compra->detalle = $detalle_productos; $compra->estado = 1; $last_compra = $compra->insert(); //Actualizo el credito del usuario #Primero traigo el monto actual de credito del usuario $usuarios = new usuarios(); $usuarios->select($idUsuario); $creditoActual = $usuarios->getdblCredito(); /* Realizo el UPDATE */ $usuarios = new usuarios(); $usuarios->select($idUsuario); $usuarios->dblCredito = $creditoActual - $final_con_iva; $usuarios->update($idUsuario); //Guardo la modificacion en historial de credito $monto_quedo_en = $creditoActual - $final_con_iva; $hist = new historiales(); $hist->id_usuario = $idUsuario; $hist->fecha = date("Y-m-d"); $hist->realizado_por = "Compra realizada"; $hist->tipo_modificacion = $modificacion = "Compra de \${$final_con_iva}"; $hist->monto_modificado = $monto_quedo_en; $hist->insert(); //guardo el detalle de cada producto en detalles_compra para poder mostrar la img del producto comprado foreach ($detalle_para_guardar_por_id as $item_to_save) { $compra = new compras(); $compra->insert_detalle_productos($last_compra, $item_to_save['id_producto'], $item_to_save['nombre'], $item_to_save['detalle'], $item_to_save['cantidad'], $item_to_save['precio_pagado']); } /* borro del carrito del usuario los items*/ $this->delete($idUsuario); return $detalle_titulo . '' . $detalle_productos; }
<!-- Columna 3 --> <div class="historial-c"> <div class="credit-update"> <p style="font-size:18px;color:#008752;margin-bottom: -8px">Crédito actual</p> <p style="font-size: 27px;padding-bottom:10px;color:#008752"><?php echo "\$ {$dblCredito}"; ?> </p> </div> <?php include_once '../historiales/classes/class.historiales.php'; $hist = new historiales(); $usuarioitem = $hist->show_by_usuario($idUsuario); echo $usuarioitem; ?> </div> <div class="btn-usuario"> <input type="hidden" name="idUsuario" id="f-client" value="<?php echo $idUsuario; ?> " /> <button type="submit" class="button7">GUARDAR CAMBIOS</button> <button type="button" class="button7" onclick="javascript:history.back(1)">CANCELAR</button> </div> </div><!-- FIN ROW 2 -->
function select_all($pagina, $orden) { include '../resources/paginator.class.php'; $sql = "SELECT * FROM usuarios ;"; $result = $this->database->query($sql); $result = $this->database->result; $quantity = mysql_num_rows($result); if ($quantity < 1) { echo '<div class="notify"> <p>No hay usuario en el sistema!</p> </div>'; } else { $count = 0; while ($row = mysql_fetch_array($result)) { $count++; } $pages = new Paginator(); $pages->items_total = $count; $pages->mid_range = 10; $pages->paginate(); $pages->display_pages(); include_once '../historiales/classes/class.historiales.php'; $sql = "SELECT * FROM usuarios ORDER BY {$orden} {$pages->limit};"; $result = $this->database->query($sql); $result = $this->database->result; while ($row = mysql_fetch_array($result)) { $idUsuario = $row['idUsuario']; $strNombre = $row['strNombre']; $strApellido = $row['strApellido']; $strEmail = $row['strEmail']; $strEmpresa = $row['strEmpresa']; $strCargo = $row['strCargo']; $strPassword = $row['strPassword']; $dblCredito = $row['dblCredito']; $direccion = $row['direccion']; $telefono = $row['telefono']; $nombre_contacto1 = $row['nombre_contacto1']; $apellido_contacto1 = $row['apellido_contacto1']; $email_contacto1 = $row['email_contacto1']; $nombre_contacto2 = $row['nombre_contacto2']; $apellido_contacto2 = $row['apellido_contacto2']; $email_contacto2 = $row['email_contacto2']; $logo = $row['logo']; $vigencia_credito = $row['vigencia_credito']; $vendedor = $row['vendedor']; $usuarioitem = ""; //si tiene imagen if (strlen($logo) > 2) { $usuarioitem .= ' <div class="item"> <div class="divideritemuno" > <img src="' . BASEURLRAIZ . '/images_usuarios/' . $logo . '" alt="" width="120"/> </div> <div class="divideritemdos" > <h5>' . $strEmpresa . ' </h5> <p>' . $strApellido . ' ' . $strNombre . ' </p> <p>' . $strEmail . '</p> <p> ' . $direccion . ' - ' . $telefono . ' </p> </div> <div class="divideritemtres" > <p>Credito disponible: <br />$ ' . $dblCredito . ' </p> </div> <div class="itemfull"> <a href="e_usuario.php?id=' . $idUsuario . '">Editar</a> <a href="d_usuario.php?id=' . $idUsuario . '">Borrar</a> </div> </div> '; } else { $usuarioitem .= ' <div class="item"> <div class="divideritemuno" > <div class="no_img"></div> </div> <div class="divideritemdos"> <h5>' . $strEmpresa . ' </h5> <p>' . $strApellido . ' ' . $strNombre . ' </p> <p>' . $strEmail . '</p> <p> ' . $direccion . ' - ' . $telefono . ' </p> </div> <div class="divideritemtres" >'; $hist = new historiales(); $usuarioitem .= $hist->show_by_usuario($idUsuario); $usuarioitem .= '<p>Credito disponible: <br />$ ' . $dblCredito . ' </p> </div> <div class="itemfull"> <a href="e_usuario.php?id=' . $idUsuario . '">Editar</a> <a href="d_usuario.php?id=' . $idUsuario . '">Borrar</a> </div> </div> '; } echo $usuarioitem; } echo '<div class="navigate">'; echo $pages->display_pages(); // Optional call which will display the page numbers after the results. //$pages->display_jump_menu(); // Optional Ð displays the page jump menu //echo $pages->display_items_per_page(); //Optional Ð displays the items per //echo $pages->current_page . ' of ' .$pages->num_pages.''; echo '</div>'; } }