Moved all SQL statements from PHP files into relevant *_db.inc files.
[fa-stable.git] / admin / db / company_db.inc
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
13 function update_company_gl_setup($retained_act, $profit_loss_act, $debtors_act, $pyt_discount_act, $creditors_act,
14                 $freight_act,
15                 $exchange_diff_act,
16                 $bank_charge_act,
17                 $default_sales_act,
18                 $default_sales_discount_act,
19                 $default_prompt_payment_act,
20                 $default_inventory_act,
21                 $default_cogs_act,
22                 $default_adj_act,
23                 $default_inv_sales_act,
24                 $default_assembly_act,
25                 $allow_negative_stock,
26                 $po_over_receive,
27                 $po_over_charge,
28                 $accumulate_shipping,
29                 $legal_text,
30                 $past_due_days,
31                 $default_credit_limit,
32                 $default_workorder_required,
33                 $default_dim_required,
34                 $default_delivery_required)
35 {
36         $sql = "UPDATE ".TB_PREF."company SET
37                 retained_earnings_act=".db_escape($retained_act).", profit_loss_year_act=".db_escape($profit_loss_act).",
38                 debtors_act=".db_escape($debtors_act).", pyt_discount_act=".db_escape($pyt_discount_act).",
39                 creditors_act=".db_escape($creditors_act).",
40                 freight_act=".db_escape($freight_act).",
41                 exchange_diff_act=".db_escape($exchange_diff_act).",
42                 bank_charge_act=".db_escape($bank_charge_act).",
43                 default_sales_act=".db_escape($default_sales_act).",
44                 default_sales_discount_act=".db_escape($default_sales_discount_act).",
45                 default_prompt_payment_act=".db_escape($default_prompt_payment_act).",
46                 default_inventory_act=".db_escape($default_inventory_act).",
47                 default_cogs_act=".db_escape($default_cogs_act).",
48                 default_adj_act=".db_escape($default_adj_act).",
49                 default_inv_sales_act=".db_escape($default_inv_sales_act).",
50                 default_assembly_act=".db_escape($default_assembly_act).",
51                 allow_negative_stock=$allow_negative_stock,
52                 po_over_receive=$po_over_receive,
53                 po_over_charge=$po_over_charge,
54                 accumulate_shipping=$accumulate_shipping,
55                 legal_text=".db_escape($legal_text).",
56                 past_due_days=$past_due_days,
57                 default_credit_limit=$default_credit_limit,
58                 default_workorder_required=$default_workorder_required,
59                 default_dim_required=$default_dim_required,
60                 default_delivery_required=$default_delivery_required
61                 WHERE coy_code=1";
62
63         db_query($sql, "The company gl setup could not be updated ");
64 }
65
66 function update_company_setup($coy_name, $coy_no, $gst_no, $tax_prd, $tax_last, 
67         $postal_address, $phone, $fax, $email, $coy_logo, $domicile, $Dimension, 
68         $curr_default, $f_year, $no_item_list, $no_customer_list, $no_supplier_list, 
69         $base_sales, $time_zone, $add_pct, $round_to, $login_tout)
70 {
71         if ($f_year == null)
72                 $f_year = 0;
73         $sql = "UPDATE ".TB_PREF."company SET coy_name=".db_escape($coy_name).",
74                 coy_no = ".db_escape($coy_no).",
75                 gst_no=".db_escape($gst_no).",
76                 tax_prd=$tax_prd,
77                 tax_last=$tax_last,
78                 postal_address =".db_escape($postal_address).",
79                 phone=".db_escape($phone).", fax=".db_escape($fax).",
80                 email=".db_escape($email).",
81                 coy_logo=".db_escape($coy_logo).",
82                 domicile=".db_escape($domicile).",
83                 use_dimension=$Dimension,
84                 no_item_list=$no_item_list,
85                 no_customer_list=$no_customer_list,
86                 no_supplier_list=$no_supplier_list,
87                 curr_default=".db_escape($curr_default).",
88                 f_year=$f_year,
89                 base_sales=$base_sales,
90                 time_zone=$time_zone,
91                 add_pct=$add_pct,
92                 round_to=$round_to,
93                 login_tout = ".db_escape($login_tout)."
94                 WHERE coy_code=1";
95
96         db_query($sql, "The company setup could not be updated ");
97 }
98
99 function get_company_prefs($tbpref = TB_PREF)
100 {
101         $sql = "SELECT * FROM ".$tbpref."company WHERE coy_code=1";
102         
103         $result = db_query($sql, "The company preferences could not be retrieved");
104
105         if (db_num_rows($result) == 0)
106                 display_db_error("FATAL : Could not find company prefs", $sql);
107
108         return db_fetch($result);
109 }
110
111 function get_company_pref($pref_name, $tbpref = TB_PREF)
112 {
113         $prefs = get_company_prefs($tbpref);
114         return $prefs[$pref_name];
115 }
116
117 function get_base_sales_type()
118 {
119         $sql = "SELECT base_sales FROM ".TB_PREF."company WHERE coy_code=1";
120
121         $result = db_query($sql, "could not get base sales type");
122         $myrow = db_fetch($result);
123         return $myrow[0];
124 }
125
126 function get_company_extensions($id = -1) {
127         global $path_to_root;
128
129         $file = $path_to_root.($id == -1 ? '' : '/company/'.$id).'/installed_extensions.php';
130         $installed_extensions = array();
131         if (is_file($file)) {
132                 include($file);
133         }
134         return $installed_extensions;
135 }
136
137 function add_payment_terms($daysOrFoll, $terms, $dayNumber)
138 {
139         if ($daysOrFoll) 
140         {
141                 $sql = "INSERT INTO ".TB_PREF."payment_terms (terms,
142                         days_before_due, day_in_following_month)
143                         VALUES (" .
144                         db_escape($terms) . ", " . db_escape($dayNumber) . ", 0)";
145         } 
146         else 
147         {
148                 $sql = "INSERT INTO ".TB_PREF."payment_terms (terms,
149                         days_before_due, day_in_following_month)
150                         VALUES (" . db_escape($terms) . ",
151                         0, " . db_escape($dayNumber) . ")";
152         }
153         db_query($sql,"The payment term could not be added");
154 }
155
156 function update_payment_terms($selected_id, $daysOrFoll, $terms, $dayNumber)
157 {
158         if ($daysOrFoll) 
159         {
160                 $sql = "UPDATE ".TB_PREF."payment_terms SET terms=" . db_escape($terms) . ",
161                         day_in_following_month=0,
162                         days_before_due=" . db_escape($dayNumber) . "
163                         WHERE terms_indicator = " .db_escape($selected_id);
164         } 
165         else 
166         {
167                 $sql = "UPDATE ".TB_PREF."payment_terms SET terms=" . db_escape($terms) . ",
168                         day_in_following_month=" . db_escape($dayNumber) . ",
169                         days_before_due=0
170                         WHERE terms_indicator = " .db_escape($selected_id);
171         }
172         db_query($sql,"The payment term could not be updated");
173 }
174
175 function delete_payment_terms($selected_id)
176 {
177         $sql="DELETE FROM ".TB_PREF."payment_terms WHERE terms_indicator=".db_escape($selected_id);
178         db_query($sql,"could not delete a payment terms");
179 }
180
181 function get_payment_terms($selected_id)
182 {
183         $sql = "SELECT * FROM ".TB_PREF."payment_terms WHERE terms_indicator=".db_escape($selected_id);
184
185         $result = db_query($sql,"could not get payment term");
186         return db_fetch($result);
187 }
188
189 function get_payment_terms_all($show_inactive)
190 {
191         $sql = "SELECT * FROM ".TB_PREF."payment_terms";
192         if (!$show_inactive) $sql .= " WHERE !inactive";
193         return db_query($sql,"could not get payment terms");
194 }
195
196 function customer_has_terms($selected_id)
197 {
198         $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtors_master WHERE payment_terms = ".db_escape($selected_id);
199         $result = db_query($sql,"check failed");
200         $myrow = db_fetch_row($result);
201         return ($myrow[0] > 0); 
202 }
203
204 function supplier_has_terms($selected_id)
205 {
206         $sql= "SELECT COUNT(*) FROM ".TB_PREF."suppliers WHERE payment_terms = ".db_escape($selected_id);
207         $result = db_query($sql,"check failed");
208         $myrow = db_fetch_row($result);
209         return ($myrow[0] > 0); 
210 }
211
212 ?>