|
|
|
@ -1,12 +1,16 @@
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
function get_events($start, $end, $hesk_settings) {
|
|
|
|
|
function get_events($start, $end, $hesk_settings, $staff = true) {
|
|
|
|
|
$sql = "SELECT `events`.*, `categories`.`name` AS `category_name`, `categories`.`color` AS `category_color`
|
|
|
|
|
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` AS `events`
|
|
|
|
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
|
|
|
|
|
ON `events`.`category` = `categories`.`id`
|
|
|
|
|
WHERE `start` >= FROM_UNIXTIME(" . hesk_dbEscape($start)
|
|
|
|
|
. " / 1000) AND `end` <= FROM_UNIXTIME(" . hesk_dbEscape($end) . " / 1000)";
|
|
|
|
|
. " / 1000) AND `end` <= FROM_UNIXTIME(" . hesk_dbEscape($end) . " / 1000) AND `categories`.`usage` <> 1";
|
|
|
|
|
|
|
|
|
|
if (!$staff) {
|
|
|
|
|
$sql .= " AND `categories`.`type` = '0'";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$rs = hesk_dbQuery($sql);
|
|
|
|
|
|
|
|
|
@ -26,26 +30,28 @@ function get_events($start, $end, $hesk_settings) {
|
|
|
|
|
$events[] = $event;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT `trackid`, `subject`, `due_date`, `category`, `categories`.`name` AS `category_name`, `categories`.`color` AS `category_color`,
|
|
|
|
|
CASE WHEN `due_date` < CURDATE() THEN 1 ELSE 0 END AS `overdue`
|
|
|
|
|
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` AS `tickets`
|
|
|
|
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
|
|
|
|
|
ON `categories`.`id` = `tickets`.`category`
|
|
|
|
|
WHERE `due_date` >= FROM_UNIXTIME(" . intval($start) . " / 1000)
|
|
|
|
|
AND `due_date` <= FROM_UNIXTIME(" . intval($end) . " / 1000)
|
|
|
|
|
AND `status` IN (SELECT `id` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` WHERE `IsClosed` = 0) ";
|
|
|
|
|
|
|
|
|
|
$rs = hesk_dbQuery($sql);
|
|
|
|
|
while ($row = hesk_dbFetchAssoc($rs)) {
|
|
|
|
|
$event['type'] = 'TICKET';
|
|
|
|
|
$event['trackingId'] = $row['trackid'];
|
|
|
|
|
$event['title'] = '[' . $row['trackid'] . '] ' . $row['subject'];
|
|
|
|
|
$event['startTime'] = $row['due_date'];
|
|
|
|
|
$event['url'] = $hesk_settings['hesk_url'] . '/' . $hesk_settings['admin_dir'] . '/admin_ticket.php?track=' . $event['trackingId'];
|
|
|
|
|
$event['categoryId'] = $row['category'];
|
|
|
|
|
$event['categoryName'] = $row['category_name'];
|
|
|
|
|
$event['categoryColor'] = $row['overdue'] ? '#dd0000' : $row['category_color'];
|
|
|
|
|
$events[] = $event;
|
|
|
|
|
if ($staff) {
|
|
|
|
|
$sql = "SELECT `trackid`, `subject`, `due_date`, `category`, `categories`.`name` AS `category_name`, `categories`.`color` AS `category_color`,
|
|
|
|
|
CASE WHEN `due_date` < CURDATE() THEN 1 ELSE 0 END AS `overdue`
|
|
|
|
|
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` AS `tickets`
|
|
|
|
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
|
|
|
|
|
ON `categories`.`id` = `tickets`.`category`
|
|
|
|
|
WHERE `due_date` >= FROM_UNIXTIME(" . intval($start) . " / 1000)
|
|
|
|
|
AND `due_date` <= FROM_UNIXTIME(" . intval($end) . " / 1000)
|
|
|
|
|
AND `status` IN (SELECT `id` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` WHERE `IsClosed` = 0) ";
|
|
|
|
|
|
|
|
|
|
$rs = hesk_dbQuery($sql);
|
|
|
|
|
while ($row = hesk_dbFetchAssoc($rs)) {
|
|
|
|
|
$event['type'] = 'TICKET';
|
|
|
|
|
$event['trackingId'] = $row['trackid'];
|
|
|
|
|
$event['title'] = '[' . $row['trackid'] . '] ' . $row['subject'];
|
|
|
|
|
$event['startTime'] = $row['due_date'];
|
|
|
|
|
$event['url'] = $hesk_settings['hesk_url'] . '/' . $hesk_settings['admin_dir'] . '/admin_ticket.php?track=' . $event['trackingId'];
|
|
|
|
|
$event['categoryId'] = $row['category'];
|
|
|
|
|
$event['categoryName'] = $row['category_name'];
|
|
|
|
|
$event['categoryColor'] = $row['overdue'] ? '#dd0000' : $row['category_color'];
|
|
|
|
|
$events[] = $event;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $events;
|
|
|
|
|