/** * 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)); }
/** * 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; }