X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdata_checks.inc;h=67768b937df6d1f3eff7662b8258b76fa71e7ece;hb=e38a784395ef02ae89ca5cc2d40cbd2ca1ab6246;hp=b79bf3d2357d7c5cc3981331cf06cf82728ccccd;hpb=c09be0dad6b05131e240349a375af7a4b7bf3444;p=fa-stable.git diff --git a/includes/data_checks.inc b/includes/data_checks.inc index b79bf3d2..67768b93 100644 --- a/includes/data_checks.inc +++ b/includes/data_checks.inc @@ -1,4 +1,14 @@ . +***********************************************************************/ function db_has_customers() { return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."debtors_master"); @@ -31,6 +41,19 @@ function check_db_has_currencies($msg) } } +function db_has_currency_rates($currency, $date_, $msg=false) +{ + $date = date2sql($date_); + + if (is_company_currency($currency)) + return 1; + $ret = check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."exchange_rates WHERE curr_code = '$currency' && date_ <= '$date'"); + if ($ret == 0 && $msg) + display_error(sprintf(_("Cannot retrieve exchange rate for currency %s as of %s. Please add exchange rate manually on Exchange Rates page."), + $currency, $date_), true); + return $ret; +} + function db_has_sales_types() { return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."sales_types"); @@ -111,30 +134,16 @@ function check_db_has_movement_types($msg) } } -function db_has_bank_trans_types() -{ - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."bank_trans_types"); -} - -function check_db_has_bank_trans_types($msg) -{ - global $path_to_root; - if (!db_has_bank_trans_types()) - { - display_error($msg, true); - end_page(); - exit; - } -} - function db_customer_has_branches($customer_id) { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE debtor_no='$customer_id'"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."cust_branch " + ."WHERE debtor_no=".db_escape($customer_id)); } function db_has_customer_branches() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."cust_branch"); + return check_empty_result("SELECT COUNT(*) FROM " + .TB_PREF."cust_branch WHERE !inactive"); } function check_db_has_customer_branches($msg) @@ -273,7 +282,7 @@ function check_db_has_stock_items($msg) function db_has_bom_stock_items() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE (mb_flag='M' OR mb_flag='K')"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE mb_flag='M'"); } function check_db_has_bom_stock_items($msg) @@ -305,7 +314,7 @@ function check_db_has_manufacturable_items($msg) function db_has_purchasable_items() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE (mb_flag!='M' AND mb_flag!='K')"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE mb_flag!='M'"); } function check_db_has_purchasable_items($msg) @@ -321,7 +330,7 @@ function check_db_has_purchasable_items($msg) function db_has_costable_items() { - return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE (mb_flag!='D' AND mb_flag!='K')"); + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE mb_flag!='D'"); } function check_db_has_costable_items($msg) @@ -391,6 +400,7 @@ function db_has_bank_accounts() function check_db_has_bank_accounts($msg) { global $path_to_root; + if (!db_has_bank_accounts()) { display_error($msg, true); @@ -399,6 +409,12 @@ function check_db_has_bank_accounts($msg) } } +function db_has_cash_accounts() +{ + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."bank_accounts + WHERE account_type=3"); +} + function db_has_gl_accounts() { return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."chart_master"); @@ -420,12 +436,33 @@ function check_db_has_gl_account_groups($msg) } } +function db_has_quick_entries() +{ + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."quick_entries"); +} + +function db_has_tags($type) +{ + return check_empty_result("SELECT COUNT(*) FROM ".TB_PREF."tags WHERE type=".db_escape($type)); +} + +function check_db_has_tags($type, $msg) +{ + global $path_to_root; + if (!db_has_tags($type)) + { + display_error($msg, true); + end_page(); + exit; + } +} + function check_empty_result($sql) { $result = db_query($sql, "could not do check empty query"); $myrow = db_fetch_row($result); - return $myrow[0] > 0; + return $myrow[0] > 0; } // // Integer input check @@ -446,12 +483,13 @@ function check_int($postname, $min=null, $max=null) { // // Numeric input check. // Return 1 if number has proper form and is within range +// Empty/not defined fields are defaulted to $dflt value. // -function check_num($postname, $min=null, $max=null) { +function check_num($postname, $min=null, $max=null, $dflt=0) { if(!isset($_POST[$postname])) return 0; - $num = input_num($postname); - if ($num === false) + $num = input_num($postname, $dflt); + if ($num === false || $num === null) return 0; if (isset($min) && ($num<$min)) return 0;