<?php
class Conexion // se declara una clase para hacer la conexion con la base de datos
{
var $con;
function Conexion()
{
// se definen los datos del servidor de base de datos
$conection['server']=""; //host
$conection['user']=""; // usuario
$conection['pass']=""; //password
$conection['base']=""; //base de datos
// crea la conexion pasandole el servidor , usuario y clave
$conect= mysql_connect($conection['server'],$conection['user'],$conection['pass']);
if ($conect) // si la conexion fue exitosa , selecciona la base
{
mysql_select_db($conection['base']);
$this->con=$conect;
}
}
function getConexion() // devuelve la conexion
{
return $this->con;
}
function Close() // cierra la conexion
{
mysql_close($this->con);
}
}
class sQuery // se declara una clase para poder ejecutar las consultas, esta clase llama a la clase anterior
{
var $coneccion;
var $consulta;
var $resultados;
function sQuery() // constructor, solo crea una conexion usando la clase "Conexion"
{
$this->coneccion= new Conexion();
}
function executeQuery($cons) // metodo que ejecuta una consulta y la guarda en el atributo $pconsulta
{
$this->consulta= mysql_query($cons,$this->coneccion->getConexion());
return $this->consulta;
}
function getResults() // retorna la consulta en forma de result.
{return $this->consulta;}
function Close() // cierra la conexion
{$this->coneccion->Close();}
function Clean() // libera la consulta
{mysql_free_result($this->consulta);}
function getResultados() // debuelve la cantidad de registros encontrados
{return mysql_affected_rows($this->coneccion->getConexion()) ;}
function getAffect() // devuelve las cantidad de filas afectadas
{return mysql_affected_rows($this->coneccion->getConexion()) ;}
function fetchAll()
{
$rows=array();
if ($this->consulta)
{
while($row= mysql_fetch_array($this->consulta))
{
$rows[]=$row;
}
}
return $rows;
}
}
class Cliente
{
var $Tienda; //se declaran los atributos de la clase, que son los atributos del cliente
var $Codigo;
var $Unidades;
Var $Descripcion;
Var $id;
Var $Estado;
Var $Comentarios;
public static function getClientes()
{
$obj_cliente=new sQuery();
$obj_cliente->executeQuery("select * from clientes2 order by id"); // ejecuta la consulta para traer al cliente
return $obj_cliente->fetchAll(); // retorna todos los clientes
}
function Cliente($nro=0) // declara el constructor, si trae el numero de cliente lo busca , si no, trae todos los clientes
{
if ($nro!=0)
{
$obj_cliente=new sQuery();
$result=$obj_cliente->executeQuery("select * from clientes2 where id = $nro"); // ejecuta la consulta para traer al cliente
$row=mysql_fetch_array($result);
$this->id=$row['id'];
$this->Tienda=$row['Tienda'];
$this->Codigo=$row['Codigo'];
$this->Unidades=$row['Unidades'];
$this->Descripcion=$row['Descripcion'];
$this->Estado=$row['Estado'];
$this->Comentarios=$row['Comentarios'];
}
}
// metodos que devuelven valores
function getID()
{ return $this->id;}
function getTienda()
{ return $this->Tienda;}
function getCodigo()
{ return $this->Codigo;}
function getUnidades()
{ return $this->Unidades;}
function getDescripcion()
{ return $this->Descripcion;}
function getEstado()
{ return $this->Estado;}
function getComentarios()
{ return $this->Comentarios;}
// metodos que setean los valores
function setTienda($val)
{ $this->Tienda=$val;}
function setCodigo($val)
{ $this->Codigo=$val;}
function setUnidades($val)
{ $this->Unidades=$val;}
function setDescripcion($val)
{ $this->Descripcion=$val;}
function setEstado($val)
{ $this->Estado=$val;}
function setComentarios($val)
{ $this->Comentarios=$val;}
function save()
{
if($this->id)
{$this->updateCliente();}
else
{$this->insertCliente();}
}
private function updateCliente() // actualiza el cliente cargado en los atributos
{
$obj_cliente=new sQuery();
$query="update clientes2 set Tienda='$this->Tienda', Codigo='$this->Codigo', Unidades='$this->Unidades',Descripcion='$this->Descripcion',Estado='$this->Estado',Comentarios='$this->Comentarios' where id = $this->id";
$obj_cliente->executeQuery($query); // ejecuta la consulta para traer al cliente
return $obj_cliente->getAffect(); // retorna todos los registros afectados
}
private function insertCliente() // inserta el cliente cargado en los atributos
{
$obj_cliente=new sQuery();
$query="insert into clientes2( Tienda, Codigo, Unidades, Descripcion, Estado, Comentarios)values('$this->Tienda', '$this->Codigo','$this->Unidades','$this->Descripcion','$this->Estado','$this->Comentarios')";
$obj_cliente->executeQuery($query); // ejecuta la consulta para traer al cliente
return $obj_cliente->getAffect(); // retorna todos los registros afectados
}
function delete() // elimina el cliente aqui esta el problema
{
$obj_cliente=new sQuery();
$query="INSERT INTO clientes SELECT * from clientes2 where id=$this->id";
$obj_cliente->executeQuery($query); // ejecuta la consulta para borrar el cliente
$rs = mysql_query("SELECT Tienda from clientes2 where id=$this->id");
while ($registro = mysql_fetch_array($rs))
{
$destinatario= $registro['Tienda'].'@gmail.com';
}
$asunto = "Han realizado nuevas modificaciones";
$cuerpo = '
<html>
<head>
<title>Nueva modificación</title>
</head>
<body>
<h1>Atención</h1>
<p>
<b>Se han introducido nuevos productos en la pagina
</p>
<p>
<b>http://xxxxxxx.esy.es/Admin/index.php
</p>
</body>
</html>
';
//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//dirección del remitente
$headers .= "From: Gestion <xxxxxxx@gmail.com>\r\n";
//dirección de respuesta, si queremos que sea distinta que la del remitente
//ruta del mensaje desde origen a destino
$headers .= "Return-path: holahola@desarrolloweb.com\r\n";
//direcciones que recibián copia
$headers .= "Cc: xxxxxxxxxx@gmail.com\r\n";
//direcciones que recibirán copia oculta
$headers .= "Bcc: pepe@pepe.com,juan@juan.com\r\n";
mail($destinatario,$asunto,$cuerpo,$headers) ;
$obj_cliente=new sQuery();
$query="delete from clientes2 where id=$this->id";
$obj_cliente->executeQuery($query); // ejecuta la consulta para borrar el cliente
return $obj_cliente->getAffect(); // retorna todos los registros afectados
}
}
function cleanString($string)
{
$string=trim($string);
$string=mysql_escape_string($string);
$string=htmlspecialchars($string);
return $string;
}