. ***********************************************************************/ /* Update main or gl company setup. */ function update_company_prefs( $params ) { $sql = "UPDATE ".TB_PREF."sys_prefs SET value = "; foreach($params as $name => $value) { if (!db_query($sql. db_escape($value). " WHERE name=".db_escape($name), "The company prefferences could not be updated ")) return false; } return true; } /* Get company preferences. Returns cached values from global variable SysPrefs or retrieved from database if SysPrefs values are not set. $prefs can be preference name, array of names, or null for all preferences. */ function get_company_pref($prefs = null, $tbpref = TB_PREF) { global $SysPrefs, $core_version; if (!isset($_SESSION['SysPrefs']->prefs)) { // cached preferences $_SESSION['SysPrefs'] = new sys_prefs(); $sql = "SELECT name, value FROM ".$tbpref."sys_prefs"; $result = @db_query($sql); // supress errors before 2.3 db structure upgrade if(!$result) return null; while($pref = db_fetch_assoc($result)) { $_SESSION['SysPrefs']->prefs[$pref['name']] = $pref['value']; } $SysPrefs = &$_SESSION['SysPrefs']; // update current db status for info in log file $SysPrefs->db_ok = $SysPrefs->prefs['version_id'] == $core_version; } $all = $_SESSION['SysPrefs']->prefs; if (!$prefs) return $all; elseif (is_string($prefs)) return $all[$prefs]; $ret = array(); foreach($prefs as $name) $ret[$name] = $all[$name]; return $ret; } function get_company_prefs($tbpref = TB_PREF) { return get_company_pref(null, $tbpref); } function get_base_sales_type() { return get_company_pref('base_sales'); } function get_company_extensions($id = -1) { global $path_to_root; $file = $path_to_root.($id == -1 ? '' : '/company/'.$id).'/installed_extensions.php'; $installed_extensions = array(); if (is_file($file)) { include($file); } return $installed_extensions; } function add_payment_terms($daysOrFoll, $terms, $dayNumber) { if ($daysOrFoll) { $sql = "INSERT INTO ".TB_PREF."payment_terms (terms, days_before_due, day_in_following_month) VALUES (" . db_escape($terms) . ", " . db_escape($dayNumber) . ", 0)"; } else { $sql = "INSERT INTO ".TB_PREF."payment_terms (terms, days_before_due, day_in_following_month) VALUES (" . db_escape($terms) . ", 0, " . db_escape($dayNumber) . ")"; } db_query($sql,"The payment term could not be added"); } function update_payment_terms($selected_id, $daysOrFoll, $terms, $dayNumber) { if ($daysOrFoll) { $sql = "UPDATE ".TB_PREF."payment_terms SET terms=" . db_escape($terms) . ", day_in_following_month=0, days_before_due=" . db_escape($dayNumber) . " WHERE terms_indicator = " .db_escape($selected_id); } else { $sql = "UPDATE ".TB_PREF."payment_terms SET terms=" . db_escape($terms) . ", day_in_following_month=" . db_escape($dayNumber) . ", days_before_due=0 WHERE terms_indicator = " .db_escape($selected_id); } db_query($sql,"The payment term could not be updated"); } function delete_payment_terms($selected_id) { $sql="DELETE FROM ".TB_PREF."payment_terms WHERE terms_indicator=".db_escape($selected_id); db_query($sql,"could not delete a payment terms"); } function get_payment_terms($selected_id) { $sql = "SELECT *, (t.days_before_due=0) AND (t.day_in_following_month=0) as cash_sale FROM ".TB_PREF."payment_terms t WHERE terms_indicator=".db_escape($selected_id); $result = db_query($sql,"could not get payment term"); return db_fetch($result); } function get_payment_terms_all($show_inactive) { $sql = "SELECT * FROM ".TB_PREF."payment_terms"; if (!$show_inactive) $sql .= " WHERE !inactive"; return db_query($sql,"could not get payment terms"); } function key_in_foreign_table($id, $table, $key, $escaped=false) { if (!$escaped) $id = db_escape($id); $sql= "SELECT COUNT(*) FROM ".TB_PREF."$table WHERE $key = $id"; $result = db_query($sql,"check $table relations failed"); $myrow = db_fetch_row($result); return ($myrow[0] > 0); } ?>