From: Joey Schulze Date: Sat, 5 Apr 2014 18:56:51 +0000 (+0000) Subject: Add classes for future processing X-Git-Url: https://git.infodrom.org/?p=infodrom.org%2Fservice.infodrom.org;a=commitdiff_plain;h=9b45fc09c13ce9701aa6093ce4176f21f52d07fe Add classes for future processing --- diff --git a/class/accounting.class.php b/class/accounting.class.php index ab2628b..b127b78 100644 --- a/class/accounting.class.php +++ b/class/accounting.class.php @@ -1,9 +1,10 @@ valuecolumn = 'value_eur'; parent::__construct('account', $id); } diff --git a/class/accountingdm.class.php b/class/accountingdm.class.php new file mode 100644 index 0000000..f420fd7 --- /dev/null +++ b/class/accountingdm.class.php @@ -0,0 +1,13 @@ +valuecolumn = 'value_dm'; + parent::__construct('account_dm', $id); + } + +} + +?> diff --git a/class/accountname.class.php b/class/accountname.class.php index 9f95ec2..8b4abd5 100644 --- a/class/accountname.class.php +++ b/class/accountname.class.php @@ -10,6 +10,31 @@ class AccountName extends DatabaseTable { parent::__construct('account_names', $id, 'blz_kto'); } + public function getAccounts($currency, $display=false) + { + if ($currency == "eur") + $table = "account"; + else + $table = "account_dm"; + + $sql = sprintf("SELECT DISTINCT %s.blz_kto,name FROM %s JOIN account_names using(blz_kto)%s ORDER BY name", + $table, $table, + $display === false ? '' : ' WHERE display = '.$display); + return $this->db->fetchObjectList($sql); + } + + public function name() + { + if (!$this->data) + return 'Unbekannt'; + + $both = explode (":", $this->data->blz_kto); + if (count($both) > 1) + return sprintf ("%s (BLZ %s, Konto %s)", $this->data->name, $both[0], $both[1]); + else + return sprintf ("%s (%s)", $this->data->name, $this->data->blz_kto); + } + } ?> diff --git a/class/accounttable.class.php b/class/accounttable.class.php new file mode 100644 index 0000000..fb112c7 --- /dev/null +++ b/class/accounttable.class.php @@ -0,0 +1,52 @@ +valuecolumn, + $this->table, + $this->db->quote($blzkto)); + return $this->db->fetchValue($sql); + } + + public function distinctYears($blzkto) + { + $sql = sprintf("SELECT DISTINCT substr(datum::text,0,5) AS year FROM %s ". + "WHERE blz_kto = %s ORDER BY year DESC", + $this->table, $this->db->quote($blzkto)); + return $this->db->fetchObjectList($sql); + } + + public function distinctCategories($blzkto) + { + $sql = sprintf("SELECT DISTINCT category FROM %s WHERE blz_kto = %s ORDER BY category", + $this->table, $this->db->quote($blzkto)); + return $this->db->fetchObjectList($sql); + } + + public function distinctFromTo($blzkto, $period=false) + { + $sql = sprintf("SELECT DISTINCT from_to FROM %s WHERE blz_kto = %s%s ORDER BY from_to", + $this->table, $this->db->quote($blzkto), + $period === false ? '' : ' AND ' . $period); + return $this->db->fetchObjectList($sql); + } + + public function distinctStatements($blzkto) + { + $sql = sprintf("SELECT DISTINCT statement FROM %s WHERE blz_kto = %s ORDER BY statement DESC", + $this->table, $this->db->quote($blzkto)); + return $this->db->fetchObjectList($sql); + } + +} + +?>