Only allow getTicketById

merge-requests/3/head
Mike Koch 9 years ago
parent d7876bfe50
commit 1a502e7a1e

@ -1,6 +1,6 @@
<?php
require('/../models/ticket.php');
require(__DIR__ . '/../models/ticket.php');
class TicketRepository {
@ -9,8 +9,8 @@ class TicketRepository {
}
public static function getTicketForId($id, $settings) {
$connection = new mysqli($settings['db_host'], $settings['db_user'], $settings['db_pass'], $settings['db_name']);
if ($connection->connect_error)
{
return ('An error occurred when establishing a connection to the database.');
@ -26,35 +26,6 @@ class TicketRepository {
return self::generateTicketModel($result);
}
public static function getTicketForTrackingId($id, $settings)
{
$connection = new mysqli($settings['db_host'], $settings['db_user'], $settings['db_pass'], $settings['db_name']);
if ($connection->connect_error)
{
return ('An error occurred when establishing a connection to the database.');
}
$sql = self::getDefaultSql($settings).
'WHERE T.trackid = '.$id;
$results = $connection->query($sql);
//-- There should only be one result as Tracking IDs should be unique. If there are two, return a 422 response.
if ($results->num_rows > 1)
{
header(http_response_code(422));
return;
} elseif ($results->num_rows == 0)
{
//-- No ticket found. Return a 404.
header(http_response_code(404));
return;
} else {
$result = $results->fetch_assoc();
$connection->close();
return self::generateTicketModel($result);
}
}
private static function generateTicketModel($result) {
$ticket = new Ticket();

@ -3,21 +3,16 @@
//-- This service will return ticket information for a specific ticket ID (NOT TRACKING ID)
header('Content-Type: application/json');
define('IN_SCRIPT',1);
define('HESK_PATH','/../../');
define('HESK_PATH','../../');
require(HESK_PATH . 'hesk_settings.inc.php');
include('/../repositories/ticketRepository.php');
include(HESK_PATH . 'hesk_settings.inc.php');
include(__DIR__ . '/../repositories/ticketRepository.php');
if(isset($_GET['id']))
{
$ticket = TicketRepository::getTicketForId($_GET['id'], $hesk_settings);
echo json_encode($ticket);
}
elseif (isset($_GET['trackingid']))
{
$ticket = TicketRepository::getTicketForTrackingId($_GET['trackingid'], $hesk_settings);
echo json_encode($ticket);
}
else
{
header(http_response_code(400));
Loading…
Cancel
Save