/
DebtStore.class.php
109 lines (86 loc) · 2.3 KB
/
DebtStore.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
include_once("Store.class.php");
include_once("debt.class.php");
#doc
# classname: DebtStore
# scope: PUBLIC
#
#/doc
class DebtStore extends Store
{
# Constructor
function __construct ($db)
{
parent::__construct($db);
}
###
public function getDebts()
{
$debts = array();
$this->dbQuery("SELECT * FROM debt ORDER BY idDebt");
while ($r = $this->getResult())
{
$userStore = new UserStore($this->db);
$user1 = $userStore->getUserFromID($r['idUser1']);
$user2 = $userStore->getUserFromID($r['idUser2']);
$debt = new Debt($r['idDebt'], $user1, $user2, $r['amount']);
$debt->setDescription($r['description']);
$debt->setPayed($r['payed']);
array_push($debts, $debt);
}
return $debts;
}
private function debtExists($debts, $idUser1, $idUser2)
{
$i = 0;
while ($debts[$i] != null)
{
$debt = $debts[$i];
if ($debt->getUser1()->getID() == $idUser1 &&
$debt->getUser2()->getID() == $idUser2)
return $i;
$i++;
}
return -1;
}
public function getTotalDebtsForUser($user)
{
$debts = array();
$this->dbQuery("SELECT * FROM debt WHERE idUser1='".$user->getID()."' AND payed='0' ORDER BY idUser2");
while ($r = $this->getResult())
{
$i = $this->debtExists($debts, $r['idUser1'], $r['idUser2']);
if ($i > -1)
{
$debt = $debts[$i];
$amount = $debt->getAmount();
$amount += $r['amount'];
$debt->setAmount($amount);
}
else
{
$userStore = new UserStore($this->db);
$user1 = $userStore->getUserFromID($r['idUser1']);
$user2 = $userStore->getUserFromID($r['idUser2']);
$debt = new Debt($r['idDebt'], $user1, $user2, $r['amount']);
$debt->setDescription("Total to pay");
array_push($debts, $debt);
}
}
return $debts;
}
public function addDebt($user1, $user2, $amount, $description)
{
$userStore = new UserStore($this->db);
$idUser1 = $userStore->getIDFromName($user1);
$idUser2 = $userStore->getIDFromName($user2);
$this->dbQuery("INSERT INTO `tareas`.`debt` (`idDebt`, `idUser1`, `idUser2`, `amount`, `description`) VALUES (NULL, '".$idUser1."', '".$idUser2."', '".$amount."', '".$description."')");
return $this->getInsertID();
}
public function debtPayed($id)
{
$this->dbQuery("UPDATE debt SET `payed`='1' WHERE `idDebt`='".$id."'");
}
}
###
?>