khanat-opennel-code/code/ryzom/tools/server/ryzom_ams/www/html/func/reply_on_ticket.php

48 lines
No EOL
1.6 KiB
PHP

<?php
function reply_on_ticket(){
//if logged in
if(WebUsers::isLoggedIn() && isset($_POST['ticket_id'])){
$ticket_id = filter_var($_POST['ticket_id'], FILTER_SANITIZE_NUMBER_INT);
$target_ticket = new Ticket();
$target_ticket->load_With_TId($ticket_id);
if(($target_ticket->getAuthor() == $_SESSION['ticket_user']->getTUserId()) || WebUsers::isAdmin() ){
try{
$content = filter_var($_POST['Content'], FILTER_SANITIZE_STRING);
$author = $_SESSION['ticket_user']->getTUserId();
Ticket_Reply::createReply($content, $author, $ticket_id);
if(isset($_POST['ChangeStatus']) && WebUsers::isAdmin()){
$newStatus = filter_var($_POST['ChangeStatus'], FILTER_SANITIZE_NUMBER_INT);
$ticket = new Ticket();
$ticket->load_With_TId($ticket_id);
$ticket->setStatus($newStatus);
$ticket->update();
}
header("Location: index.php?page=show_ticket&id=".$ticket_id);
exit;
}catch (PDOException $e) {
//ERROR: LIB DB is not online!
header("Location: index.php");
exit;
}
}else{
//ERROR: No access!
$_SESSION['error_code'] = "403";
header("Location: index.php?page=error");
exit;
}
}else{
//ERROR: not logged in!
header("Location: index.php");
exit;
}
}