array('value' => 3, 'text' => $hesklang['low'], 'formatted' => $hesklang['low']), 2 => array('value' => 2, 'text' => $hesklang['medium'], 'formatted' => '' . $hesklang['medium'] . ''), 1 => array('value' => 1, 'text' => $hesklang['high'], 'formatted' => '' . $hesklang['high'] . ''), 0 => array('value' => 0, 'text' => $hesklang['critical'], 'formatted' => '' . $hesklang['critical'] . ''), ); /* What should we do? */ if ($action = hesk_REQUEST('a')) { if ($action == 'linkcode') { generate_link_code(); } elseif (defined('HESK_DEMO')) { hesk_process_messages($hesklang['ddemo'], 'manage_categories.php', 'NOTICE'); } elseif ($action == 'new') { new_cat(); } elseif ($action == 'remove') { remove(); } elseif ($action == 'order') { order_cat(); } elseif ($action == 'autoassign') { toggle_autoassign(); } elseif ($action == 'type') { toggle_type(); } elseif ($action == 'edit') { update_category(); } } $modsForHesk_settings = mfh_getSettings(); /* Print header */ require_once(HESK_PATH . 'inc/headerAdmin.inc.php'); /* Print main manage users page */ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); ?> ' . $mycat['name'] . ''; } ?>

()

data-error="" required>


'; } else { $remove_code = ' '; } /* Is category private or public? */ if ($mycat['type']) { $type_code = ''; } else { $type_code = ''; } /* Is auto assign enabled? */ if ($hesk_settings['autoassign']) { if ($mycat['autoassign']) { $autoassign_code = ''; } else { $autoassign_code = ''; } } else { $autoassign_code = ''; } echo ' '; } // End while ?>
' . $mycat['id'] . ' ' . $mycat['name'] . ' ' . $priorities[$mycat['priority']]['formatted'] . ' ' . $all . '
40% Complete (success)
' . get_manager($mycat['manager'], $users) . ' ' . $autoassign_code . ' ' . $type_code . ' '; if ($orderBy != 'name' && $num > 1) { if ($j == 1) { echo '  '; } elseif ($j == $num) { echo ' '; } else { echo '   '; } } echo ''; echo $remove_code . '
<?php echo $hesklang['genl']; ?>

 
' . $hesklang['cpric'] . '
 

'; } else { ?>

3) { $_SESSION['cat_priority'] = 3; } /* Category name */ $catname = hesk_input(hesk_POST('name'), $hesklang['enter_cat_name'], 'manage_categories.php'); $color = hesk_POST('color', null); $color = str_replace('#', '', $color); $color = $color != null ? "'#" . hesk_dbEscape($color) . "'" : 'NULL'; $usage = hesk_POST('usage', 0); /* Do we already have a category with this name? */ $res = hesk_dbQuery("SELECT `id` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` WHERE `name` LIKE '" . hesk_dbEscape(hesk_dbLike($catname)) . "' LIMIT 1"); if (hesk_dbNumRows($res) != 0) { $_SESSION['catname'] = $catname; hesk_process_messages($hesklang['cndupl'], 'manage_categories.php'); } /* Get the latest cat_order */ $res = hesk_dbQuery("SELECT `cat_order` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ORDER BY `cat_order` DESC LIMIT 1"); $row = hesk_dbFetchRow($res); $my_order = $row[0] + 10; hesk_dbQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` (`name`,`cat_order`,`autoassign`,`type`, `priority`, `color`, `usage`) VALUES ('" . hesk_dbEscape($catname) . "','" . intval($my_order) . "','" . intval($_SESSION['cat_autoassign']) . "','" . intval($_SESSION['cat_type']) . "','{$_SESSION['cat_priority']}', {$color}, " . intval($usage) . ")"); hesk_cleanSessionVars('catname'); hesk_cleanSessionVars('cat_autoassign'); hesk_cleanSessionVars('cat_type'); hesk_cleanSessionVars('cat_priority'); $_SESSION['selcat2'] = hesk_dbInsertID(); hesk_process_messages(sprintf($hesklang['cat_name_added'], '' . stripslashes($catname) . ''), 'manage_categories.php', 'SUCCESS'); } // End new_cat() function update_category() { global $hesk_settings, $hesklang; /* A security check */ hesk_token_check('POST'); $_SERVER['PHP_SELF'] = 'manage_categories.php?catid=' . intval(hesk_POST('catid')); $catid = hesk_isNumber(hesk_POST('id'), $hesklang['choose_cat_ren'], $_SERVER['PHP_SELF']); $_SESSION['selcat'] = $catid; $_SESSION['selcat2'] = $catid; $catname = hesk_input(hesk_POST('name'), $hesklang['cat_ren_name'], $_SERVER['PHP_SELF']); $_SESSION['catname2'] = $catname; $color = hesk_POST('color', null); $color = str_replace('#', '', $color); $color = $color != null ? "'#" . hesk_dbEscape($color) . "'" : 'NULL'; $manager = hesk_POST('manager', 0); $priority = hesk_POST('priority', 0); $usage = hesk_POST('usage', 0); hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` SET `name`='" . hesk_dbEscape($catname) . "', `priority` = '" . hesk_dbEscape($priority) . "', `manager` = " . intval($manager) . ", `color` = " . $color . ", `usage` = " . intval($usage) . " WHERE `id`='" . intval($catid) . "' LIMIT 1"); unset($_SESSION['selcat']); unset($_SESSION['catname2']); hesk_process_messages(sprintf($hesklang['category_updated'], stripslashes($catname)), $_SERVER['PHP_SELF'], 'SUCCESS'); } // End rename_cat() function remove() { global $hesk_settings, $hesklang; /* A security check */ hesk_token_check(); $_SERVER['PHP_SELF'] = 'manage_categories.php'; $mycat = intval(hesk_GET('catid')) or hesk_error($hesklang['no_cat_id']); if ($mycat == 1) { hesk_process_messages($hesklang['cant_del_default_cat'], $_SERVER['PHP_SELF']); } hesk_dbQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` WHERE `id`='" . intval($mycat) . "' LIMIT 1"); if (hesk_dbAffectedRows() != 1) { hesk_error("$hesklang[int_error]: $hesklang[cat_not_found]."); } hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` SET `category`=1 WHERE `category`='" . intval($mycat) . "'"); hesk_process_messages($hesklang['cat_removed_db'], $_SERVER['PHP_SELF'], 'SUCCESS'); } // End remove() function order_cat() { global $hesk_settings, $hesklang; /* A security check */ hesk_token_check(); $catid = intval(hesk_GET('catid')) or hesk_error($hesklang['cat_move_id']); $_SESSION['selcat2'] = $catid; $cat_move = intval(hesk_GET('move')); hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` SET `cat_order`=`cat_order`+" . intval($cat_move) . " WHERE `id`='" . intval($catid) . "' LIMIT 1"); if (hesk_dbAffectedRows() != 1) { hesk_error("$hesklang[int_error]: $hesklang[cat_not_found]."); } /* Update all category fields with new order */ $res = hesk_dbQuery("SELECT `id` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ORDER BY `cat_order` ASC"); $i = 10; while ($mycat = hesk_dbFetchAssoc($res)) { hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` SET `cat_order`=" . intval($i) . " WHERE `id`='" . intval($mycat['id']) . "' LIMIT 1"); $i += 10; } header('Location: manage_categories.php'); exit(); } // End order_cat() function toggle_autoassign() { global $hesk_settings, $hesklang; /* A security check */ hesk_token_check(); $catid = intval(hesk_GET('catid')) or hesk_error($hesklang['cat_move_id']); $_SESSION['selcat2'] = $catid; if (intval(hesk_GET('s'))) { $autoassign = 1; $tmp = $hesklang['caaon']; } else { $autoassign = 0; $tmp = $hesklang['caaoff']; } /* Update auto-assign settings */ $res = hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` SET `autoassign`='" . intval($autoassign) . "' WHERE `id`='" . intval($catid) . "' LIMIT 1"); if (hesk_dbAffectedRows() != 1) { hesk_process_messages($hesklang['int_error'] . ': ' . $hesklang['cat_not_found'], './manage_categories.php'); } hesk_process_messages($tmp, './manage_categories.php', 'SUCCESS'); } // End toggle_autoassign() function toggle_type() { global $hesk_settings, $hesklang; /* A security check */ hesk_token_check(); $catid = intval(hesk_GET('catid')) or hesk_error($hesklang['cat_move_id']); $_SESSION['selcat2'] = $catid; if (intval(hesk_GET('s'))) { $type = 1; $tmp = $hesklang['cpriv']; } else { $type = 0; $tmp = $hesklang['cpub']; } /* Update auto-assign settings */ hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` SET `type`='{$type}' WHERE `id`='" . intval($catid) . "' LIMIT 1"); if (hesk_dbAffectedRows() != 1) { hesk_process_messages($hesklang['int_error'] . ': ' . $hesklang['cat_not_found'], './manage_categories.php'); } hesk_process_messages($tmp, './manage_categories.php', 'SUCCESS'); } // End toggle_type() function output_user_dropdown($userArray) { global $hesklang; if (!hesk_checkPermission('can_set_manager', 0)) { foreach ($userArray as $user) { if ($user['id'] == $selectId) { return '

' . $user['name'] . '

'; } } return '

' . $hesklang['no_manager'] . '

'; } else { $dropdownMarkup = ''; return $dropdownMarkup; } } function get_manager($user_id, $user_array) { global $hesklang; if ($user_id == 0) { return $hesklang['no_manager']; } foreach ($user_array as $user) { if ($user['id'] == $user_id) { return $user['name']; } } } ?>