init(); $rs = hesk_dbQuery("SELECT * FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "tickets` WHERE `id` = " . intval($id)); if (hesk_dbNumRows($rs) === 0) { return null; } $row = hesk_dbFetchAssoc($rs); $linkedTicketsRs = hesk_dbQuery("SELECT * FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "tickets` WHERE `parent` = " . intval($id)); $ticket = Ticket::fromDatabaseRow($row, $linkedTicketsRs, $heskSettings); $this->close(); return $ticket; } /** * @param $emailAddress string * @param $heskSettings array * @return array|null */ function getTicketsByEmail($emailAddress, $heskSettings) { $this->init(); $rs = hesk_dbQuery("SELECT * FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "tickets` WHERE `email` = '" . hesk_dbEscape($emailAddress) . "'"); if (hesk_dbNumRows($rs) === 0) { return null; } $tickets = array(); while ($row = hesk_dbFetchAssoc($rs)) { $linkedTicketsRs = hesk_dbQuery("SELECT * FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "tickets` WHERE `parent` = " . intval($row['id'])); $tickets[] = Ticket::fromDatabaseRow($row, $linkedTicketsRs, $heskSettings); } $this->close(); return $tickets; } /** * @param $trackingId string * @param $heskSettings array * @return Ticket|null */ function getTicketByTrackingId($trackingId, $heskSettings) { $this->init(); $rs = hesk_dbQuery("SELECT * FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "tickets` WHERE `id` = " . intval($trackingId)); if (hesk_dbNumRows($rs) === 0) { return null; } $row = hesk_dbFetchAssoc($rs); $linkedTicketsRs = hesk_dbQuery("SELECT * FROM `" . hesk_dbEscape($heskSettings['db_pfix']) . "tickets` WHERE `parent` = " . intval($trackingId)); $ticket = Ticket::fromDatabaseRow($row, $linkedTicketsRs, $heskSettings); $this->close(); return $ticket; } }