From a5531465f66ccc745086e757580c319861067a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Tue, 22 May 2012 20:29:08 +0200 Subject: [PATCH] Update web view Database.php : * Change account order * Forgot $db variable in LoadCategory User.php : * Add default category for index 0 index.php : * Initialize $categories and $accounts arrays * Typo error for hidden accounts * Forgive credit on blocked account * Forgot to divide amounts by 100 * Forgot to initialize tr_class variable in some case --- ressources/icons/search.png | Bin 17629 -> 17768 bytes www/User.php | 9 +++--- www/database.php | 6 ++-- www/index.php | 53 ++++++++++++++++++++++++------------ 4 files changed, 44 insertions(+), 24 deletions(-) diff --git a/ressources/icons/search.png b/ressources/icons/search.png index 04d0b5e1612c519819f704ec50abf955cc1c1760..f98759e896cb2fa7508b4cab1b35a71cf1de42f3 100644 GIT binary patch literal 17768 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 z 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 Ar2qf` diff --git a/www/User.php b/www/User.php index 41895e6..32c8c63 100755 --- a/www/User.php +++ b/www/User.php @@ -27,14 +27,13 @@ class User function GetCategory($id) { - if ($id == "") + if ($id == "" || $id == "0") { - $cat["id"] = ""; + $cat["id"] = "0"; $cat["forecolor"] = "black"; $cat["backcolor"] = "#3DEB3D"; - $s = "background-color:" . $cat["backcolor"] . ";"; - $s .= "color:" . $cat["forecolor"] . ";"; - $cat["style"] = $s; + $cat["font"] = ""; + ExtractStyle($cat); return $cat; } diff --git a/www/database.php b/www/database.php index bf2c361..8ab6e65 100755 --- a/www/database.php +++ b/www/database.php @@ -88,7 +88,7 @@ function LoadUser($name) $user->id = $row["id"]; - $result = $db->query("SELECT * FROM account WHERE user='$user->id' ORDER BY default_account DESC, virtual, blocked, name ASC"); + $result = $db->query("SELECT * FROM account WHERE user='$user->id' ORDER BY default_account DESC, hidden, blocked, virtual, name ASC"); $user->accounts = array(); @@ -96,7 +96,7 @@ function LoadUser($name) array_push($user->accounts, $row); // Shared accounts - $result = $db->query("SELECT * FROM account WHERE id IN (SELECT account FROM shared_account WHERE user='$user->id') ORDER BY name, blocked, virtual ASC"); + $result = $db->query("SELECT * FROM account WHERE id IN (SELECT account FROM shared_account WHERE user='$user->id') ORDER BY default_account DESC, hidden, blocked, virtual, name ASC"); while ($row = $result->fetchArray()) array_push($user->accounts, $row); @@ -125,6 +125,8 @@ function LoadUser($name) function LoadCategory(&$user, $id) { + global $db; + $result = $db->query("SELECT * FROM category WHERE id='$id'"); if ($row = $result->fetchArray()) diff --git a/www/index.php b/www/index.php index 2d4afe0..cd7e7b6 100755 --- a/www/index.php +++ b/www/index.php @@ -90,6 +90,18 @@ $operations = LoadMonth($_SESSION["user"], $_SESSION["cur_month"], $_SESSION["cu $cur_date = mktime(0, 0, 0, date("m") , date("d"), date("Y")); $total_incomes = $total_outcomes = $cur_incomes = $cur_outcomes = 0; $categories = array(); +$accounts = array(); + +// Init arrays +foreach($_SESSION["user"]->accounts as $i => $account) +{ + $accounts[$account["id"]]["total"] = 0; + $accounts[$account["id"]]["cur"] = 0; +} +foreach($_SESSION["user"]->categories as $i => $category) +{ + $categories[$category["id"]] = 0; +} // Statistics foreach($operations as $i => $operation) @@ -104,7 +116,12 @@ foreach($operations as $i => $operation) if ($date <= $cur_date) $accounts[$operation["account"]]["cur"] += $operation["amount"]; - if (!($operation["transfert"] == "" || ($operation["amount"] > 0 && $_SESSION["user"]->IsAccountBlocked($operation["account"])))) + // Forgive transfert on non blocked accounts + if ($operation["transfert"] != "" && !$_SESSION["user"]->IsAccountBlocked($operation["account"])) + continue; + + // Forgive credit on blocked account + if ($operation["transfert"] == "" && $_SESSION["user"]->IsAccountBlocked($operation["account"])) continue; @@ -206,7 +223,7 @@ function toggleOperations(parent, operations) accounts as $i => $account) { - if ($accounts["hidden"] == "1") continue; + if ($account["hidden"] == "1") continue; $val = GetAccountAmount($account["id"], $_SESSION["cur_month"], $_SESSION["cur_year"]); echo ""; if ($account["shared"] == "1") @@ -214,12 +231,12 @@ function toggleOperations(parent, operations) else echo "" . $account["number"] . ""; echo "" . $account["name"] . ""; - echo "" . number_format($val, 2) . ""; + echo "" . number_format($val/100, 2) . ""; if (($accounts[$account["id"]]["cur"] + $val) < 0) - echo "" . number_format($accounts[$account["id"]]["cur"] + $val, 2) . "" ; + echo "" . number_format(($accounts[$account["id"]]["cur"] + $val)/100, 2) . "" ; else - echo "" . number_format($accounts[$account["id"]]["cur"] + $val, 2) . "" ; - echo "" . number_format($accounts[$account["id"]]["total"] + $val, 2) . "" ; + echo "" . number_format(($accounts[$account["id"]]["cur"] + $val)/100, 2) . "" ; + echo "" . number_format(($accounts[$account["id"]]["total"] + $val)/100, 2) . "" ; echo "\n"; } ?> @@ -247,6 +264,8 @@ foreach($operations as $i => $operation) else $tr_class = ""; } + else + $tr_class = ""; if ($operation["meta"] == "1") echo "" . $operation["description"] . ""; else @@ -259,16 +278,16 @@ foreach($operations as $i => $operation) echo "" . date("d/m/Y", mktime(0, 0, 0, $operation["month"]+1, $operation["day"]+1, $operation["year"])) . ""; if ($operation["meta"] == "1" && $operation["amount"] == 0) { - $amount = MetaPositiveAmount($operation["id"]); + $amount = MetaPositiveAmount($operation["id"])/100; echo "" . number_format($amount, 2) . ""; echo "" . number_format($amount, 2) . ""; } else { if ($operation["amount"] < 0) - echo "" . number_format(-$operation["amount"], 2) . ""; + echo "" . number_format(-$operation["amount"]/100, 2) . ""; else - echo "" . number_format($operation["amount"], 2) . ""; + echo "" . number_format($operation["amount"]/100, 2) . ""; } if ($operation["meta"] != "1" && $category["id"] > 1) echo "" . $category["name"] . ""; @@ -284,16 +303,16 @@ foreach($operations as $i => $operation)
- - - - + + + + " . number_format($total_incomes - $total_outcomes, 2) . ""; + echo ""; else - echo ""; + echo ""; ?> @@ -313,7 +332,7 @@ foreach($operations as $i => $operation) $percent = ($percent < 10) ? "0$percent" : "$percent"; } - echo "\n"; + echo "\n"; } if ($total_outcomes == 0) @@ -325,7 +344,7 @@ foreach($operations as $i => $operation) $percent = ($percent < 10) ? "0$percent" : "$percent"; } - echo "\n"; + echo "\n"; } ?>
Cur credit
Cur debit
Total credit
Total debit
Cur credit
Cur debit
Total credit
Total debit
Remains " . number_format(($total_incomes - $total_outcomes)/100, 2) . " " . number_format($total_incomes - $total_outcomes, 2) . " " . number_format(($total_incomes - $total_outcomes)/100, 2) . "
_
Non fix" . number_format($value, 2) . " ($percent %)
Non fix" . number_format($value/100, 2) . " ($percent %)
" . $category["name"]. "" . number_format($categories[$category["id"]], 2) . " ($percent %)
" . $category["name"]. "" . number_format($categories[$category["id"]]/100, 2) . " ($percent %)