/** * Devuelve una respuesta en formato JSON con el estado y el mensaje. * * @param string $data Los datos a devolver * @return bool * @throws SPException */ private function wrapJSON($data) { $arrStrFrom = array("\\", '"', "'"); $arrStrTo = array("\\", '\\"', "\\'"); if (is_array($data) || is_object($data)) { array_walk($data, function (&$value) use($arrStrFrom, $arrStrTo) { if (is_object($value)) { foreach ($value as &$attribute) { str_replace($arrStrFrom, $arrStrTo, $attribute); } return $value; } else { return str_replace($arrStrFrom, $arrStrTo, $value); } }); } else { $data = str_replace($arrStrFrom, $arrStrTo, $data); } $json = json_encode(array('action' => Acl::getActionName($this->_actionId, true), 'data' => $data)); if ($json === false) { throw new SPException(SPException::SP_CRITICAL, sprintf('%s : %s', _('Error de codificación'), json_last_error_msg())); } return $json; }
/** * Devuelver un array de acciones posibles para los tokens * * @return array */ public static function getTokenActions() { $actions = array(ActionsInterface::ACTION_ACC_SEARCH => Acl::getActionName(ActionsInterface::ACTION_ACC_SEARCH), ActionsInterface::ACTION_ACC_VIEW => Acl::getActionName(ActionsInterface::ACTION_ACC_VIEW), ActionsInterface::ACTION_ACC_VIEW_PASS => Acl::getActionName(ActionsInterface::ACTION_ACC_VIEW_PASS), ActionsInterface::ACTION_ACC_DELETE => Acl::getActionName(ActionsInterface::ACTION_ACC_DELETE), ActionsInterface::ACTION_CFG_BACKUP => Acl::getActionName(ActionsInterface::ACTION_CFG_BACKUP), ActionsInterface::ACTION_CFG_EXPORT => Acl::getActionName(ActionsInterface::ACTION_CFG_EXPORT)); return $actions; }