summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-11-26 10:48:08 +0100
committerMorris Jobke <hey@morrisjobke.de>2015-11-26 13:58:43 +0100
commit675417a75c3c0d93838397b4670e2d26d53eb2fe (patch)
treed14e4cbeb4aaca161b970c4f54f95e8b75a472d9
parent3882cc8ef37a28972a8fca35ca1cc26cc060e7bc (diff)
downloadnextcloud-server-675417a75c3c0d93838397b4670e2d26d53eb2fe.tar.gz
nextcloud-server-675417a75c3c0d93838397b4670e2d26d53eb2fe.zip
Untangle the linkToDocs method in OC_Helper
* now uses the proper URLGenerator interface * add comment about DI problems
-rw-r--r--lib/base.php7
-rw-r--r--lib/private/config.php4
-rw-r--r--lib/private/helper.php9
-rw-r--r--lib/private/template/functions.php2
-rw-r--r--lib/private/util.php11
5 files changed, 16 insertions, 17 deletions
diff --git a/lib/base.php b/lib/base.php
index feaf46e83f1..6a1841fa93b 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -246,18 +246,21 @@ class OC {
$configFileWritable = is_writable($configFilePath);
if (!$configFileWritable && !OC_Helper::isReadOnlyConfigEnabled()
|| !$configFileWritable && self::checkUpgrade(false)) {
+
+ $urlGenerator = \OC::$server->getURLGenerator();
+
if (self::$CLI) {
echo $l->t('Cannot write into "config" directory!')."\n";
echo $l->t('This can usually be fixed by giving the webserver write access to the config directory')."\n";
echo "\n";
- echo $l->t('See %s', array(\OC_Helper::linkToDocs('admin-dir_permissions')))."\n";
+ echo $l->t('See %s', [ $urlGenerator->linkToDocs('admin-dir_permissions') ])."\n";
exit;
} else {
OC_Template::printErrorPage(
$l->t('Cannot write into "config" directory!'),
$l->t('This can usually be fixed by '
. '%sgiving the webserver write access to the config directory%s.',
- array('<a href="'.\OC_Helper::linkToDocs('admin-dir_permissions').'" target="_blank">', '</a>'))
+ array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'))
);
}
}
diff --git a/lib/private/config.php b/lib/private/config.php
index 3ad800a00be..94b4fd56daa 100644
--- a/lib/private/config.php
+++ b/lib/private/config.php
@@ -234,7 +234,9 @@ class Config {
// File does not exist, this can happen when doing a fresh install
if(!is_resource ($filePointer)) {
- $url = \OC_Helper::linkToDocs('admin-dir_permissions');
+ // TODO fix this via DI once it is very clear that this doesn't cause side effects due to initialization order
+ // currently this breaks app routes but also could have other side effects especially during setup and exception handling
+ $url = \OC::$server->getURLGenerator()->linkToDocs('admin-dir_permissions');
throw new HintException(
"Can't write into config directory!",
'This can usually be fixed by '
diff --git a/lib/private/helper.php b/lib/private/helper.php
index fc7653baf6f..fb8e38cc26e 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -82,15 +82,6 @@ class OC_Helper {
}
/**
- * @param string $key
- * @return string url to the online documentation
- * @deprecated Use \OC::$server->getURLGenerator()->linkToDocs($key)
- */
- public static function linkToDocs($key) {
- return OC::$server->getURLGenerator()->linkToDocs($key);
- }
-
- /**
* Creates an absolute url
* @param string $app app
* @param string $file file
diff --git a/lib/private/template/functions.php b/lib/private/template/functions.php
index cea5860cec6..79d18632d2f 100644
--- a/lib/private/template/functions.php
+++ b/lib/private/template/functions.php
@@ -154,7 +154,7 @@ function link_to( $app, $file, $args = array() ) {
* @return string url to the online documentation
*/
function link_to_docs($key) {
- return OC_Helper::linkToDocs($key);
+ return \OC::$server->getURLGenerator()->linkToDocs($key);
}
/**
diff --git a/lib/private/util.php b/lib/private/util.php
index 69f01c22be9..84a8c49c383 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -621,6 +621,9 @@ class OC_Util {
$webServerRestart = false;
$setup = new \OC\Setup($config, \OC::$server->getIniWrapper(), \OC::$server->getL10N('lib'),
new \OC_Defaults(), \OC::$server->getLogger(), \OC::$server->getSecureRandom());
+
+ $urlGenerator = \OC::$server->getURLGenerator();
+
$availableDatabases = $setup->getSupportedDatabases();
if (empty($availableDatabases)) {
$errors[] = array(
@@ -649,7 +652,7 @@ class OC_Util {
'error' => $l->t('Cannot write into "config" directory'),
'hint' => $l->t('This can usually be fixed by '
. '%sgiving the webserver write access to the config directory%s.',
- array('<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'))
+ array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'))
);
}
@@ -664,7 +667,7 @@ class OC_Util {
'hint' => $l->t('This can usually be fixed by '
. '%sgiving the webserver write access to the apps directory%s'
. ' or disabling the appstore in the config file.',
- array('<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'))
+ array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'))
);
}
}
@@ -679,14 +682,14 @@ class OC_Util {
'error' => $l->t('Cannot create "data" directory (%s)', array($CONFIG_DATADIRECTORY)),
'hint' => $l->t('This can usually be fixed by '
. '<a href="%s" target="_blank">giving the webserver write access to the root directory</a>.',
- array(OC_Helper::linkToDocs('admin-dir_permissions')))
+ array($urlGenerator->linkToDocs('admin-dir_permissions')))
);
}
} else if (!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) {
//common hint for all file permissions error messages
$permissionsHint = $l->t('Permissions can usually be fixed by '
. '%sgiving the webserver write access to the root directory%s.',
- array('<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'));
+ array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>'));
$errors[] = array(
'error' => 'Data directory (' . $CONFIG_DATADIRECTORY . ') not writable by ownCloud',
'hint' => $permissionsHint