Fix route and js

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2016-11-05 22:09:38 +01:00
parent 95a8964cc8
commit 78efb1972e
No known key found for this signature in database
GPG Key ID: 1E152838F164D13B
3 changed files with 11 additions and 56 deletions

View File

@ -1,46 +0,0 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
* @author Bart Visscher <bartv@thisnet.nl>
* @author Christopher Schäpers <kondou@ts.unde.re>
* @author Joas Schilling <coding@schilljs.com>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <robin@icewind.nl>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @license AGPL-3.0
*
* This code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License, version 3,
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
$l = \OC::$server->getL10N('settings');
OC_JSON::checkLoggedIn();
OCP\JSON::callCheck();
// Get data
if( isset( $_POST['lang'] ) ) {
$languageCodes = \OC::$server->getL10NFactory()->findAvailableLanguages();
$lang = (string)$_POST['lang'];
if(array_search($lang, $languageCodes) or $lang === 'en') {
\OC::$server->getConfig()->setUserValue( OC_User::getUser(), 'core', 'lang', $lang );
OC_JSON::success(array("data" => array( "message" => $l->t("Language changed") )));
}else{
OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
}
}else{
OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
}

View File

@ -272,13 +272,16 @@ $(document).ready(function () {
// Serialize the data // Serialize the data
var post = $("#languageinput").serialize(); var post = $("#languageinput").serialize();
// Ajax foo // Ajax foo
$.post('ajax/setlanguage.php', post, function (data) { $.ajax(
if (data.status === "success") { 'ajax/setlanguage.php',
location.reload(); {
} method: 'POST',
else { data: post
$('#passworderror').text(data.data.message);
} }
).done(function() {
location.reload();
}).fail(function(jqXHR) {
$('#passworderror').text(jqXHR.responseJSON.message);
}); });
return false; return false;
}); });

View File

@ -67,6 +67,7 @@ $application->registerRoutes($this, [
['name' => 'AdminSettings#form', 'url' => '/settings/admin/{section}', 'verb' => 'GET'], ['name' => 'AdminSettings#form', 'url' => '/settings/admin/{section}', 'verb' => 'GET'],
['name' => 'ChangePassword#changePersonalPassword', 'url' => '/settings/personal/changepassword', 'verb' => 'POST'], ['name' => 'ChangePassword#changePersonalPassword', 'url' => '/settings/personal/changepassword', 'verb' => 'POST'],
['name' => 'ChangePassword#changeUserPassword', 'url' => '/settings/users/changepassword', 'verb' => 'POST'], ['name' => 'ChangePassword#changeUserPassword', 'url' => '/settings/users/changepassword', 'verb' => 'POST'],
['name' => 'Personal#setLanguage', 'url' => '/settings/ajax/setlanguage.php', 'verb' => 'POST'],
] ]
]); ]);
@ -88,10 +89,7 @@ $this->create('settings_ajax_togglegroups', '/settings/ajax/togglegroups.php')
$this->create('settings_ajax_togglesubadmins', '/settings/ajax/togglesubadmins.php') $this->create('settings_ajax_togglesubadmins', '/settings/ajax/togglesubadmins.php')
->actionInclude('settings/ajax/togglesubadmins.php'); ->actionInclude('settings/ajax/togglesubadmins.php');
$this->create('settings_ajax_changegorupname', '/settings/ajax/changegroupname.php') $this->create('settings_ajax_changegorupname', '/settings/ajax/changegroupname.php')
->actionInclude('settings/ajax/changegroupname.php'); ->actionInclude('settings/ajax/changegroupname.php');
// personal
$this->create('settings_ajax_setlanguage', '/settings/ajax/setlanguage.php')
->actionInclude('settings/ajax/setlanguage.php');
// apps // apps
$this->create('settings_ajax_enableapp', '/settings/ajax/enableapp.php') $this->create('settings_ajax_enableapp', '/settings/ajax/enableapp.php')
->actionInclude('settings/ajax/enableapp.php'); ->actionInclude('settings/ajax/enableapp.php');