. */ namespace SP\Modules\Web\Controllers\Traits; use SP\Bootstrap; use SP\Config\Config; use SP\Config\ConfigData; use SP\Http\JsonResponse; use SP\Util\Util; /** * Trait ConfigTrait * * @package SP\Modules\Web\Controllers\Traits */ trait ConfigTrait { use JsonTrait; /** * Guardar la configuración * * @param ConfigData $configData * @param Config $config * @param callable|null $onSuccess * * @return bool */ protected function saveConfig(ConfigData $configData, Config $config, callable $onSuccess = null) { try { if ($configData->isDemoEnabled()) { return $this->returnJsonResponse(JsonResponse::JSON_WARNING, __u('Ey, esto es una DEMO!!')); } $config->saveConfig($configData); if ($configData->isMaintenance() === false && Bootstrap::$LOCK !== false) { Util::unlockApp(); } if ($onSuccess !== null) { $onSuccess(); } return $this->returnJsonResponse(JsonResponse::JSON_SUCCESS, __u('Configuración actualizada')); } catch (\Exception $e) { processException($e); return $this->returnJsonResponse(JsonResponse::JSON_ERROR, __u('Error al guardar la configuración')); } } }