*
$v) { if ($v['use'] && isset($_REQUEST[$k])) { hesk_new_ticket_reset_data(); } } // Customer name if (isset($_REQUEST['name'])) { $_SESSION['as_name'] = $_REQUEST['name']; } // Customer email address if (isset($_REQUEST['email'])) { $_SESSION['as_email'] = $_REQUEST['email']; $_SESSION['as_email2'] = $_REQUEST['email']; } // Category ID if (isset($_REQUEST['catid'])) { $_SESSION['as_category'] = intval($_REQUEST['catid']); } if (isset($_REQUEST['category'])) { $_SESSION['as_category'] = intval($_REQUEST['category']); } // Priority if (isset($_REQUEST['priority'])) { $_SESSION['as_priority'] = intval($_REQUEST['priority']); } // Status if (isset($_REQUEST['status'])) { $_SESSION['as_status'] = intval($_REQUEST['status']); } // Subject if (isset($_REQUEST['subject'])) { $_SESSION['as_subject'] = $_REQUEST['subject']; } // Message if (isset($_REQUEST['message'])) { $_SESSION['as_message'] = $_REQUEST['message']; } // Custom fields foreach ($hesk_settings['custom_fields'] as $k=>$v) { if ($v['use'] && isset($_REQUEST[$k]) ) { $_SESSION['as_'.$k] = $_REQUEST[$k]; } } // Due date $can_due_date = hesk_checkPermission('can_due_date',0); if ($can_due_date && isset($_REQUEST['due_date'])) { // Should be in one of valid formats // - in the datepicker format if (($dd = hesk_datepicker_get_date($_REQUEST['due_date']))) { $_SESSION['as_due_date'] = $_REQUEST['due_date']; $hesk_settings['datepicker']['#due_date']['timestamp'] = $dd->getTimestamp(); } // - in a valid datetime format: https://www.php.net/manual/en/datetime.formats.date.php else { try { $current_date = new DateTime($_REQUEST['due_date']); $hesk_settings['datepicker']['#due_date']['timestamp'] = $current_date->getTimestamp(); $_REQUEST['due_date'] = hesk_datepicker_format_date($current_date->getTimestamp()); $_SESSION['as_due_date'] = $_REQUEST['due_date']; } catch(Exception $e) { $_SESSION['HESK_2ND_NOTICE'] = true; $_SESSION['HESK_2ND_MESSAGE'] = $hesklang['epdd'] . ' ' . $e->getMessage(); } } } // Ticket language if (isset($_REQUEST['ticket_language'])) { $_SESSION['as_language'] = $_REQUEST['ticket_language']; } /* Varibles for coloring the fields in case of errors */ if (!isset($_SESSION['iserror'])) { $_SESSION['iserror'] = array(); } if (!isset($_SESSION['isnotice'])) { $_SESSION['isnotice'] = array(); } /* Print header */ require_once(HESK_PATH . 'inc/header.inc.php'); /* Print admin navigation */ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); // Get categories $hesk_settings['categories'] = array(); if (hesk_checkPermission('can_submit_any_cat', 0)) { $res = hesk_dbQuery("SELECT `id`, `name`, `priority` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."categories` ORDER BY `cat_order` ASC"); } else { $res = hesk_dbQuery("SELECT `id`, `name`, `priority` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."categories` WHERE ".hesk_myCategories('id')." ORDER BY `cat_order` ASC"); } while ($row=hesk_dbFetchAssoc($res)) { $hesk_settings['categories'][$row['id']] = array('name' => $row['name'], 'priority' => $row['priority']); } $number_of_categories = count($hesk_settings['categories']); if ($number_of_categories == 0) { $category = 1; } elseif ($number_of_categories == 1) { $category = current(array_keys($hesk_settings['categories'])); } else { $category = isset($_GET['catid']) ? hesk_REQUEST('catid'): hesk_REQUEST('category'); // Force the customer to select a category? if (! isset($hesk_settings['categories'][$category]) ) { return print_select_category($number_of_categories); } } // List of users whom this ticket can be assigned to $admins = array(); $res = hesk_dbQuery("SELECT `id`,`name`,`isadmin`,`categories`,`heskprivileges` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ORDER BY `name` ASC"); while ($row = hesk_dbFetchAssoc($res)) { // Is this an administrator? if ($row['isadmin']) { $admins[$row['id']]=$row['name']; continue; } // Not admin, is user allowed to view tickets? if (strpos($row['heskprivileges'], 'can_view_tickets') !== false) { // Is user allowed to access this category? $cat = substr($row['categories'], 0); $row['categories'] = explode(',', $cat); if (in_array($category, $row['categories'])) { $admins[$row['id']] = $row['name']; continue; } } } // Set the default category priority if ( ! isset($_SESSION['as_priority'])) { $_SESSION['as_priority'] = intval($hesk_settings['categories'][$category]['priority']); } // Set the default ticket status if ( ! isset($_SESSION['as_status'])) { $_SESSION['as_status'] = 0; } ?>