+}
+
+function get_num_customers()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."debtors_master";
+ $result = db_query($sql, "Fail in count customers");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_branches()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."cust_branch";
+ $result = db_query($sql, "Fail in count branches");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_salesmen()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."salesman";
+ $result = db_query($sql, "Fail in count salesmen");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_overdue_sales()
+{
+ $today = date2sql(calc_today());
+
+ $sql = "SELECT COUNT(trans.trans_no)
+ FROM ".TB_PREF."debtor_trans as trans
+ WHERE trans.type = ".ST_SALESINVOICE." AND (trans.ov_amount + trans.ov_gst + trans.ov_freight
+ + trans.ov_freight_tax + trans.ov_discount - trans.alloc) > ".FLOAT_COMP_DELTA."
+ AND DATEDIFF('$today', trans.due_date) > 0";
+ $result = db_query($sql);
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_suppliers()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."suppliers";
+ $result = db_query($sql, "Fail in count suppliers");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_new_purch_orders()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."purch_orders po, ".TB_PREF."purch_order_details pd WHERE po.order_no = pd.order_no AND
+ quantity_received < quantity_ordered";
+ $result = db_query($sql, "Fail in count purch orders");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_supp_invoices()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."supp_trans WHERE (ov_amount+ov_discount+ov_gst - alloc) <> 0";
+ $result = db_query($sql, "Fail in count purch invoices");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_overdue_purch()
+{
+ $today = date2sql(calc_today());
+
+ $sql = "SELECT COUNT(*) FROM ".TB_PREF."supp_trans WHERE (ov_amount+ov_discount+ov_gst - alloc) > ".FLOAT_COMP_DELTA." AND DATEDIFF('$today', due_date) > 0";
+ $result = db_query($sql, "Fail in count purch invoices");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_items()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."stock_master";
+ $result = db_query($sql, "Fail in count stock master");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_locations()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."locations";
+ $result = db_query($sql, "Fail in count locations");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_kits()
+{
+ $sql="SELECT count(*) FROM ".TB_PREF."item_codes";
+
+ $result = db_query($sql, "Fail in count kits");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_reorder()
+{
+ $MB = 'B';
+ $today = date2sql(calc_today());
+
+ $sql = "SELECT st.stock_id, reorders.reorder_level AS r, SUM(st.qty) AS q
+ FROM ".TB_PREF."stock_moves st
+ LEFT JOIN ".TB_PREF."voided v ON st.type=v.type AND st.trans_no=v.id
+ LEFT JOIN ".TB_PREF."stock_master sm ON sm.stock_id = st.stock_id
+ LEFT JOIN ".TB_PREF."loc_stock reorders ON reorders.loc_code=st.loc_code AND
+ reorders.stock_id = st.stock_id
+ WHERE ISNULL(v.id) AND tran_date <= '$today' AND sm.mb_flag = 'B'
+ GROUP BY st.stock_id HAVING q <= r";
+ $result = db_query($sql,"an item reorder could not be retreived");
+ return db_num_rows($result);
+}
+
+function get_num_assembled()
+{
+ $begin = date2sql(begin_fiscalyear());
+ $today = date2sql(calc_today());
+ $sql = "SELECT count(*) FROM ".TB_PREF."workorders WHERE closed = 1 AND type = ".WO_ASSEMBLY." AND released_date >= '$begin'
+ AND released_date <= '$today'";
+ $result = db_query($sql, "Fail in count workorders");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_manufactured()
+{
+ $begin = date2sql(begin_fiscalyear());
+ $today = date2sql(calc_today());
+ $sql = "SELECT count(*) FROM ".TB_PREF."workorders WHERE closed = 1 AND type = ".WO_ADVANCED." AND released_date >= '$begin'
+ AND released_date <= '$today'";
+ $result = db_query($sql, "Fail in count workorders");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_workcentres()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."workcentres";
+ $result = db_query($sql, "Fail in count work centres");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_open_workorders()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."workorders WHERE closed = 0";
+ $result = db_query($sql, "Fail in count workorders");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_fixed_assets()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."stock_master WHERE mb_flag = 'F'";
+ $result = db_query($sql, "Fail in count fixed assets");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_fixed_locations()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."stock_master s LEFT JOIN ".TB_PREF."loc_stock l ON s.stock_id = l.stock_id
+ WHERE mb_flag = 'F'";
+ $result = db_query($sql, "Fail in count locations");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_fixed_categories()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."stock_category c LEFT JOIN ".TB_PREF."stock_master s ON c.category_id = s.category_id
+ WHERE mb_flag = 'F'";
+ $result = db_query($sql, "Fail in count categories");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_fixed_classes()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."stock_fa_class";
+ $result = db_query($sql, "Fail in count fa classes");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_dimensions()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."dimensions";
+ $result = db_query($sql, "Fail in count dimensions");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_dim_type2()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."dimensions WHERE type_ = 2";
+ $result = db_query($sql, "Fail in count simensions 2");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_dim_closed()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."dimensions WHERE closed = 1";
+ $result = db_query($sql, "Fail in count closed dimensions");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_dim_total()
+{
+ $begin = date2sql(begin_fiscalyear());
+ $today = date2sql(calc_today());
+
+ $sql = "SELECT SUM(IF(c.ctype > 3, -amount, 0)) AS result, SUM(IF(c.ctype < 4, amount, 0)) AS balance, d.reference, d.name FROM ".TB_PREF."gl_trans g
+ LEFT JOIN ".TB_PREF."chart_master AS a ON g.account = a.account_code
+ LEFT JOIN ".TB_PREF."chart_types AS t ON t.id = a.account_type
+ LEFT JOIN ".TB_PREF."dimensions AS d ON (g.dimension_id = d.id OR g.dimension2_id = d.id)
+ LEFT JOIN ".TB_PREF."chart_class AS c ON t.class_id = c.cid
+ WHERE IF(c.ctype > 3, tran_date >= '$begin', tran_date >= '0000-00-00')
+ AND tran_date <= '$today' AND d.reference IS NOT NULL GROUP BY d.reference";
+ $bal = $res = 0.0;
+ $result = db_query($sql, "Transactions could not be calculated");
+ while ($row = db_fetch($result))
+ {
+ $bal += $row['balance'];
+ $res += $row['result'];
+ }
+ return array(round($bal), round($res));
+}
+
+function get_today_deposits($today)
+{
+ $today= date2sql($today);
+ $sql="SELECT SUM(gl.amount) FROM ".TB_PREF."gl_trans gl, ".TB_PREF."bank_accounts ba
+ WHERE gl.account = ba.account_code AND gl.tran_date = '$today' AND gl.amount > 0.0";
+ $result = db_query($sql, "could not retrieve today deposits");
+ if ($result == false)
+ return 0;
+ else
+ {
+ $row = db_fetch($result);
+ return $row[0];
+ }
+}
+
+function get_today_payments($today)
+{
+ $today= date2sql($today);
+ $sql="SELECT SUM(gl.amount) FROM ".TB_PREF."gl_trans gl, ".TB_PREF."bank_accounts ba
+ WHERE gl.account = ba.account_code AND gl.tran_date = '$today' AND gl.amount < 0.0";
+ $result = db_query($sql, "could not retrieve today deposits");
+ if ($result == false)
+ return 0;
+ else
+ {
+ $row = db_fetch($result);
+ return $row[0];
+ }
+}
+
+function get_num_users()
+{
+ $sql = "SELECT count(*) FROM ".TB_PREF."users";
+ $result = db_query($sql, "could not get num users");
+ $row = db_fetch($result);
+ return $row[0];
+}
+
+function get_num_extensions()
+{
+ global $installed_extensions;
+ return count($installed_extensions);
+}
+
+function get_num_languages()
+{
+ global $installed_languages;
+ return count($installed_languages);
+}
+
+function get_database_size()
+{
+ global $db_connections;
+ $c = user_company();
+ $dbase = $db_connections[$c]['dbname'];
+ $tb_pref = $db_connections[$c]['tbpref'];
+ $sql = "SHOW TABLE STATUS FROM $dbase";
+ if (!empty($tb_pref))
+ $sql .= " LIKE '{$tb_pref}%'";
+ $result = db_query($sql, "could not get database size");
+ $size = 0;
+ while ($row = db_fetch($result)) {
+ $size += $row['Data_length'];
+ $size += $row['Index_length'];
+ }
+ return number_format2(($size / 1024 / 1024), 2).' MB';
+}
+
+function calc_today()
+{
+ $today = Today();
+ if (!is_date_in_fiscalyear($today))
+ $today = end_fiscalyear();
+ return $today;
+}
+