diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 5cab0707bdab40d639d0136c89086f03ef62fc53..66453740f5d939992d256a8c5a5a4b64f65b0260 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -691,8 +691,9 @@ var FileList={
 		var $fileList = $('#fileList');
 		var permissions = $('#permissions').val();
 		var isCreatable = (permissions & OC.PERMISSION_CREATE) !== 0;
-		$('#emptycontent').toggleClass('hidden', !isCreatable || $fileList.find('tr').exists());
-		$('#filestable th').toggleClass('hidden', $fileList.find('tr').exists() === false);
+		var exists = $fileList.find('tr:first').exists();
+		$('#emptycontent').toggleClass('hidden', !isCreatable || exists);
+		$('#filestable th').toggleClass('hidden', !exists);
 	},
 	showMask: function() {
 		// in case one was shown before
diff --git a/apps/files_external/lib/dropbox.php b/apps/files_external/lib/dropbox.php
index 6e464f4e28715037cb1653fc6d9056e8af74ab10..5f603b7fe43d20415a62dfbfd4cb11d42deaac89 100755
--- a/apps/files_external/lib/dropbox.php
+++ b/apps/files_external/lib/dropbox.php
@@ -269,7 +269,11 @@ class Dropbox extends \OC\Files\Storage\Common {
 	}
 
 	public function touch($path, $mtime = null) {
-		return false;
+		if ($this->file_exists($path)) {
+			return false;
+		} else {
+			$this->file_put_contents($path, '');
+		}
 	}
 
 }
diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/swift.php
index 86938ef3bb9c59c82c450c057a61e045adc2941c..b615d24ce76c2b3dc13459767a139e92deaf8d9b 100644
--- a/apps/files_external/lib/swift.php
+++ b/apps/files_external/lib/swift.php
@@ -364,7 +364,7 @@ class Swift extends \OC\Files\Storage\Common {
 					'X-Object-Meta-Timestamp' => $mtime
 				)
 			);
-			$object->Update($settings);
+			return $object->Update($settings);
 		} else {
 			$object = $this->container->DataObject();
 			if (is_null($mtime)) {
@@ -377,7 +377,7 @@ class Swift extends \OC\Files\Storage\Common {
 					'X-Object-Meta-Timestamp' => $mtime
 				)
 			);
-			$object->Create($settings);
+			return $object->Create($settings);
 		}
 	}
 
diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php
index 0837222e51103f78c1dfcf44d2a45410804f53c3..02f6cb5fc4f73720f1dca49f87ca4b0c2d2fb48f 100644
--- a/apps/files_external/lib/webdav.php
+++ b/apps/files_external/lib/webdav.php
@@ -234,6 +234,7 @@ class DAV extends \OC\Files\Storage\Common{
 		} else {
 			$this->file_put_contents($path, '');
 		}
+		return true;
 	}
 
 	public function getFile($path, $target) {
diff --git a/apps/files_trashbin/ajax/delete.php b/apps/files_trashbin/ajax/delete.php
index 92361b65f63e01fc7120d0cf6a622c53e2671d71..5498250dbf5eaf7a8d17f40eb318641ed5d9a9d6 100644
--- a/apps/files_trashbin/ajax/delete.php
+++ b/apps/files_trashbin/ajax/delete.php
@@ -3,10 +3,19 @@
 OCP\JSON::checkLoggedIn();
 OCP\JSON::callCheck();
 
-$files = $_POST['files'];
-$dirlisting = $_POST['dirlisting'];
-$list = json_decode($files);
-
+// "empty trash" command
+$deleteAll = false;
+if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true'){
+	$user = \OCP\User::getUser();
+	$list = OCA\Files_Trashbin\Helper::getTrashFiles('/');
+	$deleteAll = true;
+	$dirlisting = '0';
+}
+else {
+	$files = $_POST['files'];
+	$dirlisting = $_POST['dirlisting'];
+	$list = json_decode($files);
+}
 $error = array();
 $success = array();
 
@@ -14,22 +23,30 @@ $success = array();
 $i = 0;
 foreach ($list as $file) {
 	if ( $dirlisting === '0') {
-		$delimiter = strrpos($file, '.d');
-		$filename = substr($file, 0, $delimiter);
-		$timestamp =  substr($file, $delimiter+2);
+		if ($deleteAll) {
+			$filename = $file['name'];
+			$timestamp = $file['timestamp'];
+		}
+		else {
+			$delimiter = strrpos($file, '.d');
+			$filename = substr($file, 0, $delimiter);
+			$timestamp =  substr($file, $delimiter+2);
+		}
 	} else {
 		$filename = $file;
 		$timestamp = null;
 	}
 
 	OCA\Files_Trashbin\Trashbin::delete($filename, $timestamp);
-	if (!OCA\Files_Trashbin\Trashbin::file_exists($filename, $timestamp)) {
+	if (OCA\Files_Trashbin\Trashbin::file_exists($filename, $timestamp)) {
+		$error[] = $filename;
+		OC_Log::write('trashbin','can\'t delete ' . $filename . ' permanently.', OC_Log::ERROR);
+	}
+	// only list deleted files if not deleting everything
+	else if (!$deleteAll) {
 		$success[$i]['filename'] = $file;
 		$success[$i]['timestamp'] = $timestamp;
 		$i++;
-	} else {
-		$error[] = $filename;
-		OC_Log::write('trashbin','can\'t delete ' . $filename . ' permanently.', OC_Log::ERROR);
 	}
 }
 
diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js
index cd5a67ddfe002d502d013074b1baf496a948cbbf..f42abb6d029dc9a526713754ae89e7d8a44ccaf7 100644
--- a/apps/files_trashbin/js/filelist.js
+++ b/apps/files_trashbin/js/filelist.js
@@ -22,3 +22,10 @@ FileList.reload = function(){
 FileList.linkTo = function(dir){
 	return OC.linkTo('files_trashbin', 'index.php')+"?dir="+ encodeURIComponent(dir).replace(/%2F/g, '/');
 }
+
+FileList.updateEmptyContent = function(){
+	var $fileList = $('#fileList');
+	var exists = $fileList.find('tr:first').exists();
+	$('#emptycontent').toggleClass('hidden', exists);
+	$('#filestable th').toggleClass('hidden', !exists);
+}
diff --git a/apps/files_trashbin/js/trash.js b/apps/files_trashbin/js/trash.js
index 4e6a1e93fa40c969d3d68569d0a68d674b80c98f..84c23d66992143a86d3a46b97809259e56194c18 100644
--- a/apps/files_trashbin/js/trash.js
+++ b/apps/files_trashbin/js/trash.js
@@ -19,6 +19,7 @@ $(document).ready(function() {
 						}
 						enableActions();
 						FileList.updateFileSummary();
+						FileList.updateEmptyContent();
 					}
 			);
 
@@ -45,6 +46,7 @@ $(document).ready(function() {
 					}
 					enableActions();
 					FileList.updateFileSummary();
+					FileList.updateEmptyContent();
 				}
 		);
 
@@ -122,34 +124,60 @@ $(document).ready(function() {
 					}
 					enableActions();
 					FileList.updateFileSummary();
+					FileList.updateEmptyContent();
 				}
 		);
 	});
 
 	$('.delete').click('click', function(event) {
 		event.preventDefault();
-		var files = getSelectedFiles('file');
-		var fileslist = JSON.stringify(files);
-		var dirlisting = getSelectedFiles('dirlisting')[0];
+		var allFiles = $('#select_all').is(':checked');
+		var files = [];
+		var params = {};
+		if (allFiles) {
+			params = {
+			   allfiles: true
+			};
+		}
+		else {
+			files = getSelectedFiles('file');
+			params = {
+				files: JSON.stringify(files),
+				dirlisting: getSelectedFiles('dirlisting')[0]
+			};
+		};
 
 		disableActions();
-		for (var i = 0; i < files.length; i++) {
-			var deleteAction = $('tr').filterAttr('data-file', files[i]).children("td.date").children(".action.delete");
-			deleteAction.removeClass('delete-icon').addClass('progress-icon');
+		if (allFiles) {
+			FileList.showMask();
+		}
+		else {
+			for (var i = 0; i < files.length; i++) {
+				var deleteAction = $('tr').filterAttr('data-file', files[i]).children("td.date").children(".action.delete");
+				deleteAction.removeClass('delete-icon').addClass('progress-icon');
+			}
 		}
 
 		$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'),
-				{files: fileslist, dirlisting: dirlisting},
+				params,
 				function(result) {
-					for (var i = 0; i < result.data.success.length; i++) {
-						var row = document.getElementById(result.data.success[i].filename);
-						row.parentNode.removeChild(row);
+					if (allFiles) {
+						FileList.hideMask();
+						// simply remove all files
+						$('#fileList').empty();
+					}
+					else {
+						for (var i = 0; i < result.data.success.length; i++) {
+							var row = document.getElementById(result.data.success[i].filename);
+							row.parentNode.removeChild(row);
+						}
 					}
 					if (result.status !== 'success') {
 						OC.dialogs.alert(result.data.message, t('core', 'Error'));
 					}
 					enableActions();
 					FileList.updateFileSummary();
+					FileList.updateEmptyContent();
 				}
 		);
 
diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php
index 15ba074e45eefa42f1e21d8174de7a61cfd5dde1..f9264d4352cca017004e6a3021f304bd5feb5dde 100644
--- a/apps/files_trashbin/templates/index.php
+++ b/apps/files_trashbin/templates/index.php
@@ -4,9 +4,7 @@
 </div>
 <div id='notification'></div>
 
-<?php if (isset($_['files']) && count($_['files']) === 0 && $_['dirlisting'] === false && !$_['ajaxLoad']):?>
-	<div id="emptycontent"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
-<?php endif; ?>
+<div id="emptycontent" <?php if (!(isset($_['files']) && count($_['files']) === 0 && $_['dirlisting'] === false && !$_['ajaxLoad'])):?>class="hidden"<?php endif; ?>><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
 
 <input type="hidden" name="ajaxLoad" id="ajaxLoad" value="<?php p($_['ajaxLoad']); ?>" />
 <input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>"></input>
diff --git a/core/command/app/disable.php b/core/command/app/disable.php
new file mode 100644
index 0000000000000000000000000000000000000000..dcdee92349e26d9675783d99bee3d33e57c97b04
--- /dev/null
+++ b/core/command/app/disable.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\Command\App;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class Disable extends Command {
+	protected function configure() {
+		$this
+			->setName('app:disable')
+			->setDescription('disable an app')
+			->addArgument(
+				'app-id',
+				InputArgument::REQUIRED,
+				'disable the specified app'
+			);
+	}
+
+	protected function execute(InputInterface $input, OutputInterface $output) {
+		$appId = $input->getArgument('app-id');
+		if (\OC_App::isEnabled($appId)) {
+			\OC_App::disable($appId);
+			$output->writeln($appId . ' disabled');
+		} else {
+			$output->writeln('No such app enabled: ' . $appId);
+		}
+	}
+}
diff --git a/core/command/app/enable.php b/core/command/app/enable.php
new file mode 100644
index 0000000000000000000000000000000000000000..f08546602ee0eab23ddbe97cb5ff1b28ec546a77
--- /dev/null
+++ b/core/command/app/enable.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\Command\App;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class Enable extends Command {
+	protected function configure() {
+		$this
+			->setName('app:enable')
+			->setDescription('enable an app')
+			->addArgument(
+				'app-id',
+				InputArgument::REQUIRED,
+				'enable the specified app'
+			);
+	}
+
+	protected function execute(InputInterface $input, OutputInterface $output) {
+		$appId = $input->getArgument('app-id');
+		if (\OC_App::isEnabled($appId)) {
+			$output->writeln($appId . ' is already enabled');
+		} else if (!\OC_App::getAppPath($appId)) {
+			$output->writeln($appId . ' not found');
+		} else {
+			\OC_App::enable($appId);
+			$output->writeln($appId . ' enabled');
+		}
+	}
+}
diff --git a/core/command/app/listapps.php b/core/command/app/listapps.php
new file mode 100644
index 0000000000000000000000000000000000000000..dc471c5453a4a42d5ee2fefb24dc983c09d19ae6
--- /dev/null
+++ b/core/command/app/listapps.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\Command\App;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class ListApps extends Command {
+	protected function configure() {
+		$this
+			->setName('app:list')
+			->setDescription('List all available apps');
+	}
+
+	protected function execute(InputInterface $input, OutputInterface $output) {
+		$apps = \OC_App::getAllApps();
+		$enabledApps = array();
+		$disabledApps = array();
+
+		//sort enabled apps above disabled apps
+		foreach ($apps as $app) {
+			if (\OC_App::isEnabled($app)) {
+				$enabledApps[] = $app;
+			} else {
+				$disabledApps[] = $app;
+			}
+		}
+
+		sort($enabledApps);
+		sort($disabledApps);
+		$output->writeln('Enabled:');
+		foreach ($enabledApps as $app) {
+			$output->writeln(' - ' . $app);
+		}
+		$output->writeln('Disabled:');
+		foreach ($disabledApps as $app) {
+			$output->writeln(' - ' . $app);
+		}
+	}
+}
diff --git a/core/css/styles.css b/core/css/styles.css
index 938b522a90fb84d843c5cd6af0b36fa37302c238..5c0aa1fedc2255217bf258513f7cd1bb352fbb23 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -561,7 +561,7 @@ label.infield { cursor:text !important; top:1.05em; left:.85em; }
 
 /* NAVIGATION ------------------------------------------------------------- */
 #navigation {
-	position: absolute;
+	position: fixed;
 	top: 0;
 	bottom: 0;
 	left: 0;
diff --git a/core/register_command.php b/core/register_command.php
index 2f351b67a1ee2426c4e53ef2e50b3abecc20939a..1e520e38825cff59ae2c4f8e5289d4264ad4472c 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -11,3 +11,6 @@ $application->add(new OC\Core\Command\Status);
 $application->add(new OC\Core\Command\Db\GenerateChangeScript());
 $application->add(new OC\Core\Command\Upgrade());
 $application->add(new OC\Core\Command\Maintenance\SingleUser());
+$application->add(new OC\Core\Command\App\Disable());
+$application->add(new OC\Core\Command\App\Enable());
+$application->add(new OC\Core\Command\App\ListApps());
diff --git a/lib/base.php b/lib/base.php
index b361ac3c71ae2d4c8adbf80b019d07b9a6b8a151..2feedd81d8c3de654560f1017526e7742123a3d1 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -178,11 +178,19 @@ class OC {
 		if (file_exists(OC::$SERVERROOT . "/config/config.php")
 			and !is_writable(OC::$SERVERROOT . "/config/config.php")) {
 			$defaults = new OC_Defaults();
-			OC_Template::printErrorPage(
-				"Can't write into config directory!",
-				'This can usually be fixed by '
-					.'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
-			);
+			if (self::$CLI) {
+				echo "Can't write into config directory!\n";
+				echo "This can usually be fixed by giving the webserver write access to the config directory\n";
+				echo "\n";
+				echo "See " . \OC_Helper::linkToDocs('admin-dir_permissions') . "\n";
+				exit;
+			} else {
+				OC_Template::printErrorPage(
+					"Can't write into config directory!",
+					'This can usually be fixed by '
+						.'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
+				);
+			}
 		}
 	}
 
@@ -496,7 +504,14 @@ class OC {
 
 		$errors = OC_Util::checkServer();
 		if (count($errors) > 0) {
-			OC_Template::printGuestPage('', 'error', array('errors' => $errors));
+			if (self::$CLI) {
+				foreach ($errors as $error) {
+					echo $error['error']."\n";
+					echo $error['hint'] . "\n\n";
+				}
+			} else {
+				OC_Template::printGuestPage('', 'error', array('errors' => $errors));
+			}
 			exit;
 		}
 
diff --git a/lib/private/connector/sabre/filesplugin.php b/lib/private/connector/sabre/filesplugin.php
index 1c80ebe80449106cf5052625a59285ce77736676..65231040fb5973f7622e1730387d8a3c427a1ef5 100644
--- a/lib/private/connector/sabre/filesplugin.php
+++ b/lib/private/connector/sabre/filesplugin.php
@@ -78,7 +78,19 @@ class OC_Connector_Sabre_FilesPlugin extends Sabre_DAV_ServerPlugin
 	 * @throws Sabre_DAV_Exception_BadRequest
 	 */
 	public function sendFileIdHeader($filePath, Sabre_DAV_INode $node = null) {
+		// chunked upload handling
+		if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
+			list($path, $name) = \Sabre_DAV_URLUtil::splitPath($filePath);
+			$info = OC_FileChunking::decodeName($name);
+			if (!empty($info)) {
+				$filePath = $path . '/' . $info['name'];
+			}
+		}
+
 		// we get the node for the given $filePath here because in case of afterCreateFile $node is the parent folder
+		if (!$this->server->tree->nodeExists($filePath)) {
+			return;
+		}
 		$node = $this->server->tree->getNodeForPath($filePath);
 		if ($node instanceof OC_Connector_Sabre_Node) {
 			$fileId = $node->getFileId();
diff --git a/lib/private/defaults.php b/lib/private/defaults.php
index 4951c6f50aebc90b75a13f1a39df29c4db012ac3..cec9a65c7f3690be385c88ea7760791b40d4c693 100644
--- a/lib/private/defaults.php
+++ b/lib/private/defaults.php
@@ -1,15 +1,13 @@
 <?php
 
-/**
- * Default strings and values which differ between the enterprise and the
- * community edition. Use the get methods to always get the right strings.
- */
-
-
 if (file_exists(OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php')) {
 	require_once 'themes/' . OC_Util::getTheme() . '/defaults.php';
 }
 
+/**
+ * Default strings and values which differ between the enterprise and the
+ * community edition. Use the get methods to always get the right strings.
+ */
 class OC_Defaults {
 
 	private $theme;
@@ -48,6 +46,10 @@ class OC_Defaults {
 		return false;
 	}
 
+	/**
+	 * Returns the base URL
+	 * @return string URL
+	 */
 	public function getBaseUrl() {
 		if ($this->themeExist('getBaseUrl')) {
 			return $this->theme->getBaseUrl();
@@ -56,6 +58,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns the URL where the sync clients are listed
+	 * @return string URL
+	 */
 	public function getSyncClientUrl() {
 		if ($this->themeExist('getSyncClientUrl')) {
 			return $this->theme->getSyncClientUrl();
@@ -64,6 +70,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns the documentation URL
+	 * @return string URL
+	 */
 	public function getDocBaseUrl() {
 		if ($this->themeExist('getDocBaseUrl')) {
 			return $this->theme->getDocBaseUrl();
@@ -72,6 +82,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns the title
+	 * @return string title
+	 */
 	public function getTitle() {
 		if ($this->themeExist('getTitle')) {
 			return $this->theme->getTitle();
@@ -80,6 +94,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns the short name of the software
+	 * @return string title
+	 */
 	public function getName() {
 		if ($this->themeExist('getName')) {
 			return $this->theme->getName();
@@ -88,6 +106,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns entity (e.g. company name) - used for footer, copyright
+	 * @return string entity name
+	 */
 	public function getEntity() {
 		if ($this->themeExist('getEntity')) {
 			return $this->theme->getEntity();
@@ -96,6 +118,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns slogan
+	 * @return string slogan
+	 */
 	public function getSlogan() {
 		if ($this->themeExist('getSlogan')) {
 			return $this->theme->getSlogan();
@@ -104,6 +130,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns logo claim
+	 * @return string logo claim
+	 */
 	public function getLogoClaim() {
 		if ($this->themeExist('getLogoClaim')) {
 			return $this->theme->getLogoClaim();
@@ -112,6 +142,10 @@ class OC_Defaults {
 		}
 	}
 
+	/**
+	 * Returns short version of the footer
+	 * @return string short footer
+	 */
 	public function getShortFooter() {
 		if ($this->themeExist('getShortFooter')) {
 			$footer = $this->theme->getShortFooter();
@@ -123,6 +157,10 @@ class OC_Defaults {
 		return $footer;
 	}
 
+	/**
+	 * Returns long version of the footer
+	 * @return string long footer
+	 */
 	public function getLongFooter() {
 		if ($this->themeExist('getLongFooter')) {
 			$footer = $this->theme->getLongFooter();
diff --git a/lib/private/request.php b/lib/private/request.php
index d11e5b16cfe00a77c8919ca62405794128d058e9..7a75bf252080433663ef015351249546144cc0b0 100755
--- a/lib/private/request.php
+++ b/lib/private/request.php
@@ -136,7 +136,18 @@ class OC_Request {
 	 * @returns string Path info or false when not found
 	 */
 	public static function getRawPathInfo() {
-		$path_info = substr($_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME']));
+		$requestUri = $_SERVER['REQUEST_URI'];
+		// remove too many leading slashes - can be caused by reverse proxy configuration
+		if (strpos($requestUri, '/') === 0) {
+			$requestUri = '/' . ltrim($requestUri, '/');
+		}
+
+		$scriptName = $_SERVER['SCRIPT_NAME'];
+		// in case uri and script name don't match we better throw an exception
+		if (strpos($requestUri, $scriptName) !== 0) {
+			throw new Exception("REQUEST_URI($requestUri) does not start with the SCRIPT_NAME($scriptName)");
+		}
+		$path_info = substr($requestUri, strlen($scriptName));
 		// Remove the query string from REQUEST_URI
 		if ($pos = strpos($path_info, '?')) {
 			$path_info = substr($path_info, 0, $pos);
diff --git a/lib/public/activity/iconsumer.php b/lib/public/activity/iconsumer.php
index a0134a379dcfc735c9069cd80254975c64ee0ea4..9afacf4e745533c22c33d1c5ec31d10e908e1977 100644
--- a/lib/public/activity/iconsumer.php
+++ b/lib/public/activity/iconsumer.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Activity/IConsumer interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Activity;
diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php
index 90215d637c0a5aa5b7efbc6a7cce9e5cf0777e2b..086e430d677d480419b5206420ad421484e06883 100644
--- a/lib/public/activity/imanager.php
+++ b/lib/public/activity/imanager.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Activity/IManager interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Activity;
@@ -47,7 +52,6 @@ interface IManager {
 	 *
 	 * $callable has to return an instance of OCA\Activity\IConsumer
 	 *
-	 * @param string $key
 	 * @param \Closure $callable
 	 */
 	function registerConsumer(\Closure $callable);
diff --git a/lib/public/appframework/app.php b/lib/public/appframework/app.php
index 6ac48bf102aa7c7b27296449dea9417b11704759..0ff6648c5d4cdf19454cb77ad17f1248d840b78e 100644
--- a/lib/public/appframework/app.php
+++ b/lib/public/appframework/app.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework/App class
+ */
+
 namespace OCP\AppFramework;
 
 
diff --git a/lib/public/appframework/controller.php b/lib/public/appframework/controller.php
index 320e0cfebb2079ce37a7d05a4d8659bb0aa1c9f2..dc8da96787168ed41ff290b61fb730e9eb68108d 100644
--- a/lib/public/appframework/controller.php
+++ b/lib/public/appframework/controller.php
@@ -20,6 +20,10 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework\Controller class
+ */
 
 namespace OCP\AppFramework;
 
@@ -34,16 +38,19 @@ use OCP\IRequest;
 abstract class Controller {
 
 	/**
+	 * app container for dependency injection
 	 * @var \OCP\AppFramework\IAppContainer
 	 */
 	protected $app;
 
 	/**
+	 * current request
 	 * @var \OCP\IRequest
 	 */
 	protected $request;
 
 	/**
+	 * constructor of the controller
 	 * @param IAppContainer $app interface to the app
 	 * @param IRequest $request an instance of the request
 	 */
diff --git a/lib/public/appframework/http.php b/lib/public/appframework/http.php
index c584d4ec670b97789d7687d6e89e0fcf510a609f..60f314202cc9e93f484cddf6901e5322196dde5c 100644
--- a/lib/public/appframework/http.php
+++ b/lib/public/appframework/http.php
@@ -20,10 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework\HTTP class
+ */
 
 namespace OCP\AppFramework;
 
-
+/**
+ * Base class which contains constants for HTTP status codes
+ */
 class Http {
 
 	const STATUS_CONTINUE = 100;
diff --git a/lib/public/appframework/http/jsonresponse.php b/lib/public/appframework/http/jsonresponse.php
index 7c2b609bc2eae35d8d39cad142be62fdae62b940..b54b23a34e633335c2ba9c4382dc281c511ae511 100644
--- a/lib/public/appframework/http/jsonresponse.php
+++ b/lib/public/appframework/http/jsonresponse.php
@@ -20,6 +20,10 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework\HTTP\JSONResponse class
+ */
 
 namespace OCP\AppFramework\Http;
 
@@ -30,10 +34,15 @@ use OCP\AppFramework\Http;
  */
 class JSONResponse extends Response {
 
+	/**
+	 * response data
+	 * @var array|object
+	 */
 	protected $data;
 
 
 	/**
+	 * constructor of JSONResponse
 	 * @param array|object $data the object or array that should be transformed
 	 * @param int $statusCode the Http status code, defaults to 200
 	 */
@@ -55,7 +64,7 @@ class JSONResponse extends Response {
 
 	/**
 	 * Sets values in the data json array
-	 * @param array|object $params an array or object which will be transformed
+	 * @param array|object $data an array or object which will be transformed
 	 *                             to JSON
 	 */
 	public function setData($data){
diff --git a/lib/public/appframework/http/response.php b/lib/public/appframework/http/response.php
index f776878a814193b55cf60818dc9937598bad9cc2..0f5a18ca4fec9c81bd772271d78f47b2826fd20e 100644
--- a/lib/public/appframework/http/response.php
+++ b/lib/public/appframework/http/response.php
@@ -20,6 +20,10 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework\HTTP\Response class
+ */
 
 namespace OCP\AppFramework\Http;
 
diff --git a/lib/public/appframework/http/templateresponse.php b/lib/public/appframework/http/templateresponse.php
index 6156f8062fcafbb05de9b2d8a27700b6caf0f725..2200a38beca93d4c60307e1071ca7f5146a39f89 100644
--- a/lib/public/appframework/http/templateresponse.php
+++ b/lib/public/appframework/http/templateresponse.php
@@ -20,6 +20,10 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework\HTTP\TemplateResponse class
+ */
 
 namespace OCP\AppFramework\Http;
 
@@ -29,14 +33,34 @@ namespace OCP\AppFramework\Http;
  */
 class TemplateResponse extends Response {
 
+	/**
+	 * name of the template
+	 * @var string
+	 */
 	protected $templateName;
+
+	/**
+	 * parameters
+	 * @var array
+	 */
 	protected $params;
+
+	/**
+	 * rendering type (admin, user, blank)
+	 * @var string
+	 */
 	protected $renderAs;
+
+	/**
+	 * app name
+	 * @var string
+	 */
 	protected $appName;
 
 	/**
-	 * @param string $templateName the name of the template
+	 * constructor of TemplateResponse
 	 * @param string $appName the name of the app to load the template from
+	 * @param string $templateName the name of the template
 	 */
 	public function __construct($appName, $templateName) {
 		$this->templateName = $templateName;
diff --git a/lib/public/appframework/iapi.php b/lib/public/appframework/iapi.php
index a22b056635e64c3e9d411985733b0c521c9ee827..963e870f79bd5311f4d35a09db459bb52eacec9e 100644
--- a/lib/public/appframework/iapi.php
+++ b/lib/public/appframework/iapi.php
@@ -20,6 +20,10 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework/IApi interface
+ */
 
 namespace OCP\AppFramework;
 
diff --git a/lib/public/appframework/middleware.php b/lib/public/appframework/middleware.php
index c4ee1c0dbae18da21943b20f282bd02fc6e52fbd..24f3193993547fd12db0169de3439037a170fcdc 100644
--- a/lib/public/appframework/middleware.php
+++ b/lib/public/appframework/middleware.php
@@ -20,6 +20,10 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * AppFramework\Middleware class
+ */
 
 namespace OCP\AppFramework;
 
diff --git a/lib/public/authentication/iapachebackend.php b/lib/public/authentication/iapachebackend.php
index 2d2f8c4e486f65ead0f9f3727c06b3e9352f9cfd..3979a14302eba4b6bea40805d39fe3c0b15d9648 100644
--- a/lib/public/authentication/iapachebackend.php
+++ b/lib/public/authentication/iapachebackend.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Authentication/IApacheBackend interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Authentication;
diff --git a/lib/public/db.php b/lib/public/db.php
index b9424b53862803dd8c6412286595c2ce625406dc..c9997c79c3cd555fa86f9cfffa3644d658ae8c55 100644
--- a/lib/public/db.php
+++ b/lib/public/db.php
@@ -37,6 +37,8 @@ class DB {
 	/**
 	 * Prepare a SQL query
 	 * @param string $query Query string
+	 * @param int $limit Limit of the SQL statement
+	 * @param int $offset Offset of the SQL statement
 	 * @return \MDB2_Statement_Common prepared SQL query
 	 *
 	 * SQL query via MDB2 prepare(), needs to be execute()'d!
diff --git a/lib/public/defaults.php b/lib/public/defaults.php
index 8f7853a86a38f5eca2f4f3e7bf377e9e008c2070..34b68903ee815d5d1238a149d5f72b4c90b81971 100644
--- a/lib/public/defaults.php
+++ b/lib/public/defaults.php
@@ -30,19 +30,27 @@
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP;
 
-/*
+/**
  * public api to access default strings and urls for your templates
  */
 class Defaults {
 
+	/**
+	 * \OC_Defaults instance to retrieve the defaults
+	 * @return string
+	 */
 	private $defaults;
 
+	/**
+	 * creates a \OC_Defaults instance which is used in all methods to retrieve the
+	 * actual defaults
+	 */
 	function __construct() {
 		$this->defaults = new \OC_Defaults();
 	}
 
 	/**
-	 * @breif get base URL for the organisation behind your ownCloud instance
+	 * get base URL for the organisation behind your ownCloud instance
 	 * @return string
 	 */
 	public function getBaseUrl() {
@@ -50,7 +58,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif link to the desktop sync client
+	 * link to the desktop sync client
 	 * @return string
 	 */
 	public function getSyncClientUrl() {
@@ -58,7 +66,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif base URL to the documentation of your ownCloud instance
+	 * base URL to the documentation of your ownCloud instance
 	 * @return string
 	 */
 	public function getDocBaseUrl() {
@@ -66,7 +74,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif name of your ownCloud instance
+	 * name of your ownCloud instance
 	 * @return string
 	 */
 	public function getName() {
@@ -74,7 +82,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif Entity behind your onwCloud instance
+	 * Entity behind your onwCloud instance
 	 * @return string
 	 */
 	public function getEntity() {
@@ -82,7 +90,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif ownCloud slogan
+	 * ownCloud slogan
 	 * @return string
 	 */
 	public function getSlogan() {
@@ -90,7 +98,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif logo claim
+	 * logo claim
 	 * @return string
 	 */
 	public function getLogoClaim() {
@@ -98,7 +106,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif footer, short version
+	 * footer, short version
 	 * @return string
 	 */
 	public function getShortFooter() {
@@ -106,7 +114,7 @@ class Defaults {
 	}
 
 	/**
-	 * @breif footer, long version
+	 * footer, long version
 	 * @return string
 	 */
 	public function getLongFooter() {
diff --git a/lib/public/files/alreadyexistsexception.php b/lib/public/files/alreadyexistsexception.php
index 3132e3b0c313377d0ea90b721b43edc04c3eaf0e..7bea947aef0ee1a48a701a7606a4e765a3492b43 100644
--- a/lib/public/files/alreadyexistsexception.php
+++ b/lib/public/files/alreadyexistsexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/AlreadyExistsException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for already existing files/folders
+ */
 class AlreadyExistsException extends \Exception {}
diff --git a/lib/public/files/entitytoolargeexception.php b/lib/public/files/entitytoolargeexception.php
index e0d93ccbcd0876758b81482675f3382185dd70ce..eaa68a548b9e7477d89bf0a3bdb0867da076a2c6 100644
--- a/lib/public/files/entitytoolargeexception.php
+++ b/lib/public/files/entitytoolargeexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/EntityTooLargeException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for too large entity
+ */
 class EntityTooLargeException extends \Exception {}
diff --git a/lib/public/files/file.php b/lib/public/files/file.php
index 730213039d027d1ba99794d94a0dd214bce7eab0..c6cda59f9b08b1e64694f48473a518b4da4d067c 100644
--- a/lib/public/files/file.php
+++ b/lib/public/files/file.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/File interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
diff --git a/lib/public/files/folder.php b/lib/public/files/folder.php
index 5c9785db571a31cd532e1ee70cb50dc7f9683e72..7fec1c529a598f31f9f5e7734568552676776806 100644
--- a/lib/public/files/folder.php
+++ b/lib/public/files/folder.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/Folder interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
diff --git a/lib/public/files/invalidcontentexception.php b/lib/public/files/invalidcontentexception.php
index 2e1356e2ba31a7ab8aea7f7f60bd8eb45eb51da5..3dfe7378c4db97e5fab7cf0f882c07134046e3d2 100644
--- a/lib/public/files/invalidcontentexception.php
+++ b/lib/public/files/invalidcontentexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/InvalidContentException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for invalid content
+ */
 class InvalidContentException extends \Exception {}
diff --git a/lib/public/files/invalidpathexception.php b/lib/public/files/invalidpathexception.php
index 893eb1e43f8c459f316c54622c5848fca2cf0e15..8ecfa7d89ad9ba91f2d9d63afdfbc1250b6130a9 100644
--- a/lib/public/files/invalidpathexception.php
+++ b/lib/public/files/invalidpathexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/InvalidPathException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for invalid path
+ */
 class InvalidPathException extends \Exception {}
diff --git a/lib/public/files/node.php b/lib/public/files/node.php
index e38bfa3b2ef3de4f87aa75a690c87f60ccd1b436..972b1cfa492b0e6361659bd4125ff6db2d3661a9 100644
--- a/lib/public/files/node.php
+++ b/lib/public/files/node.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/Node interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
diff --git a/lib/public/files/notenoughspaceexception.php b/lib/public/files/notenoughspaceexception.php
index 1597a4518b05119a0c2429cf2482ed3f9da2781d..17f91b31bfca5be21231e7453e79d5c3304c994a 100644
--- a/lib/public/files/notenoughspaceexception.php
+++ b/lib/public/files/notenoughspaceexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/NotEnoughSpaceException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for not enough space
+ */
 class NotEnoughSpaceException extends \Exception {}
diff --git a/lib/public/files/notfoundexception.php b/lib/public/files/notfoundexception.php
index 489e43fc5fb1cd97132dcdf5c2cf796b1715d27e..cb35199220b004c6891622f706175b9693ec6787 100644
--- a/lib/public/files/notfoundexception.php
+++ b/lib/public/files/notfoundexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/NotFoundException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for not found entity
+ */
 class NotFoundException extends \Exception {}
diff --git a/lib/public/files/notpermittedexception.php b/lib/public/files/notpermittedexception.php
index a5be43dbf577f9c77397e40c42f062f3c1b8bfca..e37bd6fad3c50759422e367a1a2663a050d2c488 100644
--- a/lib/public/files/notpermittedexception.php
+++ b/lib/public/files/notpermittedexception.php
@@ -20,8 +20,16 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/NotPermittedException class
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
 
+/**
+ * Exception for not permitted action
+ */
 class NotPermittedException extends \Exception {}
diff --git a/lib/public/files/storage.php b/lib/public/files/storage.php
index 7a7d5ec1efce7272d5a2be8761b617d0805acb65..194b42a6481c83b8d135f35529d5b5856442cfa1 100644
--- a/lib/public/files/storage.php
+++ b/lib/public/files/storage.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * Files/Storage interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP\Files;
diff --git a/lib/public/iaddressbook.php b/lib/public/iaddressbook.php
index 77e8750d9da50fa9da03a21f6a884dbadc47eb43..dcfe08012e67dbfc74a358883a30bcda976c90e4 100644
--- a/lib/public/iaddressbook.php
+++ b/lib/public/iaddressbook.php
@@ -20,6 +20,11 @@
  *
  */
 
+/**
+ * Public interface of ownCloud for apps to use.
+ * IAddressBook interface
+ */
+
 // use OCP namespace for all classes that are considered public.
 // This means that they should be used by apps instead of the internal ownCloud classes
 namespace OCP {
diff --git a/lib/public/icontainer.php b/lib/public/icontainer.php
index 6b7052cc4f40fcc3842139049ce3b2a9c41be74a..eaffa5d5a0627f17e47f7103f783ed8ce21325df 100644
--- a/lib/public/icontainer.php
+++ b/lib/public/icontainer.php
@@ -64,7 +64,7 @@ interface IContainer {
 	 * In case the parameter is false the service will be recreated on every call.
 	 *
 	 * @param string $name
-	 * @param callable $closure
+	 * @param \Closure $closure
 	 * @param bool $shared
 	 * @return void
 	 */
diff --git a/lib/public/idbconnection.php b/lib/public/idbconnection.php
index 17e3de0ffe7132a3ee7ab1ace3e33f0c0d52ff58..656b5e7e5b299723c76f6737f3a1a262d09509a5 100644
--- a/lib/public/idbconnection.php
+++ b/lib/public/idbconnection.php
@@ -45,7 +45,7 @@ interface IDBConnection {
 
 	/**
 	 * Used to get the id of the just inserted element
-	 * @param string $tableName the name of the table where we inserted the item
+	 * @param string $table the name of the table where we inserted the item
 	 * @return int the id of the inserted element
 	 */
 	public function lastInsertId($table = null);
diff --git a/lib/public/share.php b/lib/public/share.php
index caa274b8579492343d23a98d99328f00928079c5..6178a5ae04302cb2cb36e0647a74259ac569f6c6 100644
--- a/lib/public/share.php
+++ b/lib/public/share.php
@@ -256,7 +256,7 @@ class Share {
 	/**
 	 * Get the item of item type shared with the current user
 	 * @param string $itemType
-	 * @param string $ItemTarget
+	 * @param string $itemTarget
 	 * @param int $format (optional) Format type must be defined by the backend
 	 * @return Return depends on format
 	 */
@@ -268,8 +268,8 @@ class Share {
 
 	/**
 	 * Get the item of item type shared with a given user by source
-	 * @param string $ItemType
-	 * @param string $ItemSource
+	 * @param string $itemType
+	 * @param string $itemSource
 	 * @param string $user User user to whom the item was shared
 	 * @return array Return list of items with file_target, permissions and expiration
 	 */
diff --git a/tests/lib/request.php b/tests/lib/request.php
index 2b2094a612dd36abc7d781325a059df468d364e6..a740751f060df22f4191a13d4b735eea0e496319 100644
--- a/tests/lib/request.php
+++ b/tests/lib/request.php
@@ -23,4 +23,46 @@ class Test_Request extends PHPUnit_Framework_TestCase {
 		$scriptName = OC_Request::scriptName();
 		$this->assertEquals('/domain.tld/ownCloud/tests/lib/request.php', $scriptName);
 	}
+
+	/**
+	 * @dataProvider rawPathInfoProvider
+	 * @param $expected
+	 * @param $requestUri
+	 * @param $scriptName
+	 */
+	public function testRawPathInfo($expected, $requestUri, $scriptName) {
+		$_SERVER['REQUEST_URI'] = $requestUri;
+		$_SERVER['SCRIPT_NAME'] = $scriptName;
+		$rawPathInfo = OC_Request::getRawPathInfo();
+		$this->assertEquals($expected, $rawPathInfo);
+	}
+
+	function rawPathInfoProvider() {
+		return array(
+			array('/core/ajax/translations.php', 'index.php/core/ajax/translations.php', 'index.php'),
+			array('/core/ajax/translations.php', '/index.php/core/ajax/translations.php', '/index.php'),
+			array('/core/ajax/translations.php', '//index.php/core/ajax/translations.php', '/index.php'),
+		);
+	}
+
+	/**
+	 * @dataProvider rawPathInfoThrowsExceptionProvider
+	 * @expectedException Exception
+	 *
+	 * @param $requestUri
+	 * @param $scriptName
+	 */
+	public function testRawPathInfoThrowsException($requestUri, $scriptName) {
+		$_SERVER['REQUEST_URI'] = $requestUri;
+		$_SERVER['SCRIPT_NAME'] = $scriptName;
+		OC_Request::getRawPathInfo();
+	}
+
+	function rawPathInfoThrowsExceptionProvider() {
+		return array(
+			array('core/ajax/translations.php', '/index.php'),
+			array('/core/ajax/translations.php', '/index.php'),
+			array('//core/ajax/translations.php', '/index.php'),
+		);
+	}
 }