/** * Fetch api call logs */ function restapi_logger_get($start = 0, $limit = 24, $order = 'DESC', $details = false) { global $db; //some sanitization - we cant rely on pear here as it will escape the commands $start = ctype_digit($start) ? $start : 0; $limit = ctype_digit($limit) ? $limit : 24; $order = in_array($order, array('DESC', 'ASC')) ? $order : 'DESC'; $sql = 'SELECT * FROM restapi_log_events ORDER BY time ' . $order . ' LIMIT ' . $start . ', ' . $limit; $ret = $db->getAll($sql, DB_FETCHMODE_ASSOC); db_e($ret); if ($details) { foreach ($ret as $my => $log) { $sql = 'SELECT * FROM restapi_log_event_details WHERE e_id = ?'; $det = $db->getAll($sql, array($log['id']), DB_FETCHMODE_ASSOC); $ret[$my]['id'] = restapi_logger_format_id($ret[$my]['id']); foreach ($det as $that => $d) { $det[$that]['e_id'] = $ret[$my]['id']; $det[$that]['data'] = json_decode($d['data'], true); } $ret[$my]['events'] = $det; } } return $ret; }
function init() { restapi_logger_clear_history(); $this->id = restapi_logger_put_header(array('ip' => $this->api->req->headers['ip'], 'server' => $this->api->opts['token'], 'sig' => $this->api->req->headers['signature'], 'token' => $this->api->req->token)); $this->api->add_header('Request-Id', restapi_logger_format_id($this->id)); }