fixed form reset after error in company prefs, added support for png
[fa-stable.git] / admin / company_preferences.php
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 $page_security =10;
13 $path_to_root="..";
14 include($path_to_root . "/includes/session.inc");
15
16 page(_("Company Setup"));
17
18 include_once($path_to_root . "/includes/date_functions.inc");
19 include_once($path_to_root . "/includes/ui.inc");
20
21 include_once($path_to_root . "/admin/db/company_db.inc");
22 //-------------------------------------------------------------------------------------------------
23
24 if (isset($_POST['update']) && $_POST['update'] != "")
25 {
26
27         $input_error = 0;
28
29         if (strlen($_POST['coy_name'])==0)
30         {
31                 $input_error = 1;
32                 display_error(_("The company name must be entered."));
33                 set_focus('coy_name');
34         }
35         if (isset($_FILES['pic']) && $_FILES['pic']['name'] != '')
36         {
37                 $user_comp = user_company();
38                 $result = $_FILES['pic']['error'];
39                 $filename = $comp_path . "/$user_comp/images";
40                 if (!file_exists($filename))
41                 {
42                         mkdir($filename);
43                 }
44                 $filename .= "/".$_FILES['pic']['name'];
45
46                  //But check for the worst
47                 if (!in_array((substr(trim($_FILES['pic']['name']),-3)), 
48                         array('jpg','JPG','png','PNG')))
49                 {
50                         display_error(_('Only jpg and png files are supported - a file extension of .jpg or .png is expected'));
51                         $input_error = 1;
52                 }
53                 elseif ( $_FILES['pic']['size'] > ($max_image_size * 1024))
54                 { //File Size Check
55                         display_error(_('The file size is over the maximum allowed. The maximum size allowed in KB is') . ' ' . $max_image_size);
56                         $input_error = 1;
57                 }
58                 elseif ( $_FILES['pic']['type'] == "text/plain" )
59                 {  //File type Check
60                         display_error( _('Only graphics files can be uploaded'));
61                         $input_error = 1;
62                 }
63                 elseif (file_exists($filename))
64                 {
65                         $result = unlink($filename);
66                         if (!$result)
67                         {
68                                 display_error(_('The existing image could not be removed'));
69                                 $input_error = 1;
70                         }
71                 }
72
73                 if ($input_error != 1)
74                 {
75                         $result  =  move_uploaded_file($_FILES['pic']['tmp_name'], $filename);
76                         $_POST['coy_logo'] = $_FILES['pic']['name'];
77                         if(!$result) 
78                                 display_error(_('Error uploading logo file'));
79                 }
80         }
81         if (check_value('del_coy_logo'))
82         {
83                 $user_comp = user_company();
84                 $filename = $comp_path . "/$user_comp/images/".$_POST['coy_logo'];
85                 if (file_exists($filename))
86                 {
87                         $result = unlink($filename);
88                         if (!$result)
89                         {
90                                 display_error(_('The existing image could not be removed'));
91                                 $input_error = 1;
92                         }
93                         else
94                                 $_POST['coy_logo'] = "";
95                 }
96         }
97         if ($input_error != 1)
98         {
99                 update_company_setup($_POST['coy_name'], $_POST['coy_no'], $_POST['gst_no'], $_POST['tax_prd'], $_POST['tax_last'],
100                         $_POST['postal_address'], $_POST['phone'], $_POST['fax'], $_POST['email'], $_POST['coy_logo'], $_POST['domicile'],
101                         $_POST['use_dimension'], $_POST['custom1_name'], $_POST['custom2_name'], $_POST['custom3_name'],
102                         $_POST['custom1_value'], $_POST['custom2_value'], $_POST['custom3_value'],
103                         $_POST['curr_default'], $_POST['f_year'], check_value('no_item_list'), check_value('no_customer_list'),
104                         check_value('no_supplier_list'), $_POST['base_sales']);
105
106                 display_notification_centered(_("Company setup has been updated."));
107         }
108         set_focus('coy_name');
109         $Ajax->activate('_page_body');
110 } /* end of if submit */
111
112 //---------------------------------------------------------------------------------------------
113
114
115 start_form(true);
116 if (!isset($_POST['coy_name'])) {
117         $myrow = get_company_prefs();
118
119         $_POST['coy_name'] = $myrow["coy_name"];
120         $_POST['gst_no'] = $myrow["gst_no"];
121         $_POST['tax_prd'] = $myrow["tax_prd"];
122         $_POST['tax_last'] = $myrow["tax_last"];
123         $_POST['coy_no']  = $myrow["coy_no"];
124         $_POST['postal_address']  = $myrow["postal_address"];
125         $_POST['phone']  = $myrow["phone"];
126         $_POST['fax']  = $myrow["fax"];
127         $_POST['email']  = $myrow["email"];
128         $_POST['coy_logo']  = $myrow["coy_logo"];
129         $_POST['domicile']  = $myrow["domicile"];
130         $_POST['use_dimension']  = $myrow["use_dimension"];
131         $_POST['base_sales']  = $myrow["base_sales"];
132         $_POST['no_item_list']  = $myrow["no_item_list"];
133         $_POST['no_customer_list']  = $myrow["no_customer_list"];
134         $_POST['no_supplier_list']  = $myrow["no_supplier_list"];
135         $_POST['custom1_name']  = $myrow["custom1_name"];
136         $_POST['custom2_name']  = $myrow["custom2_name"];
137         $_POST['custom3_name']  = $myrow["custom3_name"];
138         $_POST['custom1_value']  = $myrow["custom1_value"];
139         $_POST['custom2_value']  = $myrow["custom2_value"];
140         $_POST['custom3_value']  = $myrow["custom3_value"];
141         $_POST['curr_default']  = $myrow["curr_default"];
142         $_POST['f_year']  = $myrow["f_year"];
143 }
144 $_POST['del_coy_logo']  = 0;
145
146 start_outer_table($table_style2);
147
148 table_section(1);
149
150 text_row_ex(_("Name (to appear on reports):"), 'coy_name', 42, 50);
151 textarea_row(_("Address:"), 'postal_address', $_POST['postal_address'], 35, 5);
152
153 text_row_ex(_("Phone Number:"), 'phone', 25, 55);
154 text_row_ex(_("Fax Number:"), 'fax', 25);
155 email_row_ex(_("Email Address:"), 'email', 25, 55);
156
157 text_row_ex(_("Official Company Number:"), 'coy_no', 25);
158 text_row_ex(_("GSTNo:"), 'gst_no', 25);
159
160 text_row_ex(_("Tax Periods:"), 'tax_prd', 10, 10, '', null, null, _('Months.'));
161 text_row_ex(_("Tax Last Period:"), 'tax_last', 10, 10, '', null, null, _('Months back.'));
162
163 currencies_list_row(_("Home Currency:"), 'curr_default', $_POST['curr_default']);
164
165 table_section(2);
166
167 fiscalyears_list_row(_("Fiscal Year:"), 'f_year', $_POST['f_year']);
168 label_row(_("Company Logo:"), $_POST['coy_logo']);
169 label_row(_("New Company Logo (.jpg)") . ":", "<input type='file' id='pic' name='pic'>");
170 check_row(_("Delete Company Logo:"), 'del_coy_logo', $_POST['del_coy_logo']);
171 text_row_ex(_("Domicile:"), 'domicile', 25, 55);
172
173 number_list_row(_("Use Dimensions:"), 'use_dimension', null, 0, 2);
174 sales_types_list_row(_("Base for auto price calculations:"), 'base_sales', $_POST['base_sales'], false,
175     _('No base price list') );
176
177 check_row(_("Search Item List"), 'no_item_list', $_POST['no_item_list']);
178 check_row(_("Search Customer List"), 'no_customer_list', $_POST['no_customer_list']);
179 check_row(_("Search Supplier List"), 'no_supplier_list', $_POST['no_supplier_list']);
180
181 start_row();
182 end_row();
183 label_row(_("Custom Field Name"), _("Custom Field Value"));
184
185 start_row();
186 text_cells(null, 'custom1_name', $_POST['custom1_name'], 25, 25);
187 text_cells(null, 'custom1_value', $_POST['custom1_value'], 30, 30);
188 end_row();
189
190 start_row();
191 text_cells(null, 'custom2_name', $_POST['custom2_name'], 25, 25);
192 text_cells(null, 'custom2_value', $_POST['custom2_value'], 30, 30);
193 end_row();
194
195 start_row();
196 text_cells(null, 'custom3_name', $_POST['custom3_name'], 25, 25);
197 text_cells(null, 'custom3_value', $_POST['custom3_value'], 30, 30);
198 end_row();
199
200 end_outer_table(1);
201
202 hidden('coy_logo', $_POST['coy_logo']);
203 submit_center('update', _("Update"), true, '', true);
204
205 end_form(2);
206 //-------------------------------------------------------------------------------------------------
207
208 end_page();
209
210 ?>