From 148d2616e554964b59c5acaebf76333e5ae7f5eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20M=C3=BCller?= <thomas.mueller@tmit.eu>
Date: Mon, 21 Oct 2013 21:29:45 +0200
Subject: [PATCH] introduce link_to_docs() and migrate links

---
 apps/user_ldap/templates/settings.php |  2 +-
 core/templates/installation.php       |  2 +-
 lib/base.php                          |  2 +-
 lib/private/config.php                |  2 +-
 lib/private/setup.php                 |  2 +-
 lib/private/template/functions.php    |  5 +++++
 lib/private/util.php                  | 16 ++++++++--------
 settings/templates/admin.php          |  2 +-
 settings/templates/personal.php       |  2 +-
 9 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index 319dc38a62..2530d9c04c 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -106,7 +106,7 @@
 		<p class="ldapIndent"><?php p($l->t('Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage.'));?></p>
 		<p class="ldapIndent"><button id="ldap_action_clear_user_mappings" name="ldap_action_clear_user_mappings"><?php p($l->t('Clear Username-LDAP User Mapping'));?></button><br/><button id="ldap_action_clear_group_mappings" name="ldap_action_clear_group_mappings"><?php p($l->t('Clear Groupname-LDAP Group Mapping'));?></button></p>
 	</fieldset>
-	<input id="ldap_submit" type="submit" value="Save" /> <button id="ldap_action_test_connection" name="ldap_action_test_connection"><?php p($l->t('Test Configuration'));?></button> <a href="<?php p($theme->getDocBaseUrl()); ?>/server/5.0/admin_manual/auth_ldap.html" target="_blank"><img src="<?php print_unescaped(OCP\Util::imagePath('', 'actions/info.png')); ?>" style="height:1.75ex" /> <?php p($l->t('Help'));?></a>
+	<input id="ldap_submit" type="submit" value="Save" /> <button id="ldap_action_test_connection" name="ldap_action_test_connection"><?php p($l->t('Test Configuration'));?></button> <a href="<?php print_unescaped(link_to_docs('admin-ldap')); ?>" target="_blank"><img src="<?php print_unescaped(OCP\Util::imagePath('', 'actions/info.png')); ?>" style="height:1.75ex" /> <?php p($l->t('Help'));?></a>
 	</div>
 
 </form>
diff --git a/core/templates/installation.php b/core/templates/installation.php
index a6f55cb0e2..3457a3c9a9 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -39,7 +39,7 @@
 		<p><?php p($l->t('Your data directory and files are probably accessible from the internet because the .htaccess file does not work.'));?><br>
 		<?php print_unescaped($l->t(
 			'For information how to properly configure your server, please see the <a href="%s" target="_blank">documentation</a>.',
-			$theme->getDocBaseUrl().'/server/5.0/admin_manual/installation.html'
+			link_to_docs('admin-install')
 		)); ?></p>
 	</fieldset>
 	<?php endif; ?>
diff --git a/lib/base.php b/lib/base.php
index ee925b8f73..ef574b2d89 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -181,7 +181,7 @@ class OC {
 			OC_Template::printErrorPage(
 				"Can't write into config directory!",
 				'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>.'
+					.'<a href="' . link_to_docs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
 			);
 		}
 	}
diff --git a/lib/private/config.php b/lib/private/config.php
index 72423137fa..c28669f56a 100644
--- a/lib/private/config.php
+++ b/lib/private/config.php
@@ -172,7 +172,7 @@ class Config {
 		$result = @file_put_contents($this->configFilename, $content);
 		if (!$result) {
 			$defaults = new \OC_Defaults;
-			$url = $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions';
+			$url = link_to_docs('admin-dir-permissions');
 			throw new HintException(
 				"Can't write into config directory!",
 				'This can usually be fixed by '
diff --git a/lib/private/setup.php b/lib/private/setup.php
index 6bf3c88370..3cc1d29c6a 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -183,7 +183,7 @@ class OC_Setup {
 
 			$error = $l->t('Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken.');
 			$hint = $l->t('Please double check the <a href=\'%s\'>installation guides</a>.',
-				'http://doc.owncloud.org/server/5.0/admin_manual/installation.html');
+				link_to_docs('admin-install'));
 
 			OC_Template::printErrorPage($error, $hint);
 			exit();
diff --git a/lib/private/template/functions.php b/lib/private/template/functions.php
index 0aa2b27b96..94b87d1e50 100644
--- a/lib/private/template/functions.php
+++ b/lib/private/template/functions.php
@@ -35,6 +35,11 @@ function link_to( $app, $file, $args = array() ) {
 	return OC_Helper::linkTo( $app, $file, $args );
 }
 
+function link_to_docs($key) {
+	$theme = new OC_Defaults();
+	return $theme->getDocBaseUrl() . '/server/5.0/go.php?to=' . $key;
+}
+
 /**
  * @brief make OC_Helper::imagePath available as a simple function
  * @param string $app app
diff --git a/lib/private/util.php b/lib/private/util.php
index 885cce8754..04b27ee61a 100755
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -303,16 +303,16 @@ class OC_Util {
 
 		//common hint for all file permissions error messages
 		$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>.';
+			.'<a href="' . link_to_docs('admin-dir_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",
 				'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>.'
+					.'<a href="' . link_to_docs('admin-dir_permissions')
+					.'" target="_blank">giving the webserver write access to the config directory</a>.'
 				);
 		}
 
@@ -324,8 +324,8 @@ class OC_Util {
 				$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> '
+						.'<a href="' . link_to_docs('admin-dir_permissions')
+						.'" target="_blank">giving the webserver write access to the apps directory</a> '
 						.'or disabling the appstore in the config file.'
 					);
 			}
@@ -340,8 +340,8 @@ class OC_Util {
 				$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>.'
+					.'<a href="' . link_to_docs('admin-dir_permissions')
+					.'" target="_blank">giving the webserver write access to the root directory</a>.'
 				);
 			}
 		} else if(!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) {
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index a2c877340e..a5724bf3b1 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -30,7 +30,7 @@ if (!$_['isWebDavWorking']) {
 
 	<span class="securitywarning">
 		<?php p($l->t('Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken.')); ?>
-		<?php print_unescaped($l->t('Please double check the <a href="%s">installation guides</a>.', $theme->getDocBaseUrl().'/server/5.0/admin_manual/installation.html')); ?>
+		<?php print_unescaped($l->t('Please double check the <a href="%s">installation guides</a>.', link_to_docs('admin-install'))); ?>
 	</span>
 
 </fieldset>
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 60c509b4a1..6c758e659a 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -132,7 +132,7 @@ if($_['passwordChangeSupported']) {
 <fieldset class="personalblock">
 	<h2><?php p($l->t('WebDAV'));?></h2>
 	<code><?php print_unescaped(OC_Helper::linkToRemote('webdav')); ?></code><br />
-	<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($theme->getDocBaseUrl())));?></em>
+	<em><?php print_unescaped($l->t('Use this address to <a href="%s" target="_blank">access your Files via WebDAV</a>', array(link_to_docs('user-webdav'))));?></em>
 </fieldset>
 
 <?php foreach($_['forms'] as $form) {
-- 
GitLab