Merge pull request #20746 from owncloud/untangle-linkToDocs

Untangle the linkToDocs method in OC_Helper
This commit is contained in:
Thomas Müller 2015-11-26 15:08:28 +01:00
commit 97ebc6d80c
5 changed files with 16 additions and 17 deletions

View File

@ -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>'))
);
}
}

View File

@ -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 '

View File

@ -81,15 +81,6 @@ class OC_Helper {
return OC::$server->getURLGenerator()->linkTo($app, $file, $args);
}
/**
* @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

View File

@ -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);
}
/**

View File

@ -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