/** * Generate income fields and populate it with existing data */ function getIncomeEntries() { global $incomeTypes; global $incomes; global $incomeEntries; global $inputErrors; $result = ""; $incomeIndex = 0; $numEntries = $inputErrors ? count($incomeEntries) : count($incomes); do { $result .= '<div class="incomeEntry"> '; $result .= '<label for="incomeDesc' . $incomeIndex . '" class="altDescLabel">Description: </label>'; $result .= '<input type="text" id="incomeDesc' . $incomeIndex . '" name="incomeDesc' . $incomeIndex . '" class="desc'; if ($inputErrors && isset($incomeEntries[$incomeIndex])) { if ($incomeEntries[$incomeIndex]["descError"]) { $result .= ' descError'; } } $result .= '" placeholder="Description" maxlength="' . Income::MAX_DESC_LENGTH . '"'; if ($inputErrors && isset($incomeEntries[$incomeIndex])) { $result .= ' value="'; $result .= htmlentities($incomeEntries[$incomeIndex]["desc"]); $result .= '"'; } else { if (isset($incomes[$incomeIndex])) { $result .= ' value="'; $result .= htmlentities($incomes[$incomeIndex]->description); $result .= '"'; } } $result .= '> '; $result .= '<label for="incomeType' . $incomeIndex . '" class="altTypeLabel">Category: </label>'; $result .= '<select id="incomeType' . $incomeIndex . '" name="incomeType' . $incomeIndex . '" class="type'; if ($inputErrors && isset($incomeEntries[$incomeIndex])) { if ($incomeEntries[$incomeIndex]["typeError"]) { $result .= ' typeError'; } } $result .= '"> '; foreach ($incomeTypes as $incomeType) { $result .= '<option value="' . $incomeType->category . '"'; if ($inputErrors && isset($incomeEntries[$incomeIndex])) { if ($incomeEntries[$incomeIndex]["type"] === $incomeType->category) { $result .= "selected"; } } else { if (isset($incomes[$incomeIndex])) { if ($incomes[$incomeIndex]->typeID === $incomeType->id) { $result .= "selected"; } } } $result .= '>'; $result .= $incomeType->category; $result .= '</option> '; } $result .= '</select> '; $result .= '<label for="incomeAmount' . $incomeIndex . '" class="altAmountLabel">Amount: </label>'; $result .= '<input type="text" maxlength="20" id="incomeAmount' . $incomeIndex . '" name="incomeAmount' . $incomeIndex . '" class="amount'; if ($inputErrors && isset($incomeEntries[$incomeIndex])) { if ($incomeEntries[$incomeIndex]["amountError"]) { $result .= ' amountError'; } } $result .= '" placeholder="Amount"'; if ($inputErrors && isset($incomeEntries[$incomeIndex])) { $result .= ' value="'; $result .= htmlentities($incomeEntries[$incomeIndex]["amount"]); $result .= '"'; } else { if (isset($incomes[$incomeIndex])) { $result .= ' value="'; $result .= htmlentities(Income::formatDisplayAmount($incomes[$incomeIndex]->amount)); $result .= '"'; } } $result .= '> '; $result .= '<label class="removeLabel">Remove: </label>'; $result .= '<button type="button" id="deleteIncomeButton' . $incomeIndex . '" name="deleteIncomeButton' . $incomeIndex . '" class="deleteButton" title="Delete"> '; $result .= '✖'; $result .= '</button> '; $result .= '<br> '; $result .= '</div> '; $incomeIndex++; } while ($incomeIndex < $numEntries); return $result; }
<script type="text/javascript"> var totalIncome = <?php echo htmlentities($totalIncome); ?> ; var totalExpenses = <?php echo htmlentities($totalExpenses); ?> ; var totalIncomeDisplayString = "<?php echo htmlentities(Income::formatDisplayAmount($totalIncome)); ?> "; var totalExpensesDisplayString = "<?php echo htmlentities(Expense::formatDisplayAmount($totalExpenses)); ?> "; var totalTitle = "Income/Expenses"; var incomeTitle = "Income"; var expensesTitle = "Expenses"; var totalChartArray = [<?php echo '["Type", "Amount"], ["Income", totalIncome], ["Expenses", totalExpenses]'; ?> ]; var incomeChartArray = [["Category", "Amount"], <?php foreach ($incomeTypeAmounts as $index => $incomeTypeAmount) { echo "['" . htmlentities($incomeTypeAmount["type"]) . "', " . htmlentities($incomeTypeAmount["amount"]) . "]"; if ($index !== count($incomeTypeAmounts) - 1) { echo ", ";
<h3>Income</h3> <table id="incomeSummaryTable"> <tr> <th>Category</th> <th>Total</th> </tr> <?php foreach ($incomeTypeAmounts as $incomeTypeAmount) { ?> <tr> <td><?php echo htmlentities($incomeTypeAmount["type"]); ?> </td> <td><?php echo htmlentities(Income::formatDisplayAmount($incomeTypeAmount["amount"])); ?> </td> </tr> <?php } ?> </table> <div id="incomeChart"></div> <h3>Expenses</h3> <table id="expensesSummaryTable"> <tr> <th>Category</th> <th>Total</th> </tr>
<th>Expenses</th> <th>Net</th> </tr> <?php for ($ii = 1; $ii <= $daysInSelectedMonth; $ii++) { ?> <tr> <td><a href="<?php echo BASE_URL . "main/?month={$selectedMonth}&day={$ii}&year={$selectedYear}"; ?> "><?php echo $selectedMonthName . " " . $ii; ?> </a></td> <td><?php echo htmlentities(Income::formatDisplayAmount($incomeEachDay[$ii - 1])); ?> </td> <td><?php echo htmlentities(Expense::formatDisplayAmount($expenseEachDay[$ii - 1])); ?> </td> <td><?php echo htmlentities(IncomeExpenseObject::formatDisplayAmount($totalEachDay[$ii - 1])); ?> </td> </tr> <?php } ?> </table>
<th>Expenses</th> <th>Net</th> </tr> <?php for ($ii = $firstYear; $ii <= $lastYear; $ii++) { ?> <tr> <td><a href="<?php echo BASE_URL . "main/?view=yearly&year={$ii}"; ?> "><?php echo $ii; ?> </a></td> <td><?php echo htmlentities(Income::formatDisplayAmount($incomeEachYear[$ii])); ?> </td> <td><?php echo htmlentities(Expense::formatDisplayAmount($expenseEachYear[$ii])); ?> </td> <td><?php echo htmlentities(IncomeExpenseObject::formatDisplayAmount($totalEachYear[$ii])); ?> </td> </tr> <?php } ?> </table>