diff --git a/api/canned/index.php b/api/canned/index.php index e1e8de31..0dd2548c 100644 --- a/api/canned/index.php +++ b/api/canned/index.php @@ -18,6 +18,10 @@ if ($request_method == 'GET') { } else { $results = get_canned_response($hesk_settings); } + + if ($results == NULL) { + return http_response_code(404); + } output($results); } else { return http_response_code(405); diff --git a/api/dao/ticket_dao.php b/api/dao/ticket_dao.php new file mode 100644 index 00000000..ddd85c7b --- /dev/null +++ b/api/dao/ticket_dao.php @@ -0,0 +1,21 @@ + diff --git a/web-services/repositories/ticketRepository.php b/web-services/repositories/ticketRepository.php deleted file mode 100644 index d77ea61c..00000000 --- a/web-services/repositories/ticketRepository.php +++ /dev/null @@ -1,144 +0,0 @@ -connect_error) - { - return ('An error occurred when establishing a connection to the database.'); - } - - $sql = self::getDefaultSql($settings). - 'WHERE T.id = '.$id; - $results = $connection->query($sql); - - //-- There will only ever be one result, as ID is the primary key on the tickets table. - $result = $results->fetch_assoc(); - $connection->close(); - return self::generateTicketModel($result); - } - - private static function generateTicketModel($result) { - $ticket = new Ticket(); - - settype($result['id'], 'int'); - $ticket->id = $result['id']; - - $ticket->trackingId = $result['trackid']; - $ticket->name = $result['ContactName']; - $ticket->email = $result['email']; - - settype($result['category'], 'int'); - $ticket->category = $result['category']; - - settype($result['priority'], 'int'); - $ticket->priority = $result['priority']; - - $ticket->subject = $result['subject']; - $ticket->message = $result['message']; - - //-- Convert these to times so the receiver can use whatever format they want to display the date/time without extra work. - $ticket->dateCreated = strtotime($result['dt']); - $ticket->dateModified = strtotime($result['lastchange']); - $ticket->ip = $result['ip']; - $ticket->language = $result['language']; - - settype($result['status'], 'int'); - $ticket->status = $result['status']; - - settype($result['owner'], 'int'); - $ticket->owner = $result['owner']; - - $ticket->timeWorked = $result['time_worked']; - - settype($result['lastreplier'], 'int'); - $ticket->lastReplier = $result['lastreplier']; - - settype($result['replierid'], 'int'); - $ticket->replierId = $result['replierid']; - $ticket->isArchived = ($result['archive'] ? true : false); - $ticket->isLocked = ($result['locked'] ? true : false); - $ticket->attachments = $result['attachments']; - - //-- explode handles splitting the list into an array, array_filter removes the empty string elements (""), and array_values resets the indicies. - $ticket->merged = array_values(array_filter(explode('#',$result['merged']))); - - //-- Not currently returning history, as it can contain a metric shit-ton of HTML code and will cludder up the JSON response. - //$ticket->history = $result['history']; - $ticket->custom1 = $result['custom1'] == '' ? null : $result['custom1']; - $ticket->custom2 = $result['custom2'] == '' ? null : $result['custom2']; - $ticket->custom3 = $result['custom3'] == '' ? null : $result['custom3']; - $ticket->custom4 = $result['custom4'] == '' ? null : $result['custom4']; - $ticket->custom5 = $result['custom5'] == '' ? null : $result['custom5']; - $ticket->custom6 = $result['custom6'] == '' ? null : $result['custom6']; - $ticket->custom7 = $result['custom7'] == '' ? null : $result['custom7']; - $ticket->custom8 = $result['custom8'] == '' ? null : $result['custom8']; - $ticket->custom9 = $result['custom9'] == '' ? null : $result['custom9']; - $ticket->custom10 = $result['custom10'] == '' ? null : $result['custom10']; - $ticket->custom11 = $result['custom11'] == '' ? null : $result['custom11']; - $ticket->custom12 = $result['custom12'] == '' ? null : $result['custom12']; - $ticket->custom13 = $result['custom13'] == '' ? null : $result['custom13']; - $ticket->custom14 = $result['custom14'] == '' ? null : $result['custom14']; - $ticket->custom15 = $result['custom15'] == '' ? null : $result['custom15']; - $ticket->custom16 = $result['custom16'] == '' ? null : $result['custom16']; - $ticket->custom17 = $result['custom17'] == '' ? null : $result['custom17']; - $ticket->custom18 = $result['custom18'] == '' ? null : $result['custom18']; - $ticket->custom19 = $result['custom19'] == '' ? null : $result['custom19']; - $ticket->custom20 = $result['custom20'] == '' ? null : $result['custom20']; - - return $ticket; - } - - private function getDefaultSql($settings) { - return 'SELECT T.id, '. - 'T.trackid, '. - 'T.name AS "ContactName", '. - 'T.email, '. - 'T.category, '. - 'T.priority, '. - 'T.subject, '. - 'T.message, '. - 'T.dt, '. - 'T.lastchange, '. - 'T.ip, '. - 'T.language, '. - 'T.status, '. - 'T.owner, '. - 'T.time_worked, '. - 'T.lastreplier, '. - 'T.replierid, '. - 'T.archive, '. - 'T.locked, '. - 'T.attachments, '. - 'T.merged, '. - 'T.custom1, '. - 'T.custom2, '. - 'T.custom3, '. - 'T.custom4, '. - 'T.custom5, '. - 'T.custom6, '. - 'T.custom7, '. - 'T.custom8, '. - 'T.custom9, '. - 'T.custom10, '. - 'T.custom11, '. - 'T.custom12, '. - 'T.custom13, '. - 'T.custom14, '. - 'T.custom15, '. - 'T.custom16, '. - 'T.custom17, '. - 'T.custom18, '. - 'T.custom19, '. - 'T.custom20 '. - 'FROM '.$settings['db_pfix'].'tickets T '; - } -} diff --git a/web-services/ticket/index.php b/web-services/ticket/index.php deleted file mode 100644 index 2db108b1..00000000 --- a/web-services/ticket/index.php +++ /dev/null @@ -1,19 +0,0 @@ -