/*
eTicket, Open Source Support Ticket System
http://eticket.sourceforge.net/
Released under the GNU General Public License
*/
session_start();
@header('Cache-control: private');
require_once('init.php');
session_register('user');
session_register('view');
if ($_POST['view_answered_x']) { $_SESSION['view'] = 'answered'; }
elseif ($_POST['view_closed_x']) { $_SESSION['view'] = 'closed'; }
elseif ($_POST['view_open_x']) { $_SESSION['view'] = 'open'; }
if (!$_REQUEST['a']) {
if ($_POST['close_x']) { $_REQUEST['a'] = 'close'; }
elseif ($_POST['reopen_x']) { $_REQUEST['a'] = 'reopen'; }
}
if (!($_POST['login_email'] || $_POST['login_ticket']) && ($_SESSION['user']['type'] !== 'client')) { $inc = 'user_login'; }
else {
$a = strtolower($_REQUEST['a']);
$_SESSION['user']['id'] = $_POST['login_email'] ? $_POST['login_email']: $_SESSION['user']['id'];
$_SESSION['user']['pass'] = $_POST['login_ticket'] ? $_POST['login_ticket']: $_SESSION['user']['pass'];
$_SESSION['user']['type'] = 'client';
$oslogin = login($_SESSION['user']['type'], $_SESSION['user']['id'], $_SESSION['user']['pass']);
if ($oslogin) {
switch ($a) {
case "view":
$id=preg_replace('/\D+/', '', $_REQUEST['id']);
$titles['viewticket'] .= htmlspecialchars(' [#'.$id.']');
$inc = 'viewticket';
break;
case "close":
if (count($_POST['t'])) {
foreach ($_POST['t'] as $id => $val) { CloseTicket($id); }
}
break;
case "reopen":
if (count($_POST['t'])) {
foreach ($_POST['t'] as $id => $val) { ReopenTicket($id); }
}
break;
case "post":
if ($_POST['message']) {
$id=preg_replace('/\D+/', '', $_POST['id']);
$iid=PostMessage($_POST['id'], $_POST['message']);
$ext = preg_replace("/.*\.(.{3,4})$/", "$1", $_FILES['attachment']['name']);
if ($_FILES['attachment']['name']) {
if ($config['attachment_dir'] and stristr($config['filetypes'], ".$ext;")) {
mt_srand(time());
$rand = mt_rand(100000, 999999);
$filename = $rand.'_'.$_FILES['attachment']['name'];
copy($_FILES['attachment']['tmp_name'], $config['attachment_dir'].$filename);
mysql_query("INSERT INTO ticket_attachments (ticket, ref, filename, type) VALUES ('$id', '$iid', '$filename', 'q')");
}
else { $err = $ext.' '.LANG_ERROR_BAD_FILETYPE.'
'; }
}
$inc = 'viewticket';
}
else { $err = LANG_ERROR_MISSING_FIELDS.'
'; }
break;
case "logout":
session_destroy();
$inc = 'user_login';
break;
}
}
else {
if ($_POST) { $err = LANG_ERROR_LOGIN; session_destroy(); }
$inc = 'user_login';
}
}
$inc = !$inc ? 'main': $inc;
$include=$site_header; if (file_exists($include)) { include_once($include); }
include_once(INCLUDE_DIR."$inc.php");
$include=$site_footer; if (file_exists($include)) { include_once($include); }
?>