<NME> maintenance-check.js
<BEF> // Check every 20 seconds via status.php if maintenance is over
window.setInterval(checkStatus, 20000);

function checkStatus() {
	var request = new XMLHttpRequest();
	var ocroot = location.pathname.substr(
		0, location.pathname.indexOf('index.php')
	);
	request.open("GET", ocroot+'status.php', true);
	request.onreadystatechange = function() {
		if (request.readyState === 4) {
			var response = request.responseText;
			var responseobj = JSON.parse(response);
			if (responseobj.maintenance === false) {
				window.location.reload();
			}
		}
	};
	request.send();
}

<MSG> Use OC.webroot instead of calculating the URL

Calculating the URL is error-prone as it doesn't work when for example `public.php` is requested and might even be harmful as it could leak sensitive information.

Since `oc.js` is even available when maintenance mode is available it is better to use the global `OC.webroot` that is not controlled by any user.

<DFF> @@ -3,10 +3,7 @@ window.setInterval(checkStatus, 20000);
 
 function checkStatus() {
 	var request = new XMLHttpRequest();
-	var ocroot = location.pathname.substr(
-		0, location.pathname.indexOf('index.php')
-	);
-	request.open("GET", ocroot+'status.php', true);
+	request.open("GET", OC.webroot+'/status.php', true);
 	request.onreadystatechange = function() {
 		if (request.readyState === 4) {
 			var response = request.responseText;

{'addition_count': 1, 'commit_subject': 'Use OC.webroot instead of calculating the URL', 'deletion_count': 4, 'file_extension': '.js', 'lang': 'js', 'license': 'agpl-3.0', 'repo_name': 'owncloud/core'}