From 9b9ea7cd8e9050bd3682c1edd81955469bc8474d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Schie=C3=9Fle?= <schiessle@owncloud.com>
Date: Mon, 8 Jul 2013 10:07:57 +0200
Subject: [PATCH] Merge https://github.com/owncloud/core/pull/3827
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Squashed commit of the following:

commit eed4b49cebcbcc252a75ed85097730b73213b0da
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 8 10:03:23 2013 +0200

    initialize OC_Defaults only once

commit bf6f07ccc8fb87535a069ca341789a590cb187ee
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 8 10:02:48 2013 +0200

    link to doc in error messages

commit ea61ee60e06ee98f2671aec1fdaff666c50f47c2
Merge: e41af3d 3c1308f
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jul 4 11:10:56 2013 +0200

    Merge branch 'master' into better-messages

commit e41af3d7bad26aa5ca9ab21ec7dcbadd3cfe5d4f
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jul 4 11:10:41 2013 +0200

    move to non-static defaults.php

commit 9e4258b1905244bdf34943a825421f041cbed43d
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Tue Jul 2 10:32:13 2013 +0200

    no sprintf here, lets t() handle it

commit fe1df349e248667a137f70d78b04225e5b42a111
Merge: d8f6859 cb5811b
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 1 11:13:38 2013 +0200

    Merge branch 'master' into better-messages

commit d8f68595df2dc0e0917d916cbde511ec5333010b
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 1 11:10:57 2013 +0200

    use document base url from defaults.php

commit 6c5403748a45717125a2aa375550f05646317d72
Merge: bea6b1c 7b0e3e6
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Mon Jul 1 11:00:15 2013 +0200

    Merge branch 'master' into better-messages

commit bea6b1c8a0968846065b9153e0a3f46a4e3245ee
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Mon Jun 24 16:21:12 2013 +0200

    link to docs in WebDAV message, ref #3791

commit 3119b364a1094769e711283d1ce9014505f64ab9
Author: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date:   Mon Jun 24 16:10:21 2013 +0200

    link to docs in error messages, fix #3819
---
 lib/base.php                    |  5 +++--
 lib/config.php                  |  5 +++--
 lib/util.php                    | 32 ++++++++++++++++++++------------
 settings/templates/personal.php |  2 +-
 4 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/lib/base.php b/lib/base.php
index af54f43915..d1279a4633 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -173,11 +173,12 @@ class OC {
 	public static function checkConfig() {
 		if (file_exists(OC::$SERVERROOT . "/config/config.php")
 			and !is_writable(OC::$SERVERROOT . "/config/config.php")) {
+			$defaults = new OC_Defaults();
 			$tmpl = new OC_Template('', 'error', 'guest');
 			$tmpl->assign('errors', array(1 => array(
 				'error' => "Can't write into config directory 'config'",
-				'hint' => 'You can usually fix this by giving the webserver user write access'
-					.' to the config directory in owncloud'
+				'hint' => 'This can usually be fixed by '
+					.'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the config directory</a>.'
 			)));
 			$tmpl->printPage();
 			exit();
diff --git a/lib/config.php b/lib/config.php
index f1c139f22b..7dd596fcea 100644
--- a/lib/config.php
+++ b/lib/config.php
@@ -168,6 +168,7 @@ class OC_Config{
 	 */
 	public static function writeData() {
 		// Create a php file ...
+		$defaults = new OC_Defaults;
 		$content = "<?php\n ";
 		if (defined('DEBUG') && DEBUG) {
 			$content .= "define('DEBUG',true);\n";
@@ -183,8 +184,8 @@ class OC_Config{
 			$tmpl = new OC_Template( '', 'error', 'guest' );
 			$tmpl->assign('errors', array(1=>array(
 				'error'=>"Can't write into config directory 'config'",
-				'hint'=>'You can usually fix this by giving the webserver user write access'
-					.' to the config directory in owncloud')));
+				'hint'=>'This can usually be fixed by '
+					.'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the config directory</a>.')));
 			$tmpl->printPage();
 			exit;
 		}
diff --git a/lib/util.php b/lib/util.php
index 4bc02daf36..8f5f79b6b0 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -172,6 +172,8 @@ class OC_Util {
 	public static function checkServer() {
 		$errors=array();
 
+		$defaults = new \OC_Defaults();
+
 		$web_server_restart= false;
 		//check for database drivers
 		if(!(is_callable('sqlite_open') or class_exists('SQLite3'))
@@ -184,14 +186,16 @@ class OC_Util {
 		}
 
 		//common hint for all file permissons error messages
-		$permissionsHint='Permissions can usually be fixed by giving the webserver write access'
-			.' to the ownCloud directory';
+		$permissionsHint = 'Permissions can usually be fixed by '
+			.'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the root directory</a>.';
 
 		// Check if config folder is writable.
 		if(!is_writable(OC::$SERVERROOT."/config/") or !is_readable(OC::$SERVERROOT."/config/")) {
-			$errors[]=array('error'=>"Can't write into config directory 'config'",
-				'hint'=>'You can usually fix this by giving the webserver user write access'
-					.' to the config directory in owncloud');
+			$errors[] = array(
+				'error' => "Can't write into config directory",
+				'hint' => 'This can usually be fixed by '
+					.'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the config directory</a>.'
+				);
 		}
 
 		// Check if there is a writable install folder.
@@ -199,9 +203,12 @@ class OC_Util {
 			if( OC_App::getInstallPath() === null
 				|| !is_writable(OC_App::getInstallPath())
 				|| !is_readable(OC_App::getInstallPath()) ) {
-				$errors[]=array('error'=>"Can't write into apps directory",
-					'hint'=>'You can usually fix this by giving the webserver user write access'
-					.' to the apps directory in owncloud or disabling the appstore in the config file.');
+				$errors[] = array(
+					'error' => "Can't write into apps directory",
+					'hint' => 'This can usually be fixed by '
+						.'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the apps directory</a> '
+						.'or disabling the appstore in the config file.'
+					);
 			}
 		}
 		$CONFIG_DATADIRECTORY = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
@@ -211,10 +218,11 @@ class OC_Util {
 			if ($success) {
 				$errors = array_merge($errors, self::checkDataDirectoryPermissions($CONFIG_DATADIRECTORY));
 			} else {
-				$errors[]=array('error'=>"Can't create data directory (".$CONFIG_DATADIRECTORY.")",
-					'hint'=>"You can usually fix this by giving the webserver write access to the ownCloud directory '"
-						.OC::$SERVERROOT."' (in a terminal, use the command "
-						."'chown -R www-data:www-data /path/to/your/owncloud/install/data' ");
+				$errors[] = array(
+					'error' => "Can't create data directory (".$CONFIG_DATADIRECTORY.")",
+					'hint' => 'This can usually be fixed by '
+					.'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the root directory</a>.'
+				);
 			}
 		} else if(!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) {
 			$errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') not writable by ownCloud',
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index d439640752..147ad834a9 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -105,7 +105,7 @@ if($_['passwordChangeSupported']) {
 <fieldset class="personalblock">
 	<legend><strong><?php p($l->t('WebDAV'));?></strong></legend>
 	<code><?php print_unescaped(OC_Helper::linkToRemote('webdav')); ?></code><br />
-	<em><?php p($l->t('Use this address to connect to your ownCloud in your file manager'));?></em>
+	<em><?php print_unescaped($l->t('Use this address to <a href="%s/server/5.0/user_manual/files/files.html" target="_blank">access your Files via WebDAV</a>', array($defaults->getDocBaseUrl())));?></em>
 </fieldset>
 
 <?php foreach($_['forms'] as $form) {
-- 
GitLab