Пример #1
0
function get_group_balance_list($groupdetails)
{
    $memberlist = get_groupmembers($groupdetails['group_id']);
    $groupmemberids = get_groupmember_ids($memberlist);
    $user_expenses = get_user_expenses($groupmemberids);
    $user_paid_expenses = get_user_paid_expenses($groupmemberids);
    $size = count($memberlist);
    for ($i = 0; $i < $size; $i++) {
        if (!empty($memberlist[$i]['username'])) {
            $uname = " (" . $memberlist[$i]['username'] . ")";
        } else {
            $uname = "";
        }
        $uexpense = $user_expenses['users'][$memberlist[$i]['user_id']]['groups'][$groupdetails['group_id']]['group_total'];
        $upaid = $user_paid_expenses['users'][$memberlist[$i]['user_id']]['groups'][$groupdetails['group_id']]['group_total'];
        $listarray[$memberlist[$i]['user_id']]['link'] = "http://" . $_SERVER['HTTP_HOST'] . DIR . "profile.php?uid=" . $memberlist[$i]['user_id'];
        //$listarray[$i]['name'] = $memberlist[$i]['realname'] . $uname;
        //$listarray[$memberlist[$i]['user_id']]['name'] = format_name($user,$memberlist[$i]['username'],$memberlist[$i]['realname']);
        $listarray[$memberlist[$i]['user_id']]['balance'] = number_format($upaid - $uexpense, DECIMALS, DSEP, TSEP);
        $listarray[$memberlist[$i]['user_id']]['unformatted_balance'] = $upaid - $uexpense;
        $listarray[$memberlist[$i]['user_id']]['user_id'] = $memberlist[$i]['user_id'];
    }
    return $listarray;
}
Пример #2
0
            $paid['users'][$row['userid']]['groups'][$row['group_id']][$row['exid']]['running_total'] += $row['amount'] + $last_running[$row['userid']][$row['group_id']];
            $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);
Пример #3
0
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;
}