You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.5 KiB

  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
  5. * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
  6. * SPDX-License-Identifier: AGPL-3.0-only
  7. */
  8. require_once __DIR__ . '/lib/versioncheck.php';
  9. use OC\SystemConfig;
  10. use OCP\Defaults;
  11. use OCP\Server;
  12. use OCP\ServerVersion;
  13. use OCP\Util;
  14. use Psr\Log\LoggerInterface;
  15. try {
  16. require_once __DIR__ . '/lib/base.php';
  17. $systemConfig = Server::get(SystemConfig::class);
  18. $installed = (bool)$systemConfig->getValue('installed', false);
  19. $maintenance = (bool)$systemConfig->getValue('maintenance', false);
  20. # see core/lib/private/legacy/defaults.php and core/themes/example/defaults.php
  21. # for description and defaults
  22. $defaults = new Defaults();
  23. $serverVersion = Server::get(ServerVersion::class);
  24. $values = [
  25. 'installed' => $installed,
  26. 'maintenance' => $maintenance,
  27. 'needsDbUpgrade' => Util::needUpgrade(),
  28. 'version' => implode('.', $serverVersion->getVersion()),
  29. 'versionstring' => $serverVersion->getVersionString(),
  30. 'edition' => '',
  31. 'productname' => $defaults->getProductName(),
  32. 'extendedSupport' => Util::hasExtendedSupport()
  33. ];
  34. if (OC::$CLI) {
  35. print_r($values);
  36. } else {
  37. header('Access-Control-Allow-Origin: *');
  38. header('Content-Type: application/json');
  39. echo json_encode($values);
  40. }
  41. } catch (Exception $ex) {
  42. http_response_code(500);
  43. Server::get(LoggerInterface::class)->error($ex->getMessage(), ['app' => 'remote','exception' => $ex]);
  44. }