.
***********************************************************************/
/* Author Rob Mallon */
$page_security = 8;
$path_to_root="..";
include_once($path_to_root . "/includes/session.inc");
include_once($path_to_root . "/includes/date_functions.inc");
include_once($path_to_root . "/includes/ui.inc");
include_once($path_to_root . "/includes/data_checks.inc");
include_once($path_to_root . "/gl/includes/gl_db.inc");
include_once($path_to_root . "/includes/banking.inc");
//Added 1/9/09
if (isset($_POST["command"]) && $_POST["command"]=="Reconcile") {
//echo "Made it\n";
$reconcile_id = strtok($_POST["reconcile_idtokens"], "|");
while ($reconcile_id !== false) {
$formfield="reconcile".$reconcile_id;
if (!isset($_POST[$formfield]))
$_POST[$formfield] = 0;
$reconcile_value=$_POST[$formfield];
$sql="UPDATE ".TB_PREF."bank_trans SET reconciled=$reconcile_value WHERE id=$reconcile_id";
$result = db_query($sql,"Error setting reconcile flag on trans id $reconcile_id");
$reconcile_id = strtok("|");
}
$sql2="UPDATE ".TB_PREF."bank_accounts SET last_reconciled_date='".date2sql($_POST["reconcile_date"])."',
ending_reconcile_balance=".$_POST["reconcile_ending_balance"]." WHERE id=".$_POST["bank_account"];
$result = db_query($sql2,"Error updating reconciliation information");
}
$js = "";
if ($use_popup_windows)
$js .= get_js_open_window(800, 500);
if ($use_date_picker)
$js .= get_js_date_picker();
page(_("Reconcile Bank Account"), false, false, "", $js);
?>
activate('trans_tbl');
}
//------------------------------------------------------------------------------------------------
//Added 1/9/09
start_form();
start_table("class='tablestyle_noborder'");
start_row();
bank_accounts_list_cells(_("Account:"), 'bank_account', null);
date_cells(_("From:"), 'TransAfterDate', '', null, -30);
date_cells(_("To:"), 'TransToDate');
//Added 1/8/09
if (!isset($_POST['ShowReconciled']))
$_POST['ShowReconciled'] = 0;
$show_reconciled = $_POST['ShowReconciled'];
yesno_list_cells(_("Show Reconciled:"), 'ShowReconciled');
submit_cells('Show',_("Show"),'','', false);
end_row();
end_table();
end_form();
//Added 1/9/09
$reconcile_sql="SELECT last_reconciled_date,ending_reconcile_balance FROM ".TB_PREF."bank_accounts WHERE id=".$_POST['bank_account'];
$reconcile_result = db_query($reconcile_sql,"Error");
if ($reconcile_row = db_fetch($reconcile_result)) {
echo "
";
start_table("class='tablestyle_noborder'");
start_row();
label_cell("Last Reconciled Date: ");
label_cell("".sql2date($reconcile_row["last_reconciled_date"])."");
label_cell(" ");
label_cell("Last Reconciled Ending Balance: ");
amount_cell($reconcile_row["ending_reconcile_balance"],true);
end_row();
end_table();
} else {
echo "Error: $reconcile_sql
";
}
start_form(false,false,"", 'reconcileform');
start_table($table_style);
$th = array(_("Reconcile Date"), _("Beginning
Balance"), _("Ending
Balance"), _("Reconciled
Amount"), _("Difference"));
table_header($th);
start_row();
date_cells("", "reconcile_date");
text_cells("", "reconcile_beginning_balance", $reconcile_row["ending_reconcile_balance"], 7, "", false, "", "", "onchange='handleReconcileDifference(this.form);'");
text_cells("", "reconcile_ending_balance", 0,7, "", false, "", "", "onchange='handleReconcileDifference(this.form);'");
text_cells("", "reconcile_amount", 0, 7, "", false, "", "", "READONLY");
text_cells("", "reconcile_difference", 0, 7, "", false, "", "", "READONLY");
end_row();
end_table();
echo "
";
//------------------------------------------------------------------------------------------------
$date_after = date2sql($_POST['TransAfterDate']);
$date_to = date2sql($_POST['TransToDate']);
if (!isset($_POST['bank_account']))
$_POST['bank_account'] = "";
//Modified 1/9/09
$sql = "SELECT ".TB_PREF."bank_trans.* FROM ".TB_PREF."bank_trans
WHERE ".TB_PREF."bank_trans.bank_act = '" . $_POST['bank_account'] . "'
AND trans_date >= '$date_after'
AND trans_date <= '$date_to'";
//Added line 1/9/09
if ($show_reconciled=='0')
$sql .= " AND ".TB_PREF."bank_trans.reconciled=0 ";
$sql .= " ORDER BY trans_date,".TB_PREF."bank_trans.id";
$result = db_query($sql,"The transactions for '" . $_POST['bank_account'] . "' could not be retrieved");
div_start('trans_tbl');
$act = get_bank_account($_POST["bank_account"]);
display_heading($act['bank_account_name']." - ".$act['bank_curr_code']);
//Added 1/9/09
hidden('command', 'Reconcile');
hidden('Show', 'Show');
hidden('bank_account', $_POST["bank_account"]);
hidden('TransAfterDate',$_POST["TransAfterDate"]);
hidden('TransToDate',$_POST["TransToDate"]);
hidden('ShowReconciled',$_POST["ShowReconciled"]);
start_table($table_style);
$th = array(_("Type"), _("#"), _("Reference"), _("Date"),
_("Debit"), _("Credit"), _("Person/Item"), "", "X");
table_header($th);
$idtokens="";
$k = 0; //row colour counter
while ($myrow = db_fetch($result))
{
$idtokens.=$myrow["id"]."|";
alt_table_row_color($k);
$trandate = sql2date($myrow["trans_date"]);
//Added 1/9/09
$reconcile_check_name="reconcile".$myrow["id"];
label_cell(systypes::name($myrow["type"]));
label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"]));
label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"],$myrow['ref']));
label_cell($trandate);
display_debit_or_credit_cells($myrow["amount"]);
//amount_cell($running_total);
label_cell(payment_person_types::person_name($myrow["person_type_id"],$myrow["person_id"]));
label_cell(get_gl_view_str($myrow["type"], $myrow["trans_no"]));
//Added 1/9/09 I needed the javascript action onclick, so I made my own checkbox
echo "";
echo "";
echo " | ";
//check_cells('', $reconcile_check_name, $myrow["reconciled"], false);
end_row();
//Removed by Rob Mallon on 1/8/09
//if ($j == 12)
//{
// $j = 1;
// table_header($th);
//}
//$j++;
}
//end of while loop
end_table(2);
hidden('reconcile_idtokens',$idtokens);
submit_center('Reconcile',_("Reconcile"),true,'', false);
div_end();
end_form();
//------------------------------------------------------------------------------------------------
end_page();
?>