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 = 'SA_SETUPCOMPANY';
14 include($path_to_root . "/includes/session.inc");
16 page(_($help_context = "Company Setup"));
18 include_once($path_to_root . "/includes/date_functions.inc");
19 include_once($path_to_root . "/includes/ui.inc");
21 include_once($path_to_root . "/admin/db/company_db.inc");
22 //-------------------------------------------------------------------------------------------------
24 if (isset($_POST['update']) && $_POST['update'] != "")
27 if (!check_num('login_tout', 10))
29 display_error(_("Login timeout must be positive number not less than 10."));
30 set_focus('login_tout');
33 if (strlen($_POST['coy_name'])==0)
36 display_error(_("The company name must be entered."));
37 set_focus('coy_name');
39 if (isset($_FILES['pic']) && $_FILES['pic']['name'] != '')
41 $result = $_FILES['pic']['error'];
42 $filename = company_path()."/images";
43 if (!file_exists($filename))
47 $filename .= "/".clean_file_name($_FILES['pic']['name']);
49 //But check for the worst
50 if (!in_array( substr($filename,-4), array('.jpg','.JPG','.png','.PNG')))
52 display_error(_('Only jpg and png files are supported - a file extension of .jpg or .png is expected'));
55 elseif ( $_FILES['pic']['size'] > ($SysPrefs->max_image_size * 1024))
57 display_error(_('The file size is over the maximum allowed. The maximum size allowed in KB is') . ' ' . $SysPrefs->max_image_size);
60 elseif ( $_FILES['pic']['type'] == "text/plain" )
62 display_error( _('Only graphics files can be uploaded'));
65 elseif (file_exists($filename))
67 $result = unlink($filename);
70 display_error(_('The existing image could not be removed'));
75 if ($input_error != 1)
77 $result = move_uploaded_file($_FILES['pic']['tmp_name'], $filename);
78 $_POST['coy_logo'] = clean_file_name($_FILES['pic']['name']);
80 display_error(_('Error uploading logo file'));
83 if (check_value('del_coy_logo'))
85 $filename = company_path()."/images/".clean_file_name($_POST['coy_logo']);
86 if (file_exists($filename))
88 $result = unlink($filename);
91 display_error(_('The existing image could not be removed'));
95 $_POST['coy_logo'] = "";
97 if ($_POST['add_pct'] == "")
98 $_POST['add_pct'] = -1;
99 if ($_POST['round_to'] <= 0)
100 $_POST['round_to'] = 1;
101 if ($input_error != 1)
103 update_company_prefs(
104 get_post( array('coy_name','coy_no','gst_no','tax_prd','tax_last',
105 'postal_address','phone', 'fax', 'email', 'coy_logo', 'domicile',
106 'use_dimension', 'curr_default', 'f_year',
107 'no_item_list' => 0, 'no_customer_list' => 0,
108 'no_supplier_list' =>0, 'base_sales',
109 'time_zone' => 0, 'add_pct', 'round_to', 'login_tout', 'auto_curr_reval',
110 'bcc_email', 'alternative_tax_include_on_docs', 'suppress_tax_rates'))
113 $_SESSION['wa_current_user']->timeout = $_POST['login_tout'];
114 display_notification_centered(_("Company setup has been updated."));
116 set_focus('coy_name');
117 $Ajax->activate('_page_body');
118 } /* end of if submit */
120 //---------------------------------------------------------------------------------------------
121 if (get_company_pref('bcc_email') === null) { // available from 2.3.14, can be not defined on pre-2.4 installations
122 set_company_pref('bcc_email', 'setup.company', 'varchar', 100, '');
125 if (get_company_pref('alternative_tax_include_on_docs') === null) { // available from 2.3.14, can be not defined on pre-2.4 installations
126 set_company_pref('alternative_tax_include_on_docs', 'setup.company', 'tinyint', 1, '0');
129 if (get_company_pref('suppress_tax_rates') === null) { // available from 2.3.14, can be not defined on pre-2.4 installations
130 set_company_pref('suppress_tax_rates', 'setup.company', 'tinyint', 1, '0');
136 $myrow = get_company_prefs();
138 $_POST['coy_name'] = $myrow["coy_name"];
139 $_POST['gst_no'] = $myrow["gst_no"];
140 $_POST['tax_prd'] = $myrow["tax_prd"];
141 $_POST['tax_last'] = $myrow["tax_last"];
142 $_POST['coy_no'] = $myrow["coy_no"];
143 $_POST['postal_address'] = $myrow["postal_address"];
144 $_POST['phone'] = $myrow["phone"];
145 $_POST['fax'] = $myrow["fax"];
146 $_POST['email'] = $myrow["email"];
147 $_POST['coy_logo'] = $myrow["coy_logo"];
148 $_POST['domicile'] = $myrow["domicile"];
149 $_POST['use_dimension'] = $myrow["use_dimension"];
150 $_POST['base_sales'] = $myrow["base_sales"];
151 $_POST['no_item_list'] = $myrow["no_item_list"];
152 $_POST['no_customer_list'] = $myrow["no_customer_list"];
153 $_POST['no_supplier_list'] = $myrow["no_supplier_list"];
154 $_POST['curr_default'] = $myrow["curr_default"];
155 $_POST['f_year'] = $myrow["f_year"];
156 $_POST['time_zone'] = $myrow["time_zone"];
157 $_POST['version_id'] = $myrow["version_id"];
158 $_POST['add_pct'] = $myrow['add_pct'];
159 $_POST['login_tout'] = $myrow['login_tout'];
160 if ($_POST['add_pct'] == -1)
161 $_POST['add_pct'] = "";
162 $_POST['round_to'] = $myrow['round_to'];
163 $_POST['auto_curr_reval'] = $myrow['auto_curr_reval'];
164 $_POST['del_coy_logo'] = 0;
165 $_POST['bcc_email'] = $myrow["bcc_email"];
166 $_POST['alternative_tax_include_on_docs'] = $myrow["alternative_tax_include_on_docs"];
167 $_POST['suppress_tax_rates'] = $myrow["suppress_tax_rates"];
169 start_outer_table(TABLESTYLE2);
173 text_row_ex(_("Name (to appear on reports):"), 'coy_name', 50, 50);
174 textarea_row(_("Address:"), 'postal_address', $_POST['postal_address'], 34, 6);
175 text_row_ex(_("Domicile:"), 'domicile', 25, 55);
177 text_row_ex(_("Phone Number:"), 'phone', 25, 55);
178 text_row_ex(_("Fax Number:"), 'fax', 25);
179 email_row_ex(_("Email Address:"), 'email', 50, 55);
181 email_row_ex(_("BCC Address for all outgoing mails:"), 'bcc_email', 50, 55);
183 text_row_ex(_("Official Company Number:"), 'coy_no', 25);
184 text_row_ex(_("GSTNo:"), 'gst_no', 25);
186 fiscalyears_list_row(_("Fiscal Year:"), 'f_year', $_POST['f_year']);
187 text_row_ex(_("Tax Periods:"), 'tax_prd', 10, 10, '', null, null, _('Months.'));
188 text_row_ex(_("Tax Last Period:"), 'tax_last', 10, 10, '', null, null, _('Months back.'));
189 check_row(_("Put alternative Tax Include on Docs"), 'alternative_tax_include_on_docs', null);
190 check_row(_("Suppress Tax Rates on Docs"), 'suppress_tax_rates', null);
194 label_row(_("Company Logo:"), $_POST['coy_logo']);
195 file_row(_("New Company Logo (.jpg)") . ":", 'pic', 'pic');
196 check_row(_("Delete Company Logo:"), 'del_coy_logo', $_POST['del_coy_logo']);
198 number_list_row(_("Use Dimensions:"), 'use_dimension', null, 0, 2);
199 sales_types_list_row(_("Base for auto price calculations:"), 'base_sales', $_POST['base_sales'], false,
200 _('No base price list') );
201 text_row_ex(_("Add Price from Std Cost:"), 'add_pct', 10, 10, '', null, null, "%");
202 $curr = get_currency($_POST['curr_default']);
203 text_row_ex(_("Round to nearest:"), 'round_to', 10, 10, '', null, null, $curr['hundreds_name']);
204 label_row("", " ");
206 check_row(_("Search Item List"), 'no_item_list', null);
207 check_row(_("Search Customer List"), 'no_customer_list', null);
208 check_row(_("Search Supplier List"), 'no_supplier_list', null);
209 label_row("", " ");
210 currencies_list_row(_("Home Currency:"), 'curr_default', $_POST['curr_default']);
211 check_row(_("Automatic Revaluation Currency Accounts"), 'auto_curr_reval', $_POST['auto_curr_reval']);
212 check_row(_("Time Zone on Reports"), 'time_zone', $_POST['time_zone']);
213 text_row_ex(_("Login Timeout:"), 'login_tout', 10, 10, '', null, null, _('seconds'));
214 label_row(_("Version Id"), $_POST['version_id']);
218 hidden('coy_logo', $_POST['coy_logo']);
219 submit_center('update', _("Update"), true, '', 'default');
222 //-------------------------------------------------------------------------------------------------