5 include($path_to_root . "/includes/db_pager.inc");
6 include_once($path_to_root . "/includes/session.inc");
8 include_once($path_to_root . "/includes/date_functions.inc");
9 include_once($path_to_root . "/includes/ui.inc");
10 include_once($path_to_root . "/includes/banking.inc");
14 $js .= get_js_date_picker();
15 page(_("Exchange Rates"), false, false, "", $js);
17 simple_page_mode(false);
19 //---------------------------------------------------------------------------------------------
22 if (!is_date($_POST['date_']))
24 display_error( _("The entered date is invalid."));
28 if (!check_num('BuyRate', 0))
30 display_error( _("The exchange rate must be numeric and greater than zero."));
34 if ($_POST['BuyRate'] <= 0)
36 display_error( _("The exchange rate cannot be zero or a negative number."));
44 //---------------------------------------------------------------------------------------------
46 function handle_submit()
53 if ($selected_id != "")
56 update_exchange_rate($_POST['curr_abrev'], $_POST['date_'],
57 input_num('BuyRate'), input_num('BuyRate'));
62 add_exchange_rate($_POST['curr_abrev'], $_POST['date_'],
63 input_num('BuyRate'), input_num('BuyRate'));
69 //---------------------------------------------------------------------------------------------
71 function handle_delete()
75 if ($selected_id == "")
77 delete_exchange_rate($selected_id);
81 //---------------------------------------------------------------------------------------------
82 function edit_link($row)
84 return button('Edit'.$row["id"], _("Edit"), true, ICON_EDIT);
87 function del_link($row)
89 return button('Delete'.$row["id"], _("Delete"), true, ICON_DELETE);
92 function display_rates($curr_code)
96 $sql = "SELECT date_, rate_buy, id FROM "
97 .TB_PREF."exchange_rates "
98 ."WHERE curr_code='$curr_code'
102 _("Date to Use From") => 'date',
103 _("Exchange Rate") => 'rate',
104 array('insert'=>true, 'fun'=>'edit_link'),
105 array('insert'=>true, 'fun'=>'del_link'),
107 $table =& new_db_pager('orders_tbl', $sql, $cols);
108 if (list_updated('curr_abrev')) {
109 $table->set_sql($sql);
110 $table->set_columns($cols);
112 $table->width = "40%";
113 display_db_pager($table);
116 //---------------------------------------------------------------------------------------------
118 function display_rate_edit()
120 global $selected_id, $table_style2, $Ajax;
122 start_table($table_style2);
124 if ($selected_id != "")
126 //editing an existing exchange rate
128 $myrow = get_exchange_rate($selected_id);
130 $_POST['date_'] = sql2date($myrow["date_"]);
131 $_POST['BuyRate'] = exrate_format($myrow["rate_buy"]);
133 hidden('selected_id', $selected_id);
134 hidden('date_', $_POST['date_']);
136 label_row(_("Date to Use From:"), $_POST['date_']);
140 $_POST['date_'] = Today();
141 $_POST['BuyRate'] = '';
142 date_row(_("Date to Use From:"), 'date_');
144 if (isset($_POST['get_rate']))
146 $_POST['BuyRate'] = exrate_format(get_ecb_rate($_POST['curr_abrev']));
147 if ($_POST['BuyRate'] == 0) {
148 display_error(_('This currency is not listed by ECB. Enter exchange rate manually.'));
150 $Ajax->activate('BuyRate');
152 small_amount_row(_("Exchange Rate:"), 'BuyRate', null, '',
153 submit('get_rate',_("Get"), false, _('Get current ECB rate') , true),
158 submit_add_or_update_center($selected_id == '', '', true);
160 display_note(_("Exchange rates are entered against the company currency."), 1);
163 //---------------------------------------------------------------------------------------------
165 function clear_data()
167 unset($_POST['selected_id']);
168 unset($_POST['date_']);
169 unset($_POST['BuyRate']);
172 //---------------------------------------------------------------------------------------------
174 if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
177 //---------------------------------------------------------------------------------------------
179 if ($Mode == 'Delete')
183 //---------------------------------------------------------------------------------------------
185 start_form(false, true);
187 if (!isset($_POST['curr_abrev']))
188 $_POST['curr_abrev'] = get_global_curr_code();
191 echo _("Select a currency :") . " ";
192 currencies_list('curr_abrev', null, true);
195 // if currency sel has changed, clear the form
196 if ($_POST['curr_abrev'] != get_global_curr_code())
202 set_global_curr_code($_POST['curr_abrev']);
204 if (is_company_currency($_POST['curr_abrev']))
207 display_note(_("The selected currency is the company currency."), 2);
208 display_note(_("The company currency is the base currency so exchange rates cannot be set for it."), 1);
214 display_rates($_POST['curr_abrev']);