diff --git a/database_updates.php b/database_updates.php index 43f32d54..a4685591 100644 --- a/database_updates.php +++ b/database_updates.php @@ -335,7 +335,7 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { if (CURRENT_DATABASE_VERSION == '0.2.0') { //Insert queries here required to update to DB version 0.2.1 - mysqli_query($mysqli, "ALTER TABLE `vendors` + mysqli_query($mysqli, "ALTER TABLE `vendors` ADD `vendor_hours` VARCHAR(200) NULL DEFAULT NULL AFTER `vendor_website`, ADD `vendor_sla` VARCHAR(200) NULL DEFAULT NULL AFTER `vendor_hours`, ADD `vendor_code` VARCHAR(200) NULL DEFAULT NULL AFTER `vendor_sla`, @@ -343,11 +343,11 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { "); mysqli_query($mysqli, "ALTER TABLE `vendors` - DROP `vendor_country`, - DROP `vendor_address`, - DROP `vendor_city`, - DROP `vendor_state`, - DROP `vendor_zip`, + DROP `vendor_country`, + DROP `vendor_address`, + DROP `vendor_city`, + DROP `vendor_state`, + DROP `vendor_zip`, DROP `vendor_global` "); @@ -355,7 +355,7 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "CREATE TABLE `vendor_templates` (`vendor_template_id` int(11) AUTO_INCREMENT PRIMARY KEY, `vendor_template_name` varchar(200) NOT NULL, `vendor_template_description` varchar(200) NULL DEFAULT NULL, - `vendor_template_phone` varchar(200) NULL DEFAULT NULL, + `vendor_template_phone` varchar(200) NULL DEFAULT NULL, `vendor_template_email` varchar(200) NULL DEFAULT NULL, `vendor_template_website` varchar(200) NULL DEFAULT NULL, `vendor_template_hours` varchar(200) NULL DEFAULT NULL, @@ -397,7 +397,7 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "CREATE TABLE `interfaces` (`interface_id` int(11) AUTO_INCREMENT PRIMARY KEY, `interface_number` int(11) NULL DEFAULT NULL, `interface_description` varchar(200) NULL DEFAULT NULL, - `interface_connected_asset` varchar(200) NULL DEFAULT NULL, + `interface_connected_asset` varchar(200) NULL DEFAULT NULL, `interface_ip` varchar(200) NULL DEFAULT NULL, `interface_created_at` datetime DEFAULT CURRENT_TIMESTAMP, `interface_updated_at` datetime NULL ON UPDATE CURRENT_TIMESTAMP, @@ -1802,24 +1802,24 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE ticket_statuses SET ticket_status_color = '#28a745' WHERE ticket_status_id = 3"); // On Hold mysqli_query($mysqli, "UPDATE ticket_statuses SET ticket_status_color = '#343a40' WHERE ticket_status_id = 4"); // Auto Close mysqli_query($mysqli, "UPDATE ticket_statuses SET ticket_status_color = '#343a40' WHERE ticket_status_id = 5"); // Closed - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.1.9'"); } if (CURRENT_DATABASE_VERSION == '1.1.9') { mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_login_remember_me_expire` INT(11) NOT NULL DEFAULT 3 AFTER `config_login_key_secret`"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.0'"); } if (CURRENT_DATABASE_VERSION == '1.2.0') { mysqli_query($mysqli, "ALTER TABLE `ticket_templates` ADD `ticket_template_order` INT(11) NOT NULL DEFAULT 0 AFTER `ticket_template_details`"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.1'"); } if (CURRENT_DATABASE_VERSION == '1.2.1') { - + // Ticket Templates can have many project templates and Project Template can have have many ticket template, so instead create a many to many table relationship mysqli_query($mysqli, "ALTER TABLE `ticket_templates` DROP `ticket_template_order`"); mysqli_query($mysqli, "ALTER TABLE `ticket_templates` DROP `ticket_template_project_template_id`"); @@ -1831,59 +1831,65 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { `ticket_template_order` INT(11) NOT NULL DEFAULT 0, PRIMARY KEY (`ticket_template_id`,`project_template_id`) )"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.2'"); } if (CURRENT_DATABASE_VERSION == '1.2.2') { - + mysqli_query($mysqli, "ALTER TABLE `tasks` DROP `task_description`"); mysqli_query($mysqli, "ALTER TABLE `task_templates` DROP `task_template_description`"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.3'"); } if (CURRENT_DATABASE_VERSION == '1.2.3') { - + mysqli_query($mysqli, "ALTER TABLE `projects` ADD `project_manager` INT(11) NOT NULL DEFAULT 0 AFTER `project_due`"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.4'"); } if (CURRENT_DATABASE_VERSION == '1.2.4') { - + mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_project_prefix` VARCHAR(200) NOT NULL DEFAULT 'PRJ-' AFTER `config_default_hourly_rate`"); mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_project_next_number` INT(11) NOT NULL DEFAULT 1 AFTER `config_project_prefix`"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.5'"); } if (CURRENT_DATABASE_VERSION == '1.2.5') { - + mysqli_query($mysqli, "ALTER TABLE `projects` ADD `project_prefix` VARCHAR(200) DEFAULT NULL AFTER `project_id`"); mysqli_query($mysqli, "ALTER TABLE `projects` ADD `project_number` INT(11) NOT NULL DEFAULT 1 AFTER `project_prefix`"); - + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.6'"); } if (CURRENT_DATABASE_VERSION == '1.2.6') { - + mysqli_query($mysqli, "ALTER TABLE `domains` ADD `domain_dnshost` INT(11) NOT NULL DEFAULT 0 AFTER `domain_webhost`"); mysqli_query($mysqli, "ALTER TABLE `domains` ADD `domain_mailhost` INT(11) NOT NULL DEFAULT 0 AFTER `domain_dnshost`"); mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.7'"); } if (CURRENT_DATABASE_VERSION == '1.2.7') { - + mysqli_query($mysqli, "ALTER TABLE `recurring` ADD `recurring_invoice_email_notify` TINYINT(1) NOT NULL DEFAULT 1 AFTER `recurring_note`"); mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.8'"); } - // if (CURRENT_DATABASE_VERSION == '1.2.8') { - // // Insert queries here required to update to DB version 1.2.9 + if (CURRENT_DATABASE_VERSION == '1.2.8') { + + mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_phone_mask` TINYINT(1) NOT NULL DEFAULT 1 AFTER `config_destructive_deletes_enable`"); + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.9'"); + } + + // if (CURRENT_DATABASE_VERSION == '1.2.9') { + // // Insert queries here required to update to DB version 1.2.10 // // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.9"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.10"); // } } else { diff --git a/database_version.php b/database_version.php index ac7b3dd1..aa46a4ac 100644 --- a/database_version.php +++ b/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "1.2.8"); +DEFINE("LATEST_DATABASE_VERSION", "1.2.9"); diff --git a/db.sql b/db.sql index 3b56fcd7..2e016f17 100644 --- a/db.sql +++ b/db.sql @@ -1375,6 +1375,7 @@ CREATE TABLE `settings` ( `config_telemetry` tinyint(1) DEFAULT 0, `config_timezone` varchar(200) NOT NULL DEFAULT 'America/New_York', `config_destructive_deletes_enable` tinyint(1) NOT NULL DEFAULT 0, + `config_phone_number` tinyint(1) NOT NULL DEFAULT 1, PRIMARY KEY (`company_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/functions.php b/functions.php index 1fb36091..7bfb1deb 100644 --- a/functions.php +++ b/functions.php @@ -212,6 +212,16 @@ function truncate($text, $chars) function formatPhoneNumber($phoneNumber) { + global $mysqli; + + // Get Phone Mask Option + $phone_mask = mysqli_fetch_array(mysqli_query($mysqli, "SELECT config_phone_mask FROM settings WHERE company_id = 1"))[0]; + + if ($phone_mask == 0) { + return $phoneNumber; + } + + $phoneNumber = $phoneNumber ? preg_replace('/[^0-9]/', '', $phoneNumber) : ""; if (strlen($phoneNumber) > 10) { @@ -885,7 +895,7 @@ function getSettingValue($mysqli, $setting_name) function getMonthlyTax($tax_name, $month, $year, $mysqli) { // SQL to calculate monthly tax - $sql = "SELECT SUM(item_tax) AS monthly_tax FROM invoice_items + $sql = "SELECT SUM(item_tax) AS monthly_tax FROM invoice_items LEFT JOIN invoices ON invoice_items.item_invoice_id = invoices.invoice_id LEFT JOIN payments ON invoices.invoice_id = payments.payment_invoice_id WHERE YEAR(payments.payment_date) = $year AND MONTH(payments.payment_date) = $month @@ -902,7 +912,7 @@ function getQuarterlyTax($tax_name, $quarter, $year, $mysqli) $end_month = $start_month + 2; // SQL to calculate quarterly tax - $sql = "SELECT SUM(item_tax) AS quarterly_tax FROM invoice_items + $sql = "SELECT SUM(item_tax) AS quarterly_tax FROM invoice_items LEFT JOIN invoices ON invoice_items.item_invoice_id = invoices.invoice_id LEFT JOIN payments ON invoices.invoice_id = payments.payment_invoice_id WHERE YEAR(payments.payment_date) = $year AND MONTH(payments.payment_date) BETWEEN $start_month AND $end_month @@ -915,7 +925,7 @@ function getQuarterlyTax($tax_name, $quarter, $year, $mysqli) function getTotalTax($tax_name, $year, $mysqli) { // SQL to calculate total tax - $sql = "SELECT SUM(item_tax) AS total_tax FROM invoice_items + $sql = "SELECT SUM(item_tax) AS total_tax FROM invoice_items LEFT JOIN invoices ON invoice_items.item_invoice_id = invoices.invoice_id LEFT JOIN payments ON invoices.invoice_id = payments.payment_invoice_id WHERE YEAR(payments.payment_date) = $year diff --git a/post/setting.php b/post/setting.php index b78bcebf..b312c194 100644 --- a/post/setting.php +++ b/post/setting.php @@ -316,8 +316,9 @@ if (isset($_POST['edit_default_settings'])) { $calendar = intval($_POST['calendar']); $net_terms = intval($_POST['net_terms']); $hourly_rate = floatval($_POST['hourly_rate']); + $phone_mask = intval($_POST['phone_mask']); - mysqli_query($mysqli,"UPDATE settings SET config_start_page = '$start_page', config_default_expense_account = $expense_account, config_default_payment_account = $payment_account, config_default_payment_method = '$payment_method', config_default_expense_payment_method = '$expense_payment_method', config_default_transfer_from_account = $transfer_from_account, config_default_transfer_to_account = $transfer_to_account, config_default_calendar = $calendar, config_default_net_terms = $net_terms, config_default_hourly_rate = $hourly_rate WHERE company_id = 1"); + mysqli_query($mysqli,"UPDATE settings SET config_start_page = '$start_page', config_default_expense_account = $expense_account, config_default_payment_account = $payment_account, config_default_payment_method = '$payment_method', config_default_expense_payment_method = '$expense_payment_method', config_default_transfer_from_account = $transfer_from_account, config_default_transfer_to_account = $transfer_to_account, config_default_calendar = $calendar, config_default_net_terms = $net_terms, config_default_hourly_rate = $hourly_rate, config_phone_mask = $phone_mask WHERE company_id = 1"); //Logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified default settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); diff --git a/settings_defaults.php b/settings_defaults.php index 6cf80398..0326d351 100644 --- a/settings_defaults.php +++ b/settings_defaults.php @@ -218,6 +218,28 @@ require_once "inc_all_admin.php"; +