Exemple #1
0
            $last_running[$row['userid']][$row['group_id']] = $paid['users'][$row['userid']]['groups'][$row['group_id']][$row['exid']]['running_total'];
        }
        $paid['total'] = number_format($total, DECIMALS, DSEP, TSEP);
    }
    // array structure: ['users'][$userid]['groups'][$groupid][$expenseid]['amount|expense_date|description']
    return $paid;
}
$a = 1;
//$dump = new array_dump();
$a = 1;
$groupexp = get_groupexpenses($groupid);
// reverse array so earliest expense first
$groupexp = array_reverse($groupexp);
$memberlist = get_groupmembers($groupid);
$groupmemberids = get_groupmember_ids($memberlist);
$user_expenses = get_user_expenses_test($groupmemberids);
$user_paid_expenses = get_user_paid_expenses_test($groupmemberids);
$size = count($memberlist);
$expcount = count($groupexp);
foreach ($groupexp as $key => $value) {
    foreach ($groupmemberids as $keyy => $memberid) {
        if ($balance_array[$lastkey]['balance_member'][$memberid]) {
            // previous key exists for this member, use that balance
            $balance = $balance_array[$lastkey]['balance_member'][$memberid];
        } else {
            // no key for this member, balance = 0;
            $balance = 0;
        }
        // get last key balance, substract current expense and add paid
        $balance_array[$key]['balance_member'][$memberid] = round($balance - $user_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['per_person'] + $user_paid_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['amount'], 2);
        $balance_array[$key]['expense_id'] = $value['expense_id'];
function get_graph_balance_array($groupid, $memberlist)
{
    $groupexp = get_groupexpenses($groupid, false, false, false, true);
    // reverse array so earliest expense first
    $groupexp = array_reverse($groupexp);
    $groupmemberids = get_groupmember_ids($memberlist);
    $user_expenses = get_user_expenses_test($groupmemberids);
    $user_paid_expenses = get_user_paid_expenses_test($groupmemberids);
    $size = count($memberlist);
    $expcount = count($groupexp);
    $balance_array = array();
    foreach ($groupexp as $key => $value) {
        $a = 1;
        foreach ($groupmemberids as $keyy => $memberid) {
            if (isset($lastkey) && $balance_array[$lastkey]['balance_member'][$memberid]) {
                // previous key exists for this member, use that balance
                $balance = $balance_array[$lastkey]['balance_member'][$memberid];
            } else {
                // no key for this member, balance = 0;
                $balance = 0;
            }
            // get last key balance, substract current expense and add paid
            $_curexp = isset($user_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['per_person']) ? $user_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['per_person'] : 0;
            $_curpay = isset($user_paid_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['amount']) ? $user_paid_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['amount'] : 0;
            $balance_array[$key]['balance_member'][$memberid] = round($balance - $_curexp + $_curpay, 2);
            $balance_array[$key]['expense_id'] = $value['expense_id'];
            $balance_array[$key]['date_time'] = $value['date'];
            $balance_array[$key]['date'] = substr($value['date'], 0, 10);
            $balance_array[$key]['isodate'] = dutchDate2iso($balance_array[$key]['date']);
            //      if ($memberid == 3) {
            //        //echo "Key: $key, expense_id: " . $value['expense_id'] . "Balance: " . $balance_array[$key]['balance_member'][$memberid] . " ==> $balance - " .
            //        $user_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['per_person'] . " + " . $user_paid_expenses['users'][$memberid]['groups'][$groupid][$value['expense_id']]['amount'] . "<br>";
            //      }
        }
        $lastkey = $key;
    }
    return $balance_array;
}