diff --git a/admin_helpdesk.php b/admin_helpdesk.php
new file mode 100644
index 0000000..9a4c27c
--- /dev/null
+++ b/admin_helpdesk.php
@@ -0,0 +1,124 @@
+ $_GET['view'],
+ 'username'=> $_POST['username'],
+ 'message' => $_POST['reply_text'],
+ 'created' => time(),
+ );
+
+ //Sanitize array
+ array_walk($query, 'array_sanitize');
+
+ $fields = '`'. implode('`, `', array_keys($query)) .'`';
+ $data = '\''. implode('\', \'', $query) .'\'';
+ mysql_insert("INSERT INTO `znote_tickets_replies` ($fields) VALUES ($data)");
+ mysql_update("UPDATE `znote_tickets` SET `status`='Staff-Reply' WHERE `id`=". $_GET['view']);
+
+ }
+
+$ticketData = mysql_select_single("SELECT * FROM znote_tickets WHERE id=". addslashes((int)$_GET['view']));
+
+ ?>
+
View Ticket #
+
+
+
+
+
+ - Created by:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Posted by:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Latest Tickets
+
+
+
+
+
+ ID:
+ Subject:
+ Creation:
+ Status:
+
+ ';
+ echo ''. $ticket['id'] .' ';
+ echo ''. $ticket['subject'] .' ';
+ echo ''. getClock($ticket['creation'], true) .' ';
+ echo ''. $ticket['status'] .' ';
+ }}
+ ?>
+
+
+
diff --git a/engine/database/connect.php b/engine/database/connect.php
index bd4bba3..a3229e1 100644
--- a/engine/database/connect.php
+++ b/engine/database/connect.php
@@ -221,6 +221,28 @@ CREATE TABLE IF NOT EXISTS `znote_guild_wars` (
PRIMARY KEY (`id`),
FOREIGN KEY (`id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+CREATE TABLE IF NOT EXISTS `znote_tickets` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `owner` int(11) NOT NULL,
+ `username` varchar(32) CHARACTER SET latin1 NOT NULL,
+ `subject` text CHARACTER SET latin1 NOT NULL,
+ `message` text CHARACTER SET latin1 NOT NULL,
+ `ip` int(11) NOT NULL,
+ `creation` int(11) NOT NULL,
+ `status` varchar(20) CHARACTER SET latin1 NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+CREATE TABLE IF NOT EXISTS `znote_tickets_replies` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `tid` int(11) NOT NULL,
+ `username` varchar(32) CHARACTER SET latin1 NOT NULL,
+ `message` text CHARACTER SET latin1 NOT NULL,
+ `created` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
diff --git a/helpdesk.php b/helpdesk.php
new file mode 100644
index 0000000..df1f22e
--- /dev/null
+++ b/helpdesk.php
@@ -0,0 +1,243 @@
+ $_GET['view'],
+ 'username'=> $_POST['username'],
+ 'message' => $_POST['reply_text'],
+ 'created' => time(),
+ );
+
+ //Sanitize array
+ array_walk($query, 'array_sanitize');
+
+ $fields = '`'. implode('`, `', array_keys($query)) .'`';
+ $data = '\''. implode('\', \'', $query) .'\'';
+ mysql_insert("INSERT INTO `znote_tickets_replies` ($fields) VALUES ($data)");
+ mysql_update("UPDATE `znote_tickets` SET `status`='Player-Reply' WHERE `id`=". $_GET['view']);
+
+ }
+
+$ticketData = mysql_select_single("SELECT * FROM znote_tickets WHERE id=". addslashes((int)$_GET['view']));
+
+if($ticketData['owner'] != $session_user_id){
+echo 'You can not view this ticket!';
+die;
+}
+ ?>
+View Ticket #
+
+
+
+
+
+ - Created by:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Posted by:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$value) {
+ if (empty($value) && in_array($key, $required_fields) === true) {
+ $errors[] = 'You need to fill in all fields.';
+ break 1;
+ }
+ }
+
+ // check errors (= user exist, pass long enough
+ if (empty($errors) === true) {
+ /* Token used for cross site scripting security */
+ if (!Token::isValid($_POST['token'])) {
+ $errors[] = 'Token is invalid.';
+ }
+ if ($config['use_captcha']) {
+ include_once 'captcha/securimage.php';
+ $securimage = new Securimage();
+ if ($securimage->check($_POST['captcha_code']) == false) {
+ $errors[] = 'Captcha image verification was submitted wrong.';
+ }
+ }
+ if (validate_ip(getIP()) === false && $config['validate_IP'] === true) {
+ $errors[] = 'Failed to recognize your IP address. (Not a valid IPv4 address).';
+ }
+ }
+}
+
+?>
+Latest Tickets
+
+
+
+
+
+ ID:
+ Subject:
+ Creation:
+ Status:
+
+ ';
+ echo ''. $ticket['id'] .' ';
+ echo ''. $ticket['subject'] .' ';
+ echo ''. getClock($ticket['creation'], true) .' ';
+ echo ''. $ticket['status'] .' ';
+ }}
+ ?>
+
+
+
+
+
+Helpdesk
+ $session_user_id,
+ 'username'=> $_POST['username'],
+ 'subject' => $_POST['subject'],
+ 'message' => $_POST['message'],
+ 'ip' => ip2long(getIP()),
+ 'creation' => time(),
+ 'status' => 'Open'
+ );
+
+
+ //Sanitize array
+ array_walk($query, 'array_sanitize');
+
+ $fields = '`'. implode('`, `', array_keys($query)) .'`';
+ $data = '\''. implode('\', \'', $query) .'\'';
+ mysql_insert("INSERT INTO `znote_tickets` ($fields) VALUES ($data)");
+
+ header('Location: helpdesk.php?success');
+ exit();
+
+ } else if (empty($errors) === false){
+ echo '';
+ echo output_errors($errors);
+ echo ' ';
+ }
+?>
+
+
+
+
diff --git a/layout/menu.php b/layout/menu.php
index 15d6b2e..8097da1 100644
--- a/layout/menu.php
+++ b/layout/menu.php
@@ -8,6 +8,7 @@
Item Market
Gallery
Support
+ Helpdesk
Houses
Deaths
Killers
diff --git a/layout/widgets/Wadmin.php b/layout/widgets/Wadmin.php
index 5e032c2..a5d808f 100644
--- a/layout/widgets/Wadmin.php
+++ b/layout/widgets/Wadmin.php
@@ -17,6 +17,9 @@
Admin Reports
+
+ Admin Helpdesk
+
Admin Shop