Add status API

merge-requests/3/head
Mike Koch 9 years ago
parent 0a3d50009a
commit 4fa94bec1a

@ -0,0 +1,52 @@
<?php
function get_status($hesk_settings, $id = NULL) {
$sql = "SELECT * FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` ";
if ($id != NULL) {
$sql .= "WHERE `ID` = ".intval($id);
}
$response = hesk_dbQuery($sql);
if (hesk_dbNumRows($response) == 0) {
return NULL;
}
$results = [];
while ($row = hesk_dbFetchAssoc($response)) {
$row['id'] = intval($row['ID']);
unset($row['ID']);
$row['sort'] = intval($row['sort']);
foreach ($row as $key => $value) {
if ($key != 'id') {
$lowercase_key = lcfirst($key);
$row[$lowercase_key] = $row[$key];
unset($row[$key]);
}
if ($key == 'id' || $lowercase_key == 'closable'
|| $lowercase_key == 'key' || $lowercase_key == 'sort'
|| $lowercase_key == 'textColor') {
continue;
}
$row[$lowercase_key] = $row[$lowercase_key] == true;
}
$language_sql = "SELECT * FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "text_to_status_xref` "
. "WHERE `status_id` = ".intval($row['id']);
$language_rs = hesk_dbQuery($language_sql);
if (hesk_dbNumRows($language_rs) > 0) {
$row['key'] = NULL;
$row['keys'] = [];
}
while ($language_row = hesk_dbFetchAssoc($language_rs)) {
unset($language_row['id']);
unset($language_row['status_id']);
$row['keys'][] = $language_row;
}
$results[] = $row;
}
return $id == NULL ? $results : $results[0];
}

@ -0,0 +1,29 @@
<?php
define('IN_SCRIPT', 1);
define('HESK_PATH', '../../');
define('API_PATH', '../');
require_once(HESK_PATH . 'hesk_settings.inc.php');
require_once(HESK_PATH . 'inc/common.inc.php');
require_once(API_PATH . 'core/output.php');
require_once(API_PATH . 'dao/status_dao.php');
hesk_load_api_database_functions();
hesk_dbConnect();
// Routing
$request_method = $_SERVER['REQUEST_METHOD'];
if ($request_method == 'GET') {
if (isset($_GET['id'])) {
$results = get_status($hesk_settings, $_GET['id']);
} else {
$results = get_status($hesk_settings);
}
if ($results == NULL) {
return http_response_code(404);
}
return output($results);
}
return http_response_code(405);
Loading…
Cancel
Save