From 13db50e271d751f18183cf019f938ffeeb0761cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Wed, 27 Oct 2010 21:00:40 +0200 Subject: [PATCH] Add Expand Group option to web view --- www/User.php | 12 ++++++++++++ www/database.php | 14 ++++++++++++++ www/index.php | 44 +++++++++++++++++++++++++++++++++++++------- 3 files changed, 63 insertions(+), 7 deletions(-) diff --git a/www/User.php b/www/User.php index aee11de..56f9411 100644 --- a/www/User.php +++ b/www/User.php @@ -27,6 +27,18 @@ class User function GetCategory($id) { + if ($id == "") + { + $cat["id"] = ""; + $cat["forecolor"] = "black"; + $cat["backcolor"] = "#3DEB3D"; + $s = "background-color:" . $cat["backcolor"] . ";"; + $s .= "color:" . $cat["forecolor"] . ";"; + $cat["style"] = $s; + + return $cat; + } + foreach($this->categories as $i => $category) if ($category["id"] == "$id") return $category; diff --git a/www/database.php b/www/database.php index 7b94323..77d5c7e 100644 --- a/www/database.php +++ b/www/database.php @@ -173,6 +173,20 @@ function LoadMonth($user, $month, $year) return $db->query($req); } +function MetaPositiveAmount($id) +{ + global $db; + + $req = "SELECT SUM(amount) as amount FROM operation WHERE amount > 0 AND parent='$id'"; + + $result = $db->query($req); + + if ($row = $result->fetchArray()) + return $row["amount"]; + else + return 0.0; +} + function GetAllOperations($user, &$last_year, &$last_month) { $res; diff --git a/www/index.php b/www/index.php index 73781a4..16f227f 100644 --- a/www/index.php +++ b/www/index.php @@ -86,6 +86,11 @@ else $_SESSION["cur_month"] = $_POST["month"]; } +if (isset($_POST["expand"])) + $_SESSION["expand"] = "1"; +else + $_SESSION["expand"] = "0"; + $operations = LoadMonth($_SESSION["user"], $_SESSION["cur_month"], $_SESSION["cur_year"]); $cur_date = mktime(0, 0, 0, date("m") , date("d"), date("Y")); $total_incomes = $total_outcomes = $cur_incomes = $cur_outcomes = 0; @@ -162,6 +167,7 @@ function changeMonths() } ?> + >Expand groups Disconnect @@ -175,7 +181,10 @@ function changeMonths() { $val = GetAccountAmount($account["id"], $_SESSION["cur_month"], $_SESSION["cur_year"]); echo ""; - echo "" . $account["number"] . ""; + if ($account["shared"] == "1") + echo "" . $account["number"] . "*"; + else + echo "" . $account["number"] . ""; echo "" . $account["name"] . ""; echo "" . number_format($val, 2) . ""; if (($accounts[$account["id"]]["cur"] + $val) < 0) @@ -197,8 +206,17 @@ function changeMonths() $operations = LoadMonth($_SESSION["user"], $_SESSION["cur_month"], $_SESSION["cur_year"]); while($operation = $operations->fetchArray()) { - if ($operation["meta"] == "1") continue; - + if ($_SESSION["expand"] == "1") + { + if ($operation["meta"] == "1") + continue; + } + else + { + if ($operation["parent"] != "") + continue; + } + $category = $_SESSION["user"]->GetCategory($operation["category"]); if ($operation["fix_cost"] == "0") { @@ -213,11 +231,23 @@ while($operation = $operations->fetchArray()) } echo "" . $operation["description"] . ""; echo "" . date("d/m/Y", mktime(0, 0, 0, $operation["month"]+1, $operation["day"]+1, $operation["year"])) . ""; - if ($operation["amount"] < 0) - echo "" . number_format(-$operation["amount"], 2) . ""; + if ($operation["meta"] == "1" && $operation["amount"] == 0) + { + $amount = MetaPositiveAmount($operation["id"]); + echo "" . number_format($amount, 2) . ""; + echo "" . number_format($amount, 2) . ""; + } else - echo "" . number_format($operation["amount"], 2) . ""; - echo "" . $category["name"] . ""; + { + if ($operation["amount"] < 0) + echo "" . number_format(-$operation["amount"], 2) . ""; + else + echo "" . number_format($operation["amount"], 2) . ""; + } + if ($operation["meta"] != "1") + echo "" . $category["name"] . ""; + else + echo ""; echo "" . $_SESSION["user"]->GetAccountName($operation["account"]) . ""; echo "\n"; }