summaryrefslogtreecommitdiff
path: root/lib/plugins/extension
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/extension')
-rw-r--r--lib/plugins/extension/admin.php7
-rw-r--r--lib/plugins/extension/helper/repository.php2
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php
index 373f90183..6cad58595 100644
--- a/lib/plugins/extension/admin.php
+++ b/lib/plugins/extension/admin.php
@@ -39,6 +39,13 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin {
$repository = $this->loadHelper('extension_repository');
$repository->init();
+ if(!$repository->hasAccess()){
+ $url = helper_plugin_extension_list::tabURL('', array('purge'=>1));
+
+ msg('The DokuWiki extension repository can not be reached currently.
+ Online Features are not available. [<a href="'.$url.'">retry</a>]', -1);
+ }
+
/* @var helper_plugin_extension_extension $extension */
$extension = $this->loadHelper('extension_extension');
diff --git a/lib/plugins/extension/helper/repository.php b/lib/plugins/extension/helper/repository.php
index 459d7cbec..a5012ccb5 100644
--- a/lib/plugins/extension/helper/repository.php
+++ b/lib/plugins/extension/helper/repository.php
@@ -65,7 +65,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
if ($this->has_access === null) {
$cache = new cache('##extension_manager###hasAccess', 'repo');
$result = null;
- if (!$cache->useCache(array('age' => 3600 * 24))) {
+ if (!$cache->useCache(array('age' => 3600 * 24, 'purge'=>1))) {
$httpclient = new DokuHTTPClient();
$httpclient->timeout = 5;
$data = $httpclient->get(EXTENSION_REPOSITORY_API.'?cmd=ping');