$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; } ?>

*

1): ?>
 
>
$v) { if ($v['use'] && $v['place']==0 && hesk_is_custom_field_in_category($k, $category) ) { $v['req'] = $v['req']==2 ? '*' : ''; if ($v['type'] == 'checkbox') { $k_value = array(); if (isset($_SESSION["as_$k"]) && is_array($_SESSION["as_$k"])) { foreach ($_SESSION["as_$k"] as $myCB) { $k_value[] = stripslashes(hesk_input($myCB)); } } } elseif (isset($_SESSION["as_$k"])) { $k_value = stripslashes(hesk_input($_SESSION["as_$k"])); } else { $k_value = ''; } switch ($v['type']) { /* Radio box */ case 'radio': $cls = in_array($k,$_SESSION['iserror']) ? 'isError' : ''; echo '
'; $index = 0; foreach ($v['value']['radio_options'] as $option) { if (strlen($k_value) == 0) { $k_value = $option; $checked = empty($v['value']['no_default']) ? 'checked' : ''; } elseif ($k_value == $option) { $k_value = $option; $checked = 'checked'; } else { $checked = ''; } echo '
'; $index++; } echo '
'; break; /* Select drop-down box */ case 'select': $cls = in_array($k,$_SESSION['iserror']) ? ' class="isError" ' : ''; echo '
'; break; /* Checkbox */ case 'checkbox': $cls = in_array($k,$_SESSION['iserror']) ? 'isError' : ''; echo '
'; $index = 0; foreach ($v['value']['checkbox_options'] as $option) { if (in_array($option,$k_value)) { $checked = 'checked'; } else { $checked = ''; } echo '
'; $index++; } echo '
'; break; /* Large text box */ case 'textarea': $cls = in_array($k,$_SESSION['iserror']) ? ' isError" ' : ''; $k_value = hesk_msgToPlain($k_value,0,0); echo '
'; break; // Date case 'date': $cls = in_array($k,$_SESSION['iserror']) ? 'isErrorStr' : ''; if (is_string($k_value) && ($dd = hesk_datepicker_get_date($k_value))) { $hesk_settings['datepicker']['#'.$k]['timestamp'] = $dd->getTimestamp(); } echo '
'. $k_value .'
'; break; // Email case 'email': $cls = in_array($k,$_SESSION['iserror']) ? 'isError' : ''; $suggest = $hesk_settings['detect_typos'] ? 'onblur="Javascript:hesk_suggestEmail(\''.$k.'\', \''.$k.'_suggestions\', 0, 1'.($v['value']['multiple'] ? ',1' : '').')"' : ''; echo '
'; break; // Hidden // Handle as text fields for staff /* Default text input */ default: if (strlen($k_value) != 0 || isset($_SESSION["as_$k"])) { $v['value']['default_value'] = $k_value; } $cls = in_array($k,$_SESSION['iserror']) ? 'isError' : ''; echo '
'; } } } ?>
$v) { if ($v['use'] && $v['place']==1 && hesk_is_custom_field_in_category($k, $category) ) { $v['req'] = $v['req']==2 ? '*' : ''; if ($v['type'] == 'checkbox') { $k_value = array(); if (isset($_SESSION["as_$k"]) && is_array($_SESSION["as_$k"])) { foreach ($_SESSION["as_$k"] as $myCB) { $k_value[] = stripslashes(hesk_input($myCB)); } } } elseif (isset($_SESSION["as_$k"])) { $k_value = stripslashes(hesk_input($_SESSION["as_$k"])); } else { $k_value = ''; } switch ($v['type']) { /* Radio box */ case 'radio': echo '
'; $cls = in_array($k,$_SESSION['iserror']) ? ' class="isError" ' : ''; $index = 0; foreach ($v['value']['radio_options'] as $option) { if (strlen($k_value) == 0) { $k_value = $option; $checked = empty($v['value']['no_default']) ? 'checked' : ''; } elseif ($k_value == $option) { $k_value = $option; $checked = 'checked'; } else { $checked = ''; } echo '
'; $index++; } echo '
'; break; /* Select drop-down box */ case 'select': $cls = in_array($k,$_SESSION['iserror']) ? ' class="isError" ' : ''; echo '
'; break; /* Checkbox */ case 'checkbox': echo '
'; $cls = in_array($k,$_SESSION['iserror']) ? ' class="isError" ' : ''; $index = 0; foreach ($v['value']['checkbox_options'] as $option) { if (in_array($option,$k_value)) { $checked = 'checked'; } else { $checked = ''; } echo '
'; $index++; } echo '
'; break; /* Large text box */ case 'textarea': $cls = in_array($k,$_SESSION['iserror']) ? ' isError" ' : ''; $k_value = hesk_msgToPlain($k_value,0,0); echo '
'; break; // Date case 'date': $cls = in_array($k,$_SESSION['iserror']) ? 'isErrorStr' : ''; if (is_string($k_value) && ($dd = hesk_datepicker_get_date($k_value))) { $hesk_settings['datepicker']['#'.$k]['timestamp'] = $dd->getTimestamp(); } echo '
'. $k_value .'
'; break; // Email case 'email': $cls = in_array($k,$_SESSION['iserror']) ? 'isError' : ''; $suggest = $hesk_settings['detect_typos'] ? 'onblur="Javascript:hesk_suggestEmail(\''.$k.'\', \''.$k.'_suggestions\', 0, 1'.($v['value']['multiple'] ? ',1' : '').')"' : ''; echo '
'; break; // Hidden // Handle as text fields for staff /* Default text input */ default: if (strlen($k_value) != 0 || isset($_SESSION["as_$k"])) { $v['value']['default_value'] = $k_value; } $cls = in_array($k,$_SESSION['iserror']) ? 'isError' : ''; echo '
'; } } } ?>
:
>
>
getTimestamp(); } elseif ($default_due_date_info !== null && $due_date === null) { $current_date = new DateTime('today midnight'); $current_date->add(DateInterval::createFromDateString("+{$default_due_date_info['amount']} {$default_due_date_info['unit']}s")); $hesk_settings['datepicker']['#due_date']['timestamp'] = $current_date->getTimestamp(); $due_date = hesk_datepicker_format_date($current_date->getTimestamp()); } ?>

>

 

 

 

 

 

$hesk_settings['cat_show_select']) { ?>

$v) { hesk_cleanSessionVars("as_$k"); } $hesk_settings['POPULATE_DATA_RESET'] = true; return true; } // END hesk_new_ticket_reset_data()