From 05be7d70417a2d0cba44536656d8ddfe451b3bba Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Sun, 26 Jul 2015 12:17:41 -0400 Subject: [PATCH] #209 Some performance tweaks; also use function for rest of page --- admin/manage_statuses.php | 25 +++++++++++++------------ inc/common.inc.php | 15 +++++++-------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/admin/manage_statuses.php b/admin/manage_statuses.php index cf555d26..0336575c 100644 --- a/admin/manage_statuses.php +++ b/admin/manage_statuses.php @@ -81,9 +81,10 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); $numOfStatusesRS = hesk_dbQuery('SELECT 1 FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses`'); $numberOfStatuses = hesk_dbNumRows($numOfStatusesRS); - $statusesSql = 'SELECT * FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses`'; - $closedStatusesSql = 'SELECT * FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses` WHERE `IsClosed` = 1'; - $openStatusesSql = 'SELECT * FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses` WHERE `IsClosed` = 0'; + $statusesSql = 'SELECT `ID`, `IsAutocloseOption`, `TextColor`, `Closable`, `IsClosed` FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses`'; + $closedStatusesSql = 'SELECT `ID`, `IsClosedByClient` FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses` WHERE `IsClosed` = 1'; + $openStatusesSql = 'SELECT `ID`, `IsNewTicketStatus`, `IsStaffReopenedStatus`, `IsDefaultStaffReplyStatus` FROM + `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses` WHERE `IsClosed` = 0'; $statusesRS = hesk_dbQuery($statusesSql); ?>
@@ -135,7 +136,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); '; } ?> @@ -168,7 +169,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsNewTicketStatus'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -183,7 +184,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsClosedByClient'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -198,7 +199,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsCustomerReplyStatus'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -213,7 +214,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsStaffClosedOption'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -228,7 +229,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsStaffReopenedStatus'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -243,7 +244,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsDefaultStaffReplyStatus'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -258,7 +259,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['LockedTicketStatus'] == 1) ? 'selected="selected"' : ''; - echo ''; + echo ''; } ?> @@ -273,7 +274,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($row = $statusesRS->fetch_assoc()) { $selectedEcho = ($row['IsAutocloseOption'] == 1) ? 'selected' : ''; - echo ''; + echo ''; } ?> diff --git a/inc/common.inc.php b/inc/common.inc.php index 6365983d..65843184 100644 --- a/inc/common.inc.php +++ b/inc/common.inc.php @@ -1952,17 +1952,16 @@ function hesk_getFeatureArray() { function mfh_getDisplayTextForStatusId($statusId) { global $hesklang, $hesk_settings; - $xrefRs = hesk_dbQuery("SELECT `text` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."text_to_status_xref` - WHERE `status_id` = ".intval($statusId)." - AND `language` = '".hesk_dbEscape($hesk_settings['language'])."'"); - if (hesk_dbNumRows($xrefRs) == 1) { + $statusRs = hesk_dbQuery("SELECT `text`, `Key`, `language` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` AS `statuses` + LEFT JOIN `".hesk_dbEscape($hesk_settings['db_pfix'])."text_to_status_xref` ON `status_id` = `statuses`.`ID` + WHERE `statuses`.`ID` = ".intval($statusId)); + + $statusRec = hesk_dbFetchAssoc($statusRs); + if ($statusRec['language'] == $hesk_settings['language'] && $statusRec['text'] != NULL) { // We found a record. Use the text field - $xrefRecord = hesk_dbFetchAssoc($xrefRs); - return $xrefRecord['text']; + return $statusRec['text']; } else { // Fallback to the language key - $statusRs = hesk_dbQuery("SELECT `Key` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` WHERE `ID` = ".intval($statusId)); - $statusRec = hesk_dbFetchAssoc($statusRs); return $hesklang[$statusRec['Key']]; } } \ No newline at end of file