Initial release. Usable.
<?php
include("strings.inc");
class ingres
{
var $dia;
var $mes;
var $any;
var $hora;
var $minut;
var $modificat; // Timestamp
var $rao;
var $butxaca;
var $tipus;
var $diners;
var $comentari;
function data()
{
return mktime($this->hora, $this->minut, 0, $this->mes, $this->dia,
$this->any);
}
function setData($data)
{
$this->dia = date('d',$data);
$this->mes = date('m',$data);
$this->any = date('Y',$data);
$this->hora = date('H',$data);
$this->minut = date('i',$data);
}
function DBAfegir($connexio)
{
$query = "INSERT INTO ingressos
(data,data_modif,rao,quantitat,
butxaca,comentari)
VALUES(";
$query .= "FROM_UNIXTIME(" . mktime($this->hora,
$this->minut,
0,
$this->mes,
$this->dia,
$this->any) . "), ";
$query .= "FROM_UNIXTIME(". time() . "), ";
$query .= "'" . strtosql( $this->rao) . "', ";
if($this->tipus == "ingres")
$query .= $this->diners . ", ";
else
$query .= "-". $this->diners . ", ";
$query .= $this->butxaca . ", ";
$query .= "'" . strtosql( $this->comentari) . "'); ";
$resultat = mysql_query($query, $connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1;
}
return 0;
}
function DBModificar($connexio, $data_vella)
{
$query = "UPDATE ingressos SET ";
$query .= "data=FROM_UNIXTIME(" . $this->data() . "), ";
$query .= "data_modif=FROM_UNIXTIME(". time() . "), ";
$query .= "rao='" . strtosql( $this->rao) . "', ";
$query .= "quantitat=";
if($this->tipus == "ingres")
$query .= $this->diners . ", ";
else
$query .= "-". $this->diners . ", ";
$query .= "butxaca=" . $this->butxaca . ", ";
$query .= "comentari='" . strtosql( $this->comentari) . "' ";
$query .= "WHERE data=FROM_UNIXTIME(" . $data_vella . ");";
$resultat = mysql_query($query, $connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1;
}
return 0;
}
function DBBorrar($connexio)
{
$query = "DELETE FROM ingressos WHERE UNIX_TIMESTAMP(data) = ";
$query .= $this->data() . ";";
$resultat = mysql_query($query,$connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1;
}
return 0;
}
function ingres($connexio=-1, $data=0)
{
// De nul
if ($connexio==-1)
{
$this->dia = date('d');
$this->mes = date('m');
$this->any = date('Y');
$this->hora = date('H');
$this->minut = date('i');
$this->rao = "";
$this->butxaca = -1;
$this->tipus = "despesa";
$this->diners = 0;
$this->comentari = "";
}
else
{
$query = "SELECT UNIX_TIMESTAMP(data),
UNIX_TIMESTAMP(data_modif), rao, butxaca, quantitat,
comentari FROM ingressos WHERE UNIX_TIMESTAMP(data) = ";
$query .= $data . ";";
$resultat = mysql_query($query,$connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1; // Què passa amb un return aquí?
}
// Només hi haurà un resultat
$fila = mysql_fetch_row($resultat);
settype($fila[4], float);
$this->dia = date('d',$fila[0]);
$this->mes = date('m',$fila[0]);
$this->any = date('Y',$fila[0]);
$this->hora = date('H',$fila[0]);
$this->minut = date('i',$fila[0]);
$this->modificat = $fila[1];
$this->rao = $fila[2];
$this->butxaca = $fila[3];
if ($fila[4] > 0)
$this->tipus = "ingres";
else
$this->tipus = "despesa";
$this->diners = abs($fila[4]);
$this->comentari = $fila[5];
}
}
}
class moviment
{
var $dia;
var $mes;
var $any;
var $hora;
var $minut;
var $modificat; // Timestamp
var $rao;
var $butxaca_origen;
var $butxaca_desti;
var $diners;
var $comentari;
function data()
{
return mktime($this->hora, $this->minut, 0, $this->mes, $this->dia,
$this->any);
}
function setData($data)
{
$this->dia = date('d',$data);
$this->mes = date('m',$data);
$this->any = date('Y',$data);
$this->hora = date('H',$data);
$this->minut = date('i',$data);
}
function DBAfegir($connexio)
{
$query = "INSERT INTO moviments
(data,data_modif,rao,quantitat,
butxaca_origen,butxaca_desti,comentari)
VALUES(";
$query .= "FROM_UNIXTIME(" . $this->data() . "), ";
$query .= "FROM_UNIXTIME(". time() . "), ";
$query .= "'" . strtosql( $this->rao) . "', ";
$query .= $this->diners . ", ";
$query .= $this->butxaca_origen . ", ";
$query .= $this->butxaca_desti . ", ";
$query .= "'" . strtosql( $this->comentari) . "'); ";
$resultat = mysql_query($query, $connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1;
}
return 0;
}
function DBBorrar($connexio)
{
$query = "DELETE FROM moviments WHERE UNIX_TIMESTAMP(data) = ";
$query .= mktime($this->hora,
$this->minut,
0,
$this->mes,
$this->dia,
$this->any) . ";";
$resultat = mysql_query($query,$connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1;
}
return 0;
}
function moviment($connexio=-1, $data=0)
{
// De nul
if ($connexio==-1)
{
$this->dia = date('d');
$this->mes = date('m');
$this->any = date('Y');
$this->hora = date('H');
$this->minut = date('i');
$this->rao = "";
$this->butxaca_origen = -1;
$this->butxaca_desti = -1;
$this->diners = 0;
$this->comentari = "";
}
else
{
$query = "SELECT UNIX_TIMESTAMP(data),
UNIX_TIMESTAMP(data_modif), rao, butxaca_origen, butxaca_desti,
quantitat,
comentari FROM moviments WHERE UNIX_TIMESTAMP(data) = ";
$query .= $data . ";";
$resultat = mysql_query($query,$connexio);
if (!$resultat)
{
echo mysql_errno().": ".mysql_error()."<BR>";
return 1; // Què passa amb un return aquí?
}
// Només hi haurà un resultat
$fila = mysql_fetch_row($resultat);
settype($fila[4], float);
$this->dia = date('d',$fila[0]);
$this->mes = date('m',$fila[0]);
$this->any = date('Y',$fila[0]);
$this->hora = date('H',$fila[0]);
$this->minut = date('i',$fila[0]);
$this->modificat = $fila[1];
$this->rao = $fila[2];
$this->butxaca_origen = $fila[3];
$this->butxaca_desti = $fila[4];
$this->diners = abs($fila[5]);
$this->comentari = $fila[6];
}
}
}
?>