Add ability to retrieve events. Also change dates to epoch format

merge-requests/1/head
Mike Koch 8 years ago
parent 816a4413e1
commit b9a1b7fe6b

@ -722,13 +722,13 @@ function execute260Scripts()
`date_uploaded` TIMESTAMP NOT NULL) ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");
executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`start` TIMESTAMP,
`end` TIMESTAMP,
`start` INT,
`end` INT,
`all_day` ENUM('0','1') NOT NULL,
`name` VARCHAR(255) NOT NULL,
`location` VARCHAR(255),
`comments` MEDIUMTEXT,
`create_ticket_date` TIMESTAMP NOT NULL,
`create_ticket_date` INT,
`create_ticket_assign_to` INT) ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.6.0' WHERE `Key` = 'modsForHeskVersion'");
}

@ -0,0 +1,27 @@
<?php
define('IN_SCRIPT', 1);
define('HESK_PATH', '../../../');
define('INTERNAL_API_PATH', '../../');
require_once(HESK_PATH . 'hesk_settings.inc.php');
require_once(HESK_PATH . 'inc/common.inc.php');
require_once(HESK_PATH . 'inc/attachments.inc.php');
require_once(HESK_PATH . 'inc/posting_functions.inc.php');
require_once(INTERNAL_API_PATH . 'core/output.php');
require_once(INTERNAL_API_PATH . 'dao/calendar_dao.php');
hesk_load_internal_api_database_functions();
hesk_dbConnect();
$modsForHesk_settings = mfh_getSettings();
// Routing
$request_method = $_SERVER['REQUEST_METHOD'];
if ($request_method === 'GET') {
$start = $_GET['start'];
$end = $_GET['end'];
$events = get_events($start, $end, $hesk_settings);
return output($events);
}
return http_response_code(400);

@ -0,0 +1,25 @@
<?php
function get_events($start, $end, $hesk_settings) {
$sql = "SELECT * FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` WHERE `start` >= " . intval($start)
. " AND `end` <= " . intval($end);
$rs = hesk_dbQuery($sql);
$events = [];
while ($row = hesk_dbFetchAssoc($rs)) {
$event['id'] = intval($row['id']);
$event['start'] = intval($row['start']);
$event['end'] = intval($row['end']);
$event['all_day'] = $row['all_day'] ? true : false;
$event['name'] = $row['name'];
$event['location'] = $row['location'];
$event['comments'] = $row['comments'];
$event['create_ticket_date'] = $row['create_ticket_date'] != null ? intval($row['create_ticket_date']) : null;
$event['create_ticket_assign_to'] = $row['create_ticket_assign_to'] != null ? intval($row['create_ticket_assign_to']) : null;
$events[] = $event;
}
return $events;
}

@ -6,6 +6,21 @@ $(document).ready(function() {
right: 'month,agendaWeek,agendaDay'
},
editable: true,
eventLimit: true
eventLimit: true,
events: function(start, end, timezone, callback) {
console.log('in events');
$.ajax({
url: getHelpdeskUrl() + '/internal-api/admin/calendar/?start=' + start + '&end=' + end,
method: 'GET',
dataType: 'json',
success: function(data) {
console.info(data);
//callback w/events here!
},
error: function(data) {
console.error(data);
}
});
}
});
});
Loading…
Cancel
Save