require_once BADGER_ROOT . "/includes/fileHeaderFrontEnd.inc.php"; require_once BADGER_ROOT . "/core/widgets/DataGrid.class.php"; require_once BADGER_ROOT . '/modules/account/AccountManager.class.php'; require_once BADGER_ROOT . '/modules/account/accountCommon.php'; if (isset($_GET['accountID'])) { $accountID = getGPC($_GET, 'accountID', 'integer'); } else { throw new badgerException('accountOverview', 'noAccountID', ''); } $am = new AccountManager($badgerDb); $account = $am->getAccountById($accountID); $pageTitle = getBadgerTranslation2('accountOverview', 'pageTitle'); $pageTitle .= ": " . $account->getTitle(); $widgets = new WidgetEngine($tpl); $widgets->addToolTipJS(); $widgets->addCalendarJS(); $widgets->addTwistieSectionJS(); $dataGrid = new DataGrid($tpl, "Account{$accountID}"); $dataGrid->sourceXML = BADGER_ROOT . "/core/XML/getDataGridXML.php?q=Account&qp={$accountID}"; $dataGrid->headerName = array(getBadgerTranslation2('accountOverview', 'colValutaDate'), getBadgerTranslation2('accountOverview', 'colTitle'), getBadgerTranslation2('accountOverview', 'colType'), getBadgerTranslation2('accountOverview', 'colAmount'), getBadgerTranslation2('accountOverview', 'colBalance'), getBadgerTranslation2('accountOverview', 'colCategoryTitle')); $dataGrid->columnOrder = array("valutaDate", "title", "type", "amount", "balance", "concatCategoryTitle"); $dataGrid->height = "350px"; $dataGrid->headerSize = array(90, 350, 39, 80, 120, 200); $dataGrid->cellAlign = array("left", "left", "center", "right", "right", "left"); $dataGrid->deleteRefreshType = "refreshDataGrid"; $dataGrid->deleteAction = "Transaction.php?action=delete&accountID={$accountID}&ID="; $dataGrid->editAction = "Transaction.php?action=edit&accountID={$accountID}&ID="; $dataGrid->newAction = "Transaction.php?action=new&accountID={$accountID}"; $dataGrid->initDataGridJS(); $widgets->addNavigationHead(); echo $tpl->getHeader($pageTitle);
function printFrontendPlanned($AccountID, $plannedTransactionId, $finishedTransactionId = null) { global $pageTitle; global $tpl; global $am; global $redirectPage; $widgets = new WidgetEngine($tpl); $widgets->addToolTipJS(); $widgets->addCalendarJS(); $widgets->addJSValMessages(); $tpl->addJavaScript("js/prototype.js"); $tpl->addJavaScript('js/Transaction.js'); $tpl->addOnLoadEvent("Form.focusFirstElement('mainform')"); $now = new Date(); $categoryExpenseJS = getCategoryExpense(); $categoryExpenseWarning = getBadgerTranslation2('accountTransaction', 'categoryExpenseWarning'); $transactionType = "planned"; if ($plannedTransactionId != "new") { $acc = $am->getAccountById($AccountID); $transaction = $acc->getPlannedTransactionById($plannedTransactionId); $backToIdField = $widgets->createField('backToId', 0, $AccountID, '', false, 'hidden'); if (is_null($transaction->getTransferalTransaction())) { $transferalAmountValue = new Amount($transaction->getAmount()); $transferalAmountValue->mul(-1); $transferalAmountValue = $transferalAmountValue->getFormatted(); } else { if ($transaction->getTransferalSource()) { $transferalAmountValue = $transaction->getTransferalTransaction()->getAmount()->getFormatted(); } else { $transferalAmountValue = $transaction->getAmount()->getFormatted(); $AccountID = $transaction->getTransferalTransaction()->getAccount()->getId(); $plannedTransactionId = $transaction->getTransferalTransaction()->getId(); $ID = $transaction->getTransferalTransaction()->getId(); $transaction = $transaction->getTransferalTransaction(); } } $titleValue = $transaction->getTitle(); $descriptionValue = $transaction->getDescription(); $beginDateValue = is_null($tmp = $transaction->getBeginDate()) ? '' : $tmp->getFormatted(); $endDateValue = is_null($tmp = $transaction->getEndDate()) ? '' : $tmp->getFormatted(); $amountValue = is_null($tmp = $transaction->getAmount()) ? '' : $tmp->getFormatted(); $negativeAmountValue = new Amount($tmp); $negativeAmountValue->mul(-1); $negativeAmountValue = $negativeAmountValue->getFormatted(); $outsideCapitalValue = is_null($tmp = $transaction->getOutsideCapital()) ? '' : $tmp; $transactionPartnerValue = $transaction->getTransactionPartner(); $categoryValue = is_null($tmp = $transaction->getCategory()) ? '' : $tmp->getId(); $repeatUnitValue = $transaction->getRepeatUnit(); $repeatFrequencyValue = $transaction->getRepeatFrequency(); } else { //new: empty values $titleValue = ""; $descriptionValue = ""; $beginDateValue = $now->getFormatted(); $endDateValue = ""; $amountValue = ""; $negativeAmountValue = ''; $outsideCapitalValue = ""; $transactionPartnerValue = ""; $categoryValue = ""; $repeatUnitValue = ""; $repeatFrequencyValue = "1"; $transferalAmountValue = ''; $backToIdField = ''; } $tpl->addHeaderTag("<script type='text/javascript'>var previousAmount = '{$negativeAmountValue}';</script>"); $widgets->addNavigationHead(); echo $tpl->getHeader($pageTitle); echo $widgets->addToolTipLayer(); if ($plannedTransactionId == 'new' || is_null($transaction->getTransferalTransaction())) { $transferalLabel = $widgets->createLabel('transferalEnabled', getBadgerTranslation2('accountTransaction', 'transferalEnabled'), false); $transferalField = $widgets->createField('transferalEnabled', 30, 'on', '', false, 'checkbox', "onclick='toggleTransferal();'"); $transferalFieldStyle = 'display: none;'; $transferalDataStyle = 'style="display: none;"'; $transferalAccountField = $widgets->createSelectField('transferalAccountId', getAccountsSelectArray($AccountID), '', '', false, "style='width: 213px;'"); } else { $transferalLabel = ''; $transferalField = ''; $transferalFieldStyle = ''; $transferalDataStyle = ''; $transferalAccountField = $transaction->getTransferalTransaction()->getAccount()->getTitle(); } $transferalAccountLabel = $widgets->createLabel('transferalAccountId', getBadgerTranslation2('accountTransaction', 'transferalAccount'), false); $transferalAmountLabel = $widgets->createLabel('transferalAmount', getBadgerTranslation2('accountTransaction', 'transferalAmount'), false); $transferalAmountField = $widgets->createField('transferalAmount', 30, $transferalAmountValue, '', true, 'text', " onkeyup='adjustInputNumberClass(this);' onkeydown='adjustInputNumberClass(this);' onkeypress='adjustInputNumberClass(this);' style='width: 30ex;{$transferalFieldStyle}'"); //set vars with values $FormAction = $_SERVER['PHP_SELF']; $backTo = $widgets->createField('backTo', 0, isset($_GET['backTo']) ? getGPC($_GET, 'backTo') : '', null, false, 'hidden'); if ($AccountID == "choose") { $AccountLabel = $widgets->createLabel("hiddenAccID", getBadgerTranslation2('accountTransaction', 'Account'), true); $hiddenAccID = $widgets->createSelectField("hiddenAccID", getAccountsSelectArray(), $AccountID, "", false, "style='width: 31ex;'"); } else { $AccountLabel = ""; $hiddenAccID = $widgets->createField("hiddenAccID", 20, $AccountID, "", false, "hidden"); } $hiddenID = $widgets->createField("hiddenID", 20, $plannedTransactionId, "", false, "hidden"); $hiddenType = $widgets->createField("hiddenType", 20, $transactionType, "", false, "hidden"); //Fields & Labels $titleLabel = $widgets->createLabel("title", getBadgerTranslation2('accountTransaction', 'title'), true); $titleField = $widgets->createField("title", 30, $titleValue, "", true, "text", "style='width: 30ex;'"); $descriptionLabel = $widgets->createLabel("description", getBadgerTranslation2('accountTransaction', 'description'), false); $descriptionField = $widgets->createTextarea("description", $descriptionValue, "", false, "style='width: 30ex; height: 4em;'"); $beginDateLabel = $widgets->createLabel("beginDate", getBadgerTranslation2('accountTransaction', 'beginDate'), true); $beginDateField = $widgets->addDateField("beginDate", $beginDateValue); $endDateLabel = $widgets->createLabel("endDate", getBadgerTranslation2('accountTransaction', 'endDate'), true); $endDateField = $widgets->addDateField("endDate", $endDateValue); $amountLabel = $widgets->createLabel("amount", getBadgerTranslation2('accountTransaction', 'amount'), true); $amountField = $widgets->createField("amount", 30, $amountValue, "", true, "text", "onchange='updateTransferalAmount();' onkeyup='adjustInputNumberClass(this);' onkeydown='adjustInputNumberClass(this);' onkeypress='adjustInputNumberClass(this);' style='width: 30ex;'"); $transactionPartnerLabel = $widgets->createLabel("transactionPartner", getBadgerTranslation2('accountTransaction', 'transactionPartner'), false); $transactionPartnerField = $widgets->createField("transactionPartner", 30, $transactionPartnerValue, "", false, "text", "style='width: 30ex;'"); $outsideCapitalLabel = $widgets->createLabel("outsideCapital", getBadgerTranslation2('accountTransaction', 'outsideCapital'), false); $outsideCapitalField = $widgets->createField("outsideCapital", 30, "on", "", false, "checkbox", $outsideCapitalValue); $outsideToolTip = $widgets->addToolTip(getBadgerTranslation2("importCsv", "outsideCapitalToolTip")); $categoryLabel = $widgets->createLabel("category", getBadgerTranslation2('accountTransaction', 'category'), false); $categoryField = $widgets->createSelectField("category", getCategorySelectArray(), $categoryValue, "", false, "style='width: 31ex;' onchange='updateExpenseWarning();'"); $repeatUnitLabel = $widgets->createLabel("repeatUnit", getBadgerTranslation2('accountTransaction', 'repeatFrequency'), true); $repeatUnitField = $widgets->createSelectField("repeatUnit", getIntervalUnitsArray(), $repeatUnitValue, "", true, "style='width: 104px;'"); $everyLabel = getBadgerTranslation2('intervalUnits', 'every'); $repeatFrequencyField = $widgets->createField("repeatFrequency", 1, $repeatFrequencyValue, "", true, "text", ""); if (!is_null($finishedTransactionId) && $finishedTransactionId != 'X') { $hiddenFinishedTransactionID = $widgets->createField('hiddenFinishedTransactionID', 20, $finishedTransactionId, '', false, 'hidden'); $rangeLabel = getBadgerTranslation2('accountTransaction', 'range'); $rangeUnit = getBadgerTranslation2('accountTransaction', 'rangeUnit'); $rangeAllField = $widgets->createField('range', null, 'all', '', false, 'radio', 'checked="checked" onclick="checkBeginEndDate();"'); $rangeAllLabel = $widgets->createLabel('range', getBadgerTranslation2('accountTransaction', 'rangeAll')); $rangeThisField = $widgets->createField('range', null, 'this', '', false, 'radio', 'onclick="checkBeginEndDate();"'); $rangeThisLabel = $widgets->createLabel('range', getBadgerTranslation2('accountTransaction', 'rangeThis')); $rangePreviousField = $widgets->createField('range', null, 'previous', '', false, 'radio', 'onclick="checkBeginEndDate();"'); $rangePreviousLabel = $widgets->createLabel('range', getBadgerTranslation2('accountTransaction', 'rangePrevious')); $rangeFollowingField = $widgets->createField('range', null, 'following', '', false, 'radio', 'onclick="checkBeginEndDate();"'); $rangeFollowingLabel = $widgets->createLabel('range', getBadgerTranslation2('accountTransaction', 'rangeFollowing')); //$deleteBtn = $widgets->createButton('deleteBtn', getBadgerTranslation2('dataGrid', 'delete'), 'submit', 'Widgets/cancel.gif', "accesskey='d'"); $deleteBtn = ''; } else { $hiddenFinishedTransactionID = ''; $rangeLabel = ''; $rangeUnit = ''; $rangeAllField = $widgets->createField('range', 20, 'all', '', false, 'hidden'); $rangeAllLabel = ''; $rangeThisField = ''; $rangeThisLabel = ''; $rangePreviousField = ''; $rangePreviousLabel = ''; $rangeFollowingField = ''; $rangeFollowingLabel = ''; $deleteBtn = ''; } //Buttons $submitBtn = $widgets->createButton("submitBtn", getBadgerTranslation2('dataGrid', 'save'), "submit", "Widgets/accept.gif", "accesskey='s'"); if ($redirectPage) { $backBtn = $widgets->createButton("backBtn", getBadgerTranslation2('dataGrid', 'back'), "location.href='{$redirectPage}';return false;", "Widgets/back.gif"); } else { $backBtn = ''; } //add vars to template, print site $pageHeading = getBadgerTranslation2('accountTransaction', 'headingTransactionPlanned'); eval("echo \"" . $tpl->getTemplate("Account/PlannedTransaction") . "\";"); }
function showSelectPage() { global $tpl; global $us; global $badgerDb; handleOldFinishedTransactions(new AccountManager($badgerDb)); $widgets = new WidgetEngine($tpl); $widgets->addCalendarJS(); $widgets->addToolTipJS(); $tpl->addJavaScript("js/behaviour.js"); $tpl->addJavaScript("js/prototype.js"); $tpl->addJavaScript("js/statistics.js"); $tpl->addHeaderTag('<script type="text/javascript">var badgerHelpChapter = "Statistiken";</script>'); $dataGrid = new DataGrid($tpl); $dataGrid->sourceXML = BADGER_ROOT . "/core/XML/getDataGridXML.php?q=AccountManager"; $dataGrid->headerName = array(getBadgerTranslation2('statistics', 'accColTitle'), getBadgerTranslation2('statistics', 'accColBalance'), getBadgerTranslation2('statistics', 'accColCurrency')); $dataGrid->columnOrder = array("title", "balance", 'currency'); $dataGrid->initialSort = "title"; $dataGrid->initialSortDirection = "asc"; $dataGrid->headerSize = array(160, 100, 75); $dataGrid->cellAlign = array("left", 'right', 'left'); $dataGrid->width = '30em'; $dataGrid->height = '7em'; $dataGrid->initDataGridJS(); try { $preselectedAccounts = $us->getProperty('statisticsPreselectedAccounts'); foreach ($preselectedAccounts as $currentPreselectedAccount) { $tpl->addOnLoadEvent("dgPreselectId('{$currentPreselectedAccount}');"); } } catch (BadgerException $ex) { } $tpl->addOnLoadEvent("Behaviour.register(statisticsBehaviour);"); $tpl->addOnLoadEvent("Behaviour.apply();"); $widgets->addNavigationHead(); $selectTitle = getBadgerTranslation2('statistics', 'pageTitle'); echo $tpl->getHeader($selectTitle); $widgets->addToolTipLayer(); $selectFormAction = BADGER_ROOT . '/modules/statistics/statistics.php'; $graphTypeText = getBadgerTranslation2('statistics', 'type'); $categoryTypeText = getBadgerTranslation2('statistics', 'category'); $timeFrameText = getBadgerTranslation2('statistics', 'period'); $summarizeCategoriesText = getBadgerTranslation2('statistics', 'catMerge'); $accountsText = getBadgerTranslation2('statistics', 'accounts'); $differentCurrencyWarningText = getBadgerTranslation2('statistics', 'attention'); $fromText = getBadgerTranslation2('statistics', 'from'); $toText = getBadgerTranslation2('statistics', 'to'); $trendRadio = $widgets->createField('mode', null, 'trendPage', '', false, 'radio', 'checked="checked"'); $trendLabel = $widgets->createLabel('mode', getBadgerTranslation2('statistics', 'trend')); $categoryRadio = $widgets->createField('mode', null, 'categoryPage', '', false, 'radio'); $categoryLabel = $widgets->createLabel('mode', getBadgerTranslation2('statistics', 'categories')); $accountSelect = $dataGrid->writeDataGrid(); $accountField = $widgets->createField('accounts', null, null, '', false, 'hidden'); $monthArray = array('fullYear' => getBadgerTranslation2('statistics', 'fullYear'), '1' => getBadgerTranslation2('statistics', 'jan'), '2' => getBadgerTranslation2('statistics', 'feb'), '3' => getBadgerTranslation2('statistics', 'mar'), '4' => getBadgerTranslation2('statistics', 'apr'), '5' => getBadgerTranslation2('statistics', 'may'), '6' => getBadgerTranslation2('statistics', 'jun'), '7' => getBadgerTranslation2('statistics', 'jul'), '8' => getBadgerTranslation2('statistics', 'aug'), '9' => getBadgerTranslation2('statistics', 'sep'), '10' => getBadgerTranslation2('statistics', 'oct'), '11' => getBadgerTranslation2('statistics', 'nov'), '12' => getBadgerTranslation2('statistics', 'dec')); $monthSelect = $widgets->createSelectField('monthSelect', $monthArray, 'fullYear', '', false, 'onchange="updateDateRange();"'); $now = new Date(); $beginOfYear = new Date(); $beginOfYear->setMonth(1); $beginOfYear->setDay(1); $yearInput = $widgets->createField('yearSelect', 4, $now->getYear(), '', false, 'text', 'onchange="updateDateRange();"'); $startDateField = $widgets->addDateField("startDate", $beginOfYear->getFormatted()); $endDateField = $widgets->addDateField("endDate", $now->getFormatted()); $inputRadio = $widgets->createField('type', null, 'i', '', false, 'radio', 'checked="checked"'); $inputLabel = $widgets->createLabel('type', getBadgerTranslation2('statistics', 'income')); $outputRadio = $widgets->createField('type', null, 'o', '', false, 'radio'); $outputLabel = $widgets->createLabel('type', getBadgerTranslation2('statistics', 'expenses')); $summarizeRadio = $widgets->createField('summarize', null, 't', '', false, 'radio', 'checked="checked"'); $summarizeLabel = $widgets->createLabel('summarize', getBadgerTranslation2('statistics', 'subCat')); $distinguishRadio = $widgets->createField('summarize', null, 'f', '', false, 'radio'); $distinguishLabel = $widgets->createLabel('summarize', getBadgerTranslation2('statistics', 'subCat2')); $dateFormatField = $widgets->createField('dateFormat', null, $us->getProperty('badgerDateFormat'), null, false, 'hidden'); $errorMsgAccountMissingField = $widgets->createField('errorMsgAccountMissing', null, getBadgerTranslation2('statistics', 'errorMissingAcc'), null, false, 'hidden'); $errorMsgStartBeforeEndField = $widgets->createField('errorMsgStartBeforeEnd', null, getBadgerTranslation2('statistics', 'errorDate'), null, false, 'hidden'); $errorMsgEndInFutureField = $widgets->createField('errorMsgEndInFuture', null, getBadgerTranslation2('statistics', 'errorEndDate'), null, false, 'hidden'); $submitButton = $widgets->createButton('submit', getBadgerTranslation2('statistics', 'showButton'), 'submitSelect();', "Widgets/accept.gif"); eval('echo "' . $tpl->getTemplate('statistics/select') . '";'); eval('echo "' . $tpl->getTemplate('badgerFooter') . '";'); }
function printFrontendPlanned($AccountID, $ID) { global $pageTitle; global $tpl; global $am; global $redirectPage; $widgets = new WidgetEngine($tpl); $widgets->addToolTipJS(); $widgets->addCalendarJS(); $widgets->addJSValMessages(); $widgets->addNavigationHead(); echo $tpl->getHeader($pageTitle); echo $widgets->addToolTipLayer(); $transactionType = "planned"; if ($ID != "new") { $acc = $am->getAccountById($AccountID); $transaction = $acc->getPlannedTransactionById($ID); $titleValue = $transaction->getTitle(); $descriptionValue = $transaction->getDescription(); $beginDateValue = is_null($tmp = $transaction->getBeginDate()) ? '' : $tmp->getFormatted(); $endDateValue = is_null($tmp = $transaction->getEndDate()) ? '' : $tmp->getFormatted(); $amountValue = is_null($tmp = $transaction->getAmount()) ? '' : $tmp->getFormatted(); $outsideCapitalValue = is_null($tmp = $transaction->getOutsideCapital()) ? '' : $tmp; $transactionPartnerValue = $transaction->getTransactionPartner(); $categoryValue = is_null($tmp = $transaction->getCategory()) ? '' : $tmp->getId(); $repeatUnitValue = $transaction->getRepeatUnit(); $repeatFrequencyValue = $transaction->getRepeatFrequency(); } else { //new: empty values $titleValue = ""; $descriptionValue = ""; $beginDateValue = ""; $endDateValue = ""; $amountValue = ""; $outsideCapitalValue = ""; $transactionPartnerValue = ""; $categoryValue = ""; $repeatUnitValue = ""; $repeatFrequencyValue = "1"; } //set vars with values $FormAction = $_SERVER['PHP_SELF']; if ($AccountID == "choose") { $AccountLabel = $widgets->createLabel("hiddenAccID", getBadgerTranslation2('accountTransaction', 'Account'), true); $hiddenAccID = $widgets->createSelectField("hiddenAccID", getAccountsSelectArray(), $AccountID, "", false, "style='width: 213px;'"); } else { $AccountLabel = ""; $hiddenAccID = $widgets->createField("hiddenAccID", 20, $AccountID, "", false, "hidden"); } $hiddenID = $widgets->createField("hiddenID", 20, $ID, "", false, "hidden"); $hiddenType = $widgets->createField("hiddenType", 20, $transactionType, "", false, "hidden"); //Fields & Labels $titleLabel = $widgets->createLabel("title", getBadgerTranslation2('accountTransaction', 'title'), true); $titleField = $widgets->createField("title", 30, $titleValue, "", true, "text", ""); $descriptionLabel = $widgets->createLabel("description", getBadgerTranslation2('accountTransaction', 'description'), false); $descriptionField = $widgets->createField("description", 30, $descriptionValue, "", false, "text", ""); $beginDateLabel = $widgets->createLabel("beginDate", getBadgerTranslation2('accountTransaction', 'beginDate'), true); $beginDateField = $widgets->addDateField("beginDate", $beginDateValue); $endDateLabel = $widgets->createLabel("endDate", getBadgerTranslation2('accountTransaction', 'endDate'), true); $endDateField = $widgets->addDateField("endDate", $endDateValue); $amountLabel = $widgets->createLabel("amount", getBadgerTranslation2('accountTransaction', 'amount'), true); $amountField = $widgets->createField("amount", 30, $amountValue, "", true, "text", ""); $transactionPartnerLabel = $widgets->createLabel("transactionPartner", getBadgerTranslation2('accountTransaction', 'transactionPartner'), false); $transactionPartnerField = $widgets->createField("transactionPartner", 30, $transactionPartnerValue, "", false, "text", ""); $outsideCapitalLabel = $widgets->createLabel("outsideCapital", getBadgerTranslation2('accountTransaction', 'outsideCapital'), false); $outsideCapitalField = $widgets->createField("outsideCapital", 30, "on", "", false, "checkbox", $outsideCapitalValue); $categoryLabel = $widgets->createLabel("category", getBadgerTranslation2('accountTransaction', 'category'), false); $categoryField = $widgets->createSelectField("category", getCategorySelectArray(), $categoryValue, "", false, "style='width: 213px;'"); $repeatUnitLabel = $widgets->createLabel("repeatUnit", getBadgerTranslation2('accountTransaction', 'repeatFrequency'), true); $repeatUnitField = $widgets->createSelectField("repeatUnit", getIntervalUnitsArray(), $repeatUnitValue, "", true, "style='width: 104px;'"); $everyLabel = getBadgerTranslation2('intervalUnits', 'every'); $repeatFrequencyField = $widgets->createField("repeatFrequency", 1, $repeatFrequencyValue, "", true, "text", ""); //Buttons $submitBtn = $widgets->createButton("submitBtn", getBadgerTranslation2('dataGrid', 'save'), "submit", "Widgets/accept.gif", "accesskey='s'"); if ($redirectPage) { $backBtn = $widgets->createButton("backBtn", getBadgerTranslation2('dataGrid', 'back'), "location.href='{$redirectPage}';return false;", "Widgets/back.gif"); } else { $backBtn = ""; } //add vars to template, print site $pageHeading = getBadgerTranslation2('accountTransaction', 'headingTransactionPlanned'); eval("echo \"" . $tpl->getTemplate("Account/PlannedTransaction") . "\";"); }