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

+ + + + + + + + + + + '; + echo ''; + echo ''; + echo ''; + echo ''; + }} + ?> +
ID:Subject:Creation:Status:
'. $ticket['id'] .''. $ticket['subject'] .''. getClock($ticket['creation'], true) .''. $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

    + + + + + + + + + + + '; + echo ''; + echo ''; + echo ''; + echo ''; + }} + ?> +
    ID:Subject:Creation:Status:
    '. $ticket['id'] .''. $ticket['subject'] .''. getClock($ticket['creation'], true) .''. $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