5 include_once($path_to_root . "/includes/session.inc");
7 include_once($path_to_root . "/includes/date_functions.inc");
8 include_once($path_to_root . "/includes/ui.inc");
9 include_once($path_to_root . "/includes/banking.inc");
13 $js .= get_js_date_picker();
14 page(_("Exchange Rates"), false, false, "", $js);
16 simple_page_mode(false);
18 //---------------------------------------------------------------------------------------------
21 if (!is_date($_POST['date_']))
23 display_error( _("The entered date is invalid."));
27 if (!check_num('BuyRate', 0))
29 display_error( _("The exchange rate must be numeric and greater than zero."));
33 if ($_POST['BuyRate'] <= 0)
35 display_error( _("The exchange rate cannot be zero or a negative number."));
43 //---------------------------------------------------------------------------------------------
45 function handle_submit()
52 if ($selected_id != "")
55 update_exchange_rate($_POST['curr_abrev'], $_POST['date_'],
56 input_num('BuyRate'), input_num('BuyRate'));
61 add_exchange_rate($_POST['curr_abrev'], $_POST['date_'],
62 input_num('BuyRate'), input_num('BuyRate'));
68 //---------------------------------------------------------------------------------------------
70 function handle_delete()
74 if ($selected_id == "")
76 delete_exchange_rate($selected_id);
80 //---------------------------------------------------------------------------------------------
82 function display_rates($curr_code)
86 $result = get_exchange_rates($curr_code);
89 start_table($table_style);
90 $th = array(_("Date to Use From"), _("Exchange Rate"), "", "");
93 $k = 0; //row colour counter
95 while ($myrow = db_fetch($result))
98 alt_table_row_color($k);
100 label_cell(sql2date($myrow["date_"]));
101 label_cell(number_format2($myrow["rate_buy"], user_exrate_dec()), "nowrap align=right");
102 edit_button_cell("Edit".$myrow["id"], _("Edit"));
103 edit_button_cell("Delete".$myrow["id"], _("Delete"));
112 //---------------------------------------------------------------------------------------------
114 function display_rate_edit()
116 global $selected_id, $table_style2, $Ajax;
118 start_table($table_style2);
120 if ($selected_id != "")
122 //editing an existing exchange rate
124 $myrow = get_exchange_rate($selected_id);
126 $_POST['date_'] = sql2date($myrow["date_"]);
127 $_POST['BuyRate'] = exrate_format($myrow["rate_buy"]);
129 hidden('selected_id', $selected_id);
130 hidden('date_', $_POST['date_']);
132 label_row(_("Date to Use From:"), $_POST['date_']);
136 $_POST['date_'] = Today();
137 $_POST['BuyRate'] = '';
138 date_row(_("Date to Use From:"), 'date_');
140 if (isset($_POST['get_rate']))
142 $_POST['BuyRate'] = exrate_format(get_ecb_rate($_POST['curr_abrev']));
143 if ($_POST['BuyRate'] == 0) {
144 display_error(_('This currency is not listed by ECB. Enter exchange rate manually.'));
146 $Ajax->activate('BuyRate');
148 small_amount_row(_("Exchange Rate:"), 'BuyRate', null, '',
149 submit('get_rate',_("Get"), false, _('Get current ECB rate') , true),
154 submit_add_or_update_center($selected_id == '', '', true);
156 display_note(_("Exchange rates are entered against the company currency."), 1);
159 //---------------------------------------------------------------------------------------------
161 function clear_data()
163 unset($_POST['selected_id']);
164 unset($_POST['date_']);
165 unset($_POST['BuyRate']);
168 //---------------------------------------------------------------------------------------------
170 if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
173 //---------------------------------------------------------------------------------------------
175 if ($Mode == 'Delete')
179 //---------------------------------------------------------------------------------------------
181 start_form(false, true);
183 if (!isset($_POST['curr_abrev']))
184 $_POST['curr_abrev'] = get_global_curr_code();
187 echo _("Select a currency :") . " ";
188 currencies_list('curr_abrev', null, true);
191 // if currency sel has changed, clear the form
192 if ($_POST['curr_abrev'] != get_global_curr_code())
198 set_global_curr_code($_POST['curr_abrev']);
200 if (is_company_currency($_POST['curr_abrev']))
203 display_note(_("The selected currency is the company currency."), 2);
204 display_note(_("The company currency is the base currency so exchange rates cannot be set for it."), 1);
209 display_rates($_POST['curr_abrev']);