summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/Controller/OCSController.php1
-rw-r--r--lib/private/Support/Subscription/Registry.php12
-rw-r--r--lib/public/Support/Subscription/IRegistry.php7
-rw-r--r--lib/public/Support/Subscription/ISubscription.php7
-rw-r--r--lib/public/Util.php18
-rw-r--r--status.php6
6 files changed, 46 insertions, 5 deletions
diff --git a/core/Controller/OCSController.php b/core/Controller/OCSController.php
index 278e01403a7..68861ce7e95 100644
--- a/core/Controller/OCSController.php
+++ b/core/Controller/OCSController.php
@@ -97,6 +97,7 @@ class OCSController extends \OCP\AppFramework\OCSController {
'micro' => $micro,
'string' => \OC_Util::getVersionString(),
'edition' => '',
+ 'extendedSupport' => \OCP\Util::hasExtendedSupport()
);
if($this->userSession->isLoggedIn()) {
diff --git a/lib/private/Support/Subscription/Registry.php b/lib/private/Support/Subscription/Registry.php
index 89439cb8142..c731da4f3b7 100644
--- a/lib/private/Support/Subscription/Registry.php
+++ b/lib/private/Support/Subscription/Registry.php
@@ -72,4 +72,16 @@ class Registry implements IRegistry {
}
return false;
}
+
+ /**
+ * Indicates if the subscription has extended support
+ *
+ * @since 17.0.0
+ */
+ public function delegateHasExtendedSupport(): bool {
+ if ($this->subscription instanceof ISubscription && method_exists($this->subscription, 'hasExtendedSupport')) {
+ return $this->subscription->hasExtendedSupport();
+ }
+ return false;
+ }
}
diff --git a/lib/public/Support/Subscription/IRegistry.php b/lib/public/Support/Subscription/IRegistry.php
index 7782f201f28..f13bff597d0 100644
--- a/lib/public/Support/Subscription/IRegistry.php
+++ b/lib/public/Support/Subscription/IRegistry.php
@@ -54,4 +54,11 @@ interface IRegistry {
* @since 17.0.0
*/
public function delegateHasValidSubscription(): bool;
+
+ /**
+ * Indicates if the subscription has extended support
+ *
+ * @since 17.0.0
+ */
+ public function delegateHasExtendedSupport(): bool;
}
diff --git a/lib/public/Support/Subscription/ISubscription.php b/lib/public/Support/Subscription/ISubscription.php
index fc53fe08da3..81333609119 100644
--- a/lib/public/Support/Subscription/ISubscription.php
+++ b/lib/public/Support/Subscription/ISubscription.php
@@ -34,4 +34,11 @@ interface ISubscription {
* @since 17.0.0
*/
public function hasValidSubscription(): bool;
+
+ /**
+ * Indicates if the subscription has extended support
+ *
+ * @since 17.0.0
+ */
+ public function hasExtendedSupport(): bool;
}
diff --git a/lib/public/Util.php b/lib/public/Util.php
index 302eb8d035e..7e9f6b2efbc 100644
--- a/lib/public/Util.php
+++ b/lib/public/Util.php
@@ -89,7 +89,19 @@ class Util {
public static function getVersion() {
return \OC_Util::getVersion();
}
-
+
+ /**
+ * @since 17.0.0
+ */
+ public static function hasExtendedSupport(): bool {
+ try {
+ /** @var \OCP\Support\Subscription\IRegistry */
+ $subscriptionRegistry = \OC::$server->query(\OCP\Support\Subscription\IRegistry::class);
+ return $subscriptionRegistry->delegateHasExtendedSupport();
+ } catch (AppFramework\QueryException $e) {}
+ return \OC::$server->getConfig()->getSystemValueBool('extendedSupport', false);
+ }
+
/**
* Set current update channel
* @param string $channel
@@ -98,7 +110,7 @@ class Util {
public static function setChannel($channel) {
\OC::$server->getConfig()->setSystemValue('updater.release.channel', $channel);
}
-
+
/**
* Get current update channel
* @return string
@@ -501,7 +513,7 @@ class Util {
public static function needUpgrade() {
if (!isset(self::$needUpgradeCache)) {
self::$needUpgradeCache=\OC_Util::needUpgrade(\OC::$server->getSystemConfig());
- }
+ }
return self::$needUpgradeCache;
}
diff --git a/status.php b/status.php
index 274a2edc610..a42af5a6b68 100644
--- a/status.php
+++ b/status.php
@@ -42,14 +42,16 @@ try {
# see core/lib/private/legacy/defaults.php and core/themes/example/defaults.php
# for description and defaults
$defaults = new \OCP\Defaults();
- $values=array(
+ $values = [
'installed'=>$installed,
'maintenance' => $maintenance,
'needsDbUpgrade' => \OCP\Util::needUpgrade(),
'version'=>implode('.', \OCP\Util::getVersion()),
'versionstring'=>OC_Util::getVersionString(),
'edition'=> '',
- 'productname'=>$defaults->getName());
+ 'productname'=>$defaults->getName(),
+ 'extendedSupport' => \OCP\Util::hasExtendedSupport()
+ ];
if (OC::$CLI) {
print_r($values);
} else {