'; foreach ($hesk_error_buffer as $error) { $myerror .= "
  • $error
  • \n"; } $myerror .= ''; hesk_error($myerror); } if (!$modsForHesk_settings['rich_text_for_tickets']) { $tmpvar['message'] = hesk_makeURL($tmpvar['message']); $tmpvar['message'] = nl2br($tmpvar['message']); } $tmpvar['html'] = hesk_POST('html'); if ($hesk_settings['attachments']['use'] && !empty($attachments)) { foreach ($attachments as $myatt) { hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` (`ticket_id`,`saved_name`,`real_name`,`size`) VALUES ('".hesk_dbEscape($trackingID)."','".hesk_dbEscape($myatt['saved_name'])."','".hesk_dbEscape($myatt['real_name'])."','".intval($myatt['size'])."')"); $myattachments .= hesk_dbInsertID() . '#' . $myatt['real_name'] . '#' . $myatt['saved_name'] . ','; } } hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "replies` SET `html`='" . $tmpvar['html'] . "', `message`='" . hesk_dbEscape($tmpvar['message']) . "', `attachments`=CONCAT(`attachments`, '".hesk_dbEscape($myattachments)."') WHERE `id`='" . intval($tmpvar['id']) . "' AND `replyto`='" . intval($ticket['id']) . "'"); } else { $tmpvar['language'] = hesk_POST('customerLanguage'); $tmpvar['name'] = hesk_input(hesk_POST('name')) or $hesk_error_buffer[] = $hesklang['enter_your_name']; if ($hesk_settings['require_email']) { $tmpvar['email'] = hesk_validateEmail( hesk_POST('email'), 'ERR', 0) or $hesk_error_buffer['email']=$hesklang['enter_valid_email']; } else { $tmpvar['email'] = hesk_validateEmail( hesk_POST('email'), 'ERR', 0); // Not required, but must be valid if it is entered if ($tmpvar['email'] == '') { if (strlen(hesk_POST('email'))) { $hesk_error_buffer['email'] = $hesklang['not_valid_email']; } } } $tmpvar['subject'] = hesk_input(hesk_POST('subject')) or $hesk_error_buffer[] = $hesklang['enter_ticket_subject']; $tmpvar['message'] = hesk_input( hesk_POST('message') ); if ($hesk_settings['require_message'] == 1 && $tmpvar['message'] == '') { $hesk_error_buffer[] = $hesklang['enter_message']; } $tmpvar['html'] = hesk_POST('html'); // Demo mode if (defined('HESK_DEMO')) { $tmpvar['email'] = 'hidden@demo.com'; } // Custom fields foreach ($hesk_settings['custom_fields'] as $k=>$v) { if ($v['use'] && hesk_is_custom_field_in_category($k, $ticket['category'])) { if ($v['req'] == 2) { $v['req'] = '*'; $required_attribute = 'data-error="' . $hesklang['this_field_is_required'] . '" required'; } else { $v['req'] = ''; $required_attribute = ''; } if ($v['type'] == 'checkbox') { $tmpvar[$k]=''; if (isset($_POST[$k]) && is_array($_POST[$k])) { foreach ($_POST[$k] as $myCB) { $tmpvar[$k] .= ( is_array($myCB) ? '' : hesk_input($myCB) ) . '
    '; } $tmpvar[$k]=substr($tmpvar[$k],0,-6); } else { if ($v['req'] == 2) { $hesk_error_buffer[$k]=$hesklang['fill_all'].': '.$v['name']; } $_POST[$k] = ''; } } elseif ($v['type'] == 'date') { $tmpvar[$k] = hesk_POST($k); $_SESSION["as_$k"] = ''; if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $tmpvar[$k])) { $date = strtotime($tmpvar[$k] . ' t00:00:00 UTC'); $dmin = strlen($v['value']['dmin']) ? strtotime($v['value']['dmin'] . ' t00:00:00 UTC') : false; $dmax = strlen($v['value']['dmax']) ? strtotime($v['value']['dmax'] . ' t00:00:00 UTC') : false; $_SESSION["as_$k"] = $tmpvar[$k]; if ($dmin && $dmin > $date) { $hesk_error_buffer[$k] = sprintf($hesklang['d_emin'], $v['name'], hesk_custom_date_display_format($dmin, $v['value']['date_format'])); } elseif ($dmax && $dmax < $date) { $hesk_error_buffer[$k] = sprintf($hesklang['d_emax'], $v['name'], hesk_custom_date_display_format($dmax, $v['value']['date_format'])); } else { $tmpvar[$k] = $date; } } else { if ($v['req'] == 2) { $hesk_error_buffer[$k]=$hesklang['fill_all'].': '.$v['name']; } } } elseif ($v['type'] == 'email') { $tmp = $hesk_settings['multi_eml']; $hesk_settings['multi_eml'] = $v['value']['multiple']; $tmpvar[$k] = hesk_validateEmail( hesk_POST($k), 'ERR', 0); $hesk_settings['multi_eml'] = $tmp; if ($tmpvar[$k] != '') { $_SESSION["as_$k"] = hesk_input($tmpvar[$k]); } else { $_SESSION["as_$k"] = ''; if ($v['req'] == 2) { $hesk_error_buffer[$k] = $v['value']['multiple'] ? sprintf($hesklang['cf_noem'], $v['name']) : sprintf($hesklang['cf_noe'], $v['name']); } } } elseif ($v['req'] == 2) { $tmpvar[$k]=hesk_makeURL(nl2br(hesk_input( hesk_POST($k) ))); if ($tmpvar[$k] == '') { $hesk_error_buffer[$k]=$hesklang['fill_all'].': '.$v['name']; } } else { $tmpvar[$k]=hesk_makeURL(nl2br(hesk_input(hesk_POST($k)))); } } else { $tmpvar[$k] = ''; } } if (count($hesk_error_buffer)) { // Remove any successfully uploaded attachments if ($hesk_settings['attachments']['use'] && isset($attachments)) { hesk_removeAttachments($attachments); } $myerror = ''; hesk_error($myerror); } if (!$tmpvar['html']) { $tmpvar['message'] = hesk_makeURL($tmpvar['message']); $tmpvar['message'] = nl2br($tmpvar['message']); } if ($hesk_settings['attachments']['use'] && !empty($attachments)) { foreach ($attachments as $myatt) { hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` (`ticket_id`,`saved_name`,`real_name`,`size`) VALUES ('".hesk_dbEscape($trackingID)."','".hesk_dbEscape($myatt['saved_name'])."','".hesk_dbEscape($myatt['real_name'])."','".intval($myatt['size'])."')"); $myattachments .= hesk_dbInsertID() . '#' . $myatt['real_name'] . '#' . $myatt['saved_name'] . ','; } } $custom_SQL = ''; for ($i = 1; $i <= 50; $i++) { $custom_SQL .= '`custom'.$i.'`=' . (isset($tmpvar['custom'.$i]) ? "'".hesk_dbEscape($tmpvar['custom'.$i])."'" : "''") . ','; } $custom_SQL = rtrim($custom_SQL, ','); hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` SET `name`='" . hesk_dbEscape($tmpvar['name']) . "', `email`='" . hesk_dbEscape($tmpvar['email']) . "', `subject`='" . hesk_dbEscape($tmpvar['subject']) . "', `message`='" . hesk_dbEscape($tmpvar['message']) . "', `attachments`=CONCAT(`attachments`, '".hesk_dbEscape($myattachments)."'), `language`='" . hesk_dbEscape($tmpvar['language']) . "', `html`='" . hesk_dbEscape($tmpvar['html']) . "', $custom_SQL WHERE `id`='" . intval($ticket['id']) . "' LIMIT 1"); } unset($tmpvar); hesk_cleanSessionVars('tmpvar'); hesk_process_messages($hesklang['edt2'], 'admin_ticket.php?track=' . $trackingID . '&Refresh=' . mt_rand(10000, 99999), 'SUCCESS'); } $ticket['message'] = hesk_msgToPlain($ticket['message'], 0, 0); /* Print header */ require_once(HESK_PATH . 'inc/headerAdmin.inc.php'); /* Print admin navigation */ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); ?>

    >
    '; } ?>
    *'; $required_attribute = 'data-error="' . $hesklang['this_field_is_required'] . '" required'; } ?>
    *'; $required_attribute = 'data-error="' . $hesklang['this_field_is_required'] . '" required'; } ?>
    >
    $v) { if ($v['use'] && hesk_is_custom_field_in_category($k, $ticket['category'])) { $k_value = $ticket[$k]; if ($v['type'] == 'checkbox') { $k_value = explode('
    ', $k_value); } if ($v['req'] == 2) { $v['req'] = '*'; $required_attribute = 'data-error="' . $hesklang['this_field_is_required'] . '" required'; } else { $v['req'] = ''; $required_attribute = ''; } switch ($v['type']) { /* Radio box */ case 'radio': $cls = in_array($k, $_SESSION['iserror']) ? ' isError' : ''; echo '
    '; foreach ($v['value']['radio_options'] as $option) { if (strlen($k_value) == 0) { $k_value = $option; $checked = empty($v['value']['no_default']) ? 'checked="checked"' : ''; } elseif ($k_value == $option) { $k_value = $option; $checked = 'checked="checked"'; } else { $checked = ''; } echo '
    '; } if (!empty($v['mfh_description'])) { echo '
    ' . $v['mfh_description'] . '
    '; } echo '
    '; break; /* Select drop-down box */ case 'select': $cls = in_array($k, $_SESSION['iserror']) ? ' isError' : ''; echo '
    '; echo '
    '; break; /* Checkbox */ case 'checkbox': $cls = in_array($k, $_SESSION['iserror']) ? ' isError' : ''; echo '
    '; foreach ($v['value']['checkbox_options'] as $option) { if (in_array($option, $k_value)) { $checked = 'checked'; } else { $checked = ''; } echo '
    '; } if (!empty($v['mfh_description'])) { echo '
    ' . $v['mfh_description'] . '
    '; } echo '
    '; break; /* Large text box */ case 'textarea': $cls = in_array($k, $_SESSION['iserror']) ? ' isError' : ''; $k_value = hesk_msgToPlain($k_value, 0, 0); echo '
    '; if (!empty($v['mfh_description'])) { echo '
    ' . $v['mfh_description'] . '
    '; } echo '
    '; break; // Date case 'date': if ($required_attribute !== '') { $required_attribute .= ' pattern="[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])"'; } $cls = in_array($k, $_SESSION['iserror']) ? ' isError' : ''; $k_value = hesk_custom_date_display_format($k_value, 'Y-m-d'); echo '
    '; if (!empty($v['mfh_description'])) { echo '
    ' . $v['mfh_description'] . '
    '; } echo '
    '; break; // Email case 'email': $cls = in_array($k, $_SESSION['iserror']) ? ' class="isError" ' : ''; $suggest = $hesk_settings['detect_typos'] ? 'onblur="Javascript:hesk_suggestEmail(\'' . $k . '\', \'' . $k . '_suggestions\', 0, 1' . ($v['value']['multiple'] ? ',1' : '') . ')"' : ''; echo '
    '; if (!empty($v['mfh_description'])) { echo '
    ' . $v['mfh_description'] . '
    '; } echo '
    '; break; // Hidden (same as text for staff) case 'hidden': case 'readonly': default: $k_value = hesk_msgToPlain($k_value,0,0); $cls = in_array($k, $_SESSION['iserror']) ? ' isError' : ''; echo '
    '; if (!empty($v['mfh_description'])) { echo '
    ' . $v['mfh_description'] . '
    '; } echo '
    '; } } } } ?>
    *'; $required_attribute = 'data-error="' . $hesklang['this_field_is_required'] . '" required'; } ?>