コード例 #1
0
ファイル: Response.class.php プロジェクト: nuxsmin/sysMonDash
 /**
  * Devuelve una respuesta en formato JSON con el estado y el mensaje.
  *
  * @param string|array $data   mensaje a devolver
  * @param int          $status devuelve el estado
  * @param string       $action con la accion a realizar
  * @return bool
  */
 public static function printJSON($data, $status = 1, $action = '')
 {
     if (!is_string($data) && !is_array($data)) {
         return false;
     }
     if (!is_array($data)) {
         $json = array('status' => $status, 'description' => Language::t(Json::safeJsonString($data)), 'action' => $action);
     } else {
         $data['status'] = $status;
         $data['action'] = $action;
         $json = Json::safeJson($data);
     }
     header('Content-type: application/json');
     exit(json_encode($json));
 }
コード例 #2
0
ファイル: Json.class.php プロジェクト: nuxsmin/sysMonDash
 /**
  * Devuelve un array con las cadenas formateadas para JSON
  *
  * @param $data mixed
  * @return mixed
  */
 public static function safeJson(&$data)
 {
     if (is_array($data) || is_object($data)) {
         array_walk_recursive($data, function (&$value) {
             if (is_object($value)) {
                 foreach ($value as &$attribute) {
                     Json::safeJsonString($attribute);
                 }
                 return $value;
             } else {
                 return Json::safeJsonString($value);
             }
         });
     } elseif (is_string($data)) {
         return self::safeJsonString($data);
     }
     return $data;
 }
コード例 #3
0
ファイル: api.php プロジェクト: nuxsmin/sysMonDash
use SMD\Core\Init;
use SMD\Http\Request;
use SMD\Http\Response;
use SMD\Util\Json;
define('APP_ROOT', '.');
require APP_ROOT . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR . 'Base.php';
Init::start();
$apiToken = Request::analyze('token');
$action = Request::analyze('action', 0);
$Api = new Api();
if (!$Api->checkToken($apiToken)) {
    Response::printJSON('Token inválido');
}
$data = null;
switch ($action) {
    case Api::ACTION_EVENTS:
        $data = $Api->getEvents();
        break;
    case Api::ACTION_DOWNTIMES:
        $data = $Api->getDowntimes();
        break;
    case Api::ACTION_CHECK:
        Response::printJSON('V ' . implode('.', \SMD\Util\Util::getVersion(true)), 0);
        break;
    default:
        Response::printJSON('Petición inválida');
}
header('Content-type: application/json');
$json = array('status' => 0, 'data' => $data, 'action' => $action);
die(Json::getJson($json));