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