-
Carsten Rose authoredCarsten Rose authored
dataReport.php 1.73 KiB
<?php
/**
* Created by PhpStorm.
* User: crose
* Date: 08/09/20
* Time: 6:17 PM
*/
namespace IMATHUZH\Qfq\Api;
require_once(__DIR__ . '/../../vendor/autoload.php');
use IMATHUZH\Qfq\Core\QuickFormQuery;
use IMATHUZH\Qfq\Core\Store\Store;
/**
* Return JSON encoded answer
*
* status: success|error
* message: <message>
* redirect: client|url|no
* redirect-url: <url>
*
* Description:
*
* Save successful.
*
*/
$answer = array();
$answer[API_REDIRECT] = API_ANSWER_REDIRECT_NO;
$answer[API_STATUS] = API_ANSWER_STATUS_ERROR;
$answer[API_MESSAGE] = '';
$status = HTTP_400_BAD_REQUEST;
try {
try {
$qfq = new QuickFormQuery(['bodytext' => '']);
$data = $qfq->dataReport();
// Get custom headers from record store
$headers = Store::getInstance()->getVar(API_HEADER_VARIABLE_KEY, 'RE');
if (!empty($headers)) {
$headers = str_replace("\r\n", '$$SEP$$', $headers);
$headers = str_replace("\n", '$$SEP$$', $headers);
$headers = explode('$$SEP$$', $headers);
} else {
$headers = [];
}
$status = HTTP_200_OK;
} catch (\UserReportException $e) {
$answer[API_MESSAGE] = $e->formatMessage();
} catch (\CodeException $e) {
$answer[API_MESSAGE] = $e->formatMessage();
} catch (\DbException $e) {
$answer[API_MESSAGE] = $e->formatMessage();
}
} catch (\Exception $e) {
$answer[API_MESSAGE] = "Generic Exception: " . $e->getMessage();
}
// error output
if ($status === HTTP_400_BAD_REQUEST) {
header('HTTP/1.0 ' . $status);
header("Content-Type: application/json");
echo json_encode($answer);
exit();
}
// normal output
foreach ($headers as $header) {
header($header);
}
echo $data;