public function accion_ver() { $bien = false; $error = ''; $modelo = null; //---------- $pagina = (int) (isset($_GET['p']) ? $_GET['p'] : 0); //coger la pagina para poder volver //---------- //Coger el dato clave para cargar el modelo a editar... $id = isset($_GET['id']) ? $_GET['id'] : (isset($_POST['id']) ? $_POST['id'] : null); if ($id === null) { $error = 'No se ha indicado el artículo a consultar.'; } else { $modelo = new articulo(); if (!$modelo->cargar($id)) { $error = 'No se puede cargar el artículo deseado.'; $modelo = null; } //if } //if //---------- //Dar una respuesta segun el resultado del proceso. vista::generarPagina('ver', array('modelo' => $modelo, 'error' => $error, 'pagina' => $pagina)); }
vista::generarParcial('articulo_formulario', array('modelo' => $modelo, 'error' => $error)); ?> <tfoot> <tr> <td colspan="2" class="cen"> <?php if (!empty($error)) { ?> <div class="mensaje"><?php echo $error; ?> </div><?php } //if ?> <div class="acciones"> <?php //Generar el pie de la tabla con las acciones. //if (tiene_permiso( 'articulos.crear')) { vista::generarPieza('boton_accion', array('texto' => 'Crear Nuevo', 'icono' => 'guardar.png', 'activo' => false, 'url' => array('a' => 'articulos.crear', 'p' => $pagina), 'submit' => true)); //}//if "permiso" //Generar el boton para VOLVER. vista::generarPieza('boton_accion', array('texto' => 'Cancelar y Volver', 'icono' => 'volver.png', 'activo' => true, 'url' => array('a' => 'articulos', 'p' => $pagina))); ?> </div> </td> </tr> </tfoot> </table> </form> </div>
} //foreach } //if ?> </tbody> <?php /*-----*/ if (count($modelos) > 0) { ?> <tfoot> <tr> <td colspan="3"> </td> <td colspan="4"> <?php //Generar el pie de la tabla con la informacion de las bases e ivas y el total vista::generarParcial('pedido_ficha_totales', array('sumas' => $sumas, 'pedido' => $pedido)); ?> </td> </tr> </tfoot> <?php } //if //-----*/ ?> </table> </div>
public function accion_borrar() { $bien = false; $error = ''; $modelo = null; //---------- $pagina = (int) (isset($_GET['p']) ? $_GET['p'] : 0); //coger la pagina para poder volver //---------- //Coger el dato clave para cargar el modelo a editar... $id = isset($_GET['id']) ? $_GET['id'] : (isset($_POST['id']) ? $_POST['id'] : null); if ($id === null) { $error = 'No se ha indicado el articulo a editar.'; } else { $modelo = new articulo(); if (!$modelo->cargar($id)) { $error = 'No se puede cargar el articulo (' . $id . ') para editar.'; $modelo = null; } //if } //if //---------- $confirmado = (bool) (isset($_GET['ok']) ? $_GET['ok'] : (isset($_POST['ok']) ? $_POST['ok'] : 0)); //---------- //Si hay modelo cargado, y datos del formulario, se intenta eliminar. if ($modelo !== null && $confirmado) { //Intentar eliminar el modelo... $bien = $modelo->eliminar(); if ($bien) { $error = 'El articulo se ha eliminado correctamente.'; } else { $error = 'No se ha podido eliminar el articulo (' . $id . ').'; } } //if //---------- //Dar una respuesta segun el resultado del proceso. if ($bien) { vista::redirigir(array('articulos'), array('p' => $pagina)); } else { vista::generarPagina('borrar', array('modelo' => $modelo, 'error' => $error, 'pagina' => $pagina)); } //if }
)); //-----*/ ?> <h1>Eliminar Pedido</h1> <div class="hoja"> <table> <?php //Generar el cuerpo de la tabla con la ficha de pedido. vista::generarParcial('pedido_ficha', array('modelo' => $modelo, 'error' => $error)); ?> <tfoot> <tr> <td colspan="2" class="cen"> <div class="acciones"> <?php //Generar el pie de la tabla con las acciones. if ($modelo !== null) { //if (tiene_permiso( 'pedidos.borrar')) { vista::generarPieza('boton_accion', array('texto' => 'Confirmar Borrado', 'icono' => false, 'activo' => false, 'url' => array('a' => 'pedidos.borrar', 'id' => $modelo->clavePrimaria(), 'ok' => true, 'p' => $pagina))); //}//if "permiso" } //if "hay modelo" //Generar el boton para VOLVER. vista::generarPieza('boton_accion', array('texto' => 'Volver', 'icono' => 'volver.png', 'activo' => true, 'url' => array('a' => 'pedidos', 'p' => $pagina))); ?> </div> </td> </tr> </tfoot> </table> </div>
</tr> <tr> <th>Password</th> <td><input type="password" name="cliente[password]" id="cliente_password" maxlength="32" ></td> </tr> </tbody> <tfoot> <tr> <td colspan="2" class="cen"> <?php if (!empty($error)) { ?> <div class="mensaje"><?php echo $error; ?> </div><?php } //if ?> <div class="acciones"> <?php //Generar el pie de la tabla con las acciones. vista::generarPieza('boton_accion', array('texto' => 'Acceder', 'icono' => 'guardar.png', 'activo' => false, 'url' => array('a' => 'clientes.login', 'l' => true), 'submit' => true)); ?> </div> </td> </tr> </tfoot> </table> </div> </form>
public function accion_aceptarPedido() { //Comprobar que el cliente se ha logueado $usuario = sesion::get('usuario'); if ($usuario === null) { //No se ha logueado vista::redirigir('?a=clientes.login'); } else { //Copiar y modificar el método accion_crear de la clase pedidos.php $bien = false; $error = ''; $modelo = new pedido(); $modelo->fecha = date('Y-m-d'); $fecha = getdate(); $modelo->serie = date('Y'); $modelo->numero = $modelo->siguienteNumero($modelo->serie); $modelo->domEnvio = $usuario->domEnvio; $modelo->refCli = $usuario->referencia; $modelo->notas = "Pedido realizado desde el carro."; $modelo->lineas = array(); $miCarro = sesion::get('carro'); $orden = 1; foreach ($miCarro as $key => $value) { $linea = new pedidolin(); $linea->serie = $modelo->serie; $linea->numero = $modelo->numero; $linea->orden = $orden; $linea->refArt = $key; $linea->texto = "Artículo del carro."; $linea->cantidad = $value->cantidad; $linea->precio = $value->precio; $linea->iva = $value->iva; $linea->importeBase = $value->cantidad * $value->precio; $linea->cuotaIva = $linea->importeBase * $value->iva / 100; $linea->pedido = $modelo; $linea->articulo = $value; $modelo->lineas[] = $linea; $orden++; } $modelo->cliente = $usuario; //---------- //$pagina= (int)(isset($_GET['p']) ? $_GET['p'] : 0);//coger la pagina para poder volver //---------- //Si hay datos del formulario pedido, se intenta crear nuevo... if ($modelo !== null) { //Copiar los datos del formulario... //$modelo->llenar( $_POST['pedido']); //Intentar guardar validando antes el modelo... $bien = $modelo->guardar(); if ($bien) { $error = 'El pedido se ha guardado correctamente.'; } else { $error = 'No se ha podido guardar el pedido nuevo. ' . basedatos::$error; } } //if //---------- //Dar una respuesta segun el resultado del proceso. if ($bien) { //vista::redirigir( array('pedidos.editar'), array('id'=>$modelo->referencia, 'p'=>$pagina)); vista::generarPagina('ver', array('modelo' => $modelo, 'error' => $error)); } /*else { vista::generarPagina( 'crear', array( 'modelo'=>$modelo, 'error'=>$error, //'pagina'=>$pagina, )); }//if*/ //vista::redirigir('?a=pedidos.crear'); } }
echo '</tr>'; echo '<tr>'; echo '<th>Precio: </th>'; echo '<td>' . html::encode($articulo->precio) . '€</td>'; echo '</tr>'; echo '<tr>'; echo '<td colspan="2">'; echo '<div class="acciones">'; vista::generarPieza('boton_accion', array('texto' => 'Detalles', 'icono' => 'ver.png', 'activo' => false, 'url' => array('a' => 'inicio.ver', 'id' => $articulo->referencia, 'p' => $pagina))); vista::generarPieza('boton_accion', array('texto' => 'Añadir al carro', 'icono' => 'editar.png', 'activo' => false, 'url' => array('a' => 'carrito.introducir', 'id' => $articulo->referencia, 'p' => $pagina))); echo '</div>'; echo '</td>'; echo '</tr>'; echo '<hr>'; } echo '</tbody>'; echo '</table>'; echo '<hr>'; echo '<table>'; echo '<tfoot>'; echo '<tr>'; echo '<td colspan="2">'; vista::generarPieza('paginador', array('url' => array('a' => 'inicio'), 'total' => $total, 'pagina' => $pagina, 'lineas' => $lineas)); echo '</ td>'; echo '</tr>'; echo '</tfoot>'; echo '</table>'; echo '<hr>'; ?> </div>
<?php //Pieza de generación del "login" del usuario y algunos detalles más sesion::start(); $usuario = sesion::get('usuario'); ?> <div class="usuario"> <span class="acciones"> <?php if ($usuario !== null) { echo 'Bienvenido ' . $usuario->nombre . '! '; vista::generarPieza('boton_accion', array('texto' => 'Salir', 'icono' => 'guardar.png', 'activo' => false, 'url' => array('a' => 'clientes.desconectar', 'l' => false), 'submit' => true)); } else { echo 'No se ha conectado. <a href="index.php?a=clientes.crear">Registrarse</a> o <a href="index.php?a=clientes.login">Login</a>'; } ?> </span> </div>
echo html::encode($cliente); ?> </td></tr> <tr><th>Dom. Envio</th><td><?php echo html::encode($modelo->domEnvio); ?> </td></tr> <tr><th>Estado</th><td><?php echo html::encode($estado); ?> </td></tr> <tr><th>Notas</th><td><?php echo html::encode($modelo->notas); ?> </td></tr> <tr><td colspan="2"><?php vista::generarParcial('pedido_ficha_lineas', array('modelos' => $modelo->lineas, 'pedido' => $modelo)); ?> </td></tr> <?php } else { ?> <tr><th>Error</th><td><?php echo $error; ?> </td></tr> <?php } //if ?> </tbody>
</table> <?php $totalCarro = $totalCarro + $miCarro[$key]->cantidad * $miCarro[$key]->precio; ?> <?php } ?> <hr /> <table> <tbody class="ficha"> <tr> <th>Total del carro</th> <td><?php echo $totalCarro; ?> € </td> </tr> <tr> <td colspan="2"> <div class="acciones"><?php vista::generarPieza('boton_accion', array('texto' => 'Realizar Pedido', 'icono' => 'editar.png', 'activo' => false, 'url' => array('a' => 'pedidos.crear'))); ?> </div> </td> </tr> </tbody> </table> <hr /> </div> <?php }
function _generar_vista($vista, $accion, $parametros = array()) { vista::generarPagina($vista, $accion, $parametros); }
//if (tiene_permiso( 'clientes.borrar')) vista::generarPieza('boton_accion', array('texto' => 'Borrar', 'icono' => 'borrar.png', 'activo' => false, 'url' => array('a' => 'clientes.borrar', 'id' => $cli->referencia, 'p' => $pagina))); echo '</div>'; echo '</td>'; echo '</tr>'; } //foreach ?> </tbody> <tfoot> <tr> <td colspan="5"> <?php //Generar el pie de la tabla con la informacion y paginador vista::generarPieza('paginador', array('url' => array('a' => 'clientes'), 'total' => $total, 'pagina' => $pagina, 'lineas' => $lineas)); ?> </td> <td class="cen"> <?php //Generar el boton para CREAR. //if (tiene_permiso( 'clientes.crear')) { echo '<div class="acciones">'; vista::generarPieza('boton_accion', array('texto' => 'Nuevo', 'icono' => 'crear.png', 'activo' => true, 'url' => array('a' => 'clientes.crear', 'p' => $pagina))); echo '</div>'; //}//if ?> </td> </tr> </tfoot> </table> </div>
<div class="cabecera"> lo que sea de una cabecera <?php vista::generarPieza('usuario'); ?> <span class="acciones"> <?php vista::generarPieza('boton_accion', array('texto' => 'Ver carrito', 'icono' => 'ver.png', 'activo' => false, 'url' => array('a' => 'carrito.ver'))); ?> </span> </div> <div class="cuerpo"> <div class="menu-izq"> lo que sea de un menu <?php vista::generarPieza('menu_lateral'); ?> </div> <div class="contenido"> <?php echo $contenido; ?> </div> <div class="salto"></div> </div> <div class="pie salto"> © Desarrollo de Aplicaciones Web II - EPSZ - Univ. Salamanca </div> </body> </html>
<?php //Generar el pie de la tabla con las acciones. //if (tiene_permiso( 'clientes.editar')) { vista::generarPieza('boton_accion', array('texto' => 'Editar', 'icono' => 'editar.png', 'activo' => false, 'url' => array('a' => 'clientes.editar', 'id' => $modelo->referencia, 'p' => $pagina))); //}//if "permiso" //Generar el boton para VOLVER. vista::generarPieza('boton_accion', array('texto' => 'Volver', 'icono' => 'volver.png', 'activo' => true, 'url' => array('a' => 'clientes', 'p' => $pagina))); ?> </div> </td> </tr> </tfoot> </table> </div> <?php modelo::usar('carrito'); $miCarro = sesion::get('carro'); if ($miCarro !== null) { ?> <div class="hoja"> <?php vista::generarParcial('carrito/ver'); ?> </div> <?php } ?>
public function accion_creardemo() { $bien = false; $modelo = new cliente(); //---------- //Simular la creacion de varios clientes... //INSERT INTO `clientes` // (`referencia`, `cifnif`, `nombre`, `apellidos`, `domFiscal`, `domEnvio`, `notas`, `email`, `password`) // VALUES // ('ZA000003', 'asdoiu', 'oiuoiu', 'oiuoiuoiu', 'oiuoiuoiu', '', NULL, 'email', 'clave') for ($i = 1; $i <= 25; $i++) { $modelo->referencia = sprintf('ZA%06d', $i); $modelo->cifnif = sprintf('ID%06d', $i); $modelo->nombre = sprintf('nombre %06d', $i); $modelo->apellidos = sprintf('apellido %06d', $i); $modelo->domFiscal = sprintf('domicilio fiscal %06d', $i); $modelo->domEnvio = null; //sprintf( 'domicilio envio %06d', $i); $modelo->notas = null; //sprintf( 'notas %06d', $i); $modelo->email = sprintf('*****@*****.**', $i); $modelo->password = sprintf('cliente%d', $i); $modelo->guardar(); //crear nueva instancia para que se inserte el siguiente. $modelo = new cliente(); } //for //--echo 'voy a redirigir la pagina...'; flush();//probar a generar contenido HTML antes de redirigir. vista::redirigir(array('clientes', 'admin')); }