Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }