Removed get_js_set_focus() and get_js_form_entry()
[fa-stable.git] / gl / manage / exchange_rates.php
1 <?php
2
3 $page_security = 9;
4 $path_to_root="../..";
5 include_once($path_to_root . "/includes/session.inc");
6
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");
10
11 $js = "";
12 if ($use_date_picker)
13         $js .= get_js_date_picker();
14 page(_("Exchange Rates"), false, false, "", $js);
15
16 //---------------------------------------------------------------------------------------------
17
18 if (isset($_GET['selected_id']))
19 {
20         $selected_id = $_GET['selected_id'];
21
22 elseif (isset($_POST['selected_id']))
23 {
24         $selected_id = $_POST['selected_id'];
25 }
26 else
27         $selected_id = "";
28 //---------------------------------------------------------------------------------------------
29 function check_data()
30 {
31         if (!is_date($_POST['date_'])) 
32         {
33                 display_error( _("The entered date is invalid."));
34                 return false;
35         }
36         if (!check_num('BuyRate', 0))
37         {
38                 display_error( _("The exchange rate must be numeric and greater than zero."));
39                 return false;
40         }
41         if ($_POST['BuyRate'] <= 0)
42         {
43                 display_error( _("The exchange rate cannot be zero or a negative number."));
44                 return false;
45         }
46
47         return true;
48 }
49
50 //---------------------------------------------------------------------------------------------
51
52 function handle_submit()
53 {
54         global $selected_id;
55
56         if (!check_data())
57                 return false;
58
59         if ($selected_id != "") 
60         {
61
62                 update_exchange_rate($_POST['curr_abrev'], $_POST['date_'],
63                  input_num('BuyRate'), input_num('BuyRate'));
64         } 
65         else 
66         {
67
68                 add_exchange_rate($_POST['curr_abrev'], $_POST['date_'],
69                     input_num('BuyRate'), input_num('BuyRate'));
70         }
71
72         return true;
73 }
74
75 //---------------------------------------------------------------------------------------------
76
77 function handle_delete()
78 {
79         global $selected_id;
80
81         if ($selected_id == "")
82                 return;
83         delete_exchange_rate($selected_id);
84
85         meta_forward($_SERVER['PHP_SELF']);
86 }
87
88 //---------------------------------------------------------------------------------------------
89
90 function display_rates($curr_code)
91 {
92         global $table_style;
93
94         $result = get_exchange_rates($curr_code);
95
96         br(2);
97         start_table($table_style);
98         $th = array(_("Date to Use From"), _("Exchange Rate"), "", "");
99         table_header($th);
100
101     $k = 0; //row colour counter
102
103     while ($myrow = db_fetch($result)) 
104     {
105
106                 alt_table_row_color($k);
107
108         label_cell(sql2date($myrow["date_"]));
109                 label_cell(number_format2($myrow["rate_buy"], user_exrate_dec()), "nowrap align=right");
110                 edit_link_cell("selected_id=" . $myrow["id"]);
111                 delete_link_cell("selected_id=" . $myrow["id"]. "&delete=1");
112
113                 end_row();
114
115     } //END WHILE LIST LOOP
116
117     end_table();
118 }
119
120 //---------------------------------------------------------------------------------------------
121
122 function display_rate_edit()
123 {
124         global $selected_id, $table_style2;
125
126         start_table($table_style2);
127
128         if (isset($_POST['get_rate']))
129         {
130                 $_POST['BuyRate'] = exrate_format(get_ecb_rate($_POST['curr_abrev']));
131         }       
132         if ($selected_id != "") 
133         {
134                 //editing an existing exchange rate
135
136                 $myrow = get_exchange_rate($selected_id);
137
138                 $_POST['date_'] = sql2date($myrow["date_"]);
139                 $_POST['BuyRate'] = exrate_format($myrow["rate_buy"]);
140
141                 hidden('selected_id', $selected_id);
142                 hidden('date_', $_POST['date_']);
143                 hidden('curr_abrev', $_POST['curr_abrev']);
144
145                 label_row(_("Date to Use From:"), $_POST['date_']);
146         } 
147         else 
148         {
149                 date_row(_("Date to Use From:"), 'date_');
150         }
151         small_amount_row(_("Exchange Rate:"), 'BuyRate', null, '', 
152           submit('get_rate',_("Get")), user_exrate_dec());
153
154         end_table(1);
155
156         submit_add_or_update_center($selected_id == "");
157
158         display_note(_("Exchange rates are entered against the company currency."), 1);
159 }
160
161 //---------------------------------------------------------------------------------------------
162
163 function clear_data()
164 {
165         unset($_POST['selected_id']);
166         unset($_POST['date_']);
167         unset($_POST['BuyRate']);
168 }
169
170 //---------------------------------------------------------------------------------------------
171
172 if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) 
173 {
174
175         if (handle_submit()) 
176         {
177                 meta_forward($_SERVER['PHP_SELF']);
178         }
179 }
180
181 //---------------------------------------------------------------------------------------------
182
183 if (isset($_GET['delete'])) 
184 {
185
186         handle_delete();
187 }
188
189 //---------------------------------------------------------------------------------------------
190
191 echo "<center>";
192 start_form(false, true);
193
194 if (!isset($_POST['curr_abrev']))
195         $_POST['curr_abrev'] = get_global_curr_code();
196
197 echo _("Select a currency :") . "  ";
198 currencies_list('curr_abrev', $_POST['curr_abrev'], true);
199
200 // if currency sel has changed, clear the form
201 if ($_POST['curr_abrev'] != get_global_curr_code()) 
202 {
203         clear_data();
204         $selected_id = "";
205 }
206
207 set_global_curr_code($_POST['curr_abrev']);
208
209 if (is_company_currency($_POST['curr_abrev'])) 
210 {
211
212         display_note(_("The selected currency is the company currency."), 2);
213         display_note(_("The company currency is the base currency so exchange rates cannot be set for it."), 1);
214
215 else 
216 {
217
218     display_rates($_POST['curr_abrev']);
219
220         hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter a New Exchange Rate"));
221         br(1);
222
223     display_rate_edit();
224 }
225
226 end_form();
227
228 end_page();
229
230 ?>