summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2013-02-05 14:58:35 +0100
committerArthur Schiwon <blizzz@owncloud.com>2013-02-05 19:26:00 +0100
commit5221ee0c5aaca5588e20683f397fec9d1d6e98c7 (patch)
treeceb42e65f80c08d8faf8fae48fea3f19577628e2
parente6400b305987977d867f1592f3231167903b70b1 (diff)
downloadnextcloud-server-5221ee0c5aaca5588e20683f397fec9d1d6e98c7.tar.gz
nextcloud-server-5221ee0c5aaca5588e20683f397fec9d1d6e98c7.zip
offer change password only when the action is supported by the user backend
-rw-r--r--lib/user.php18
-rw-r--r--settings/personal.php1
-rw-r--r--settings/templates/personal.php7
3 files changed, 25 insertions, 1 deletions
diff --git a/lib/user.php b/lib/user.php
index 38259bceea5..f953d221543 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -420,6 +420,24 @@ class OC_User {
}
/**
+ * @brief Check whether user can change his password
+ * @param $uid The username
+ * @returns true/false
+ *
+ * Check whether a specified user can change his password
+ */
+ public static function canUserChangePassword($uid) {
+ foreach(self::$_usedBackends as $backend) {
+ if($backend->implementsActions(OC_USER_BACKEND_SET_PASSWORD)) {
+ if($backend->userExists($uid)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
* @brief Check if the password is correct
* @param $uid The username
* @param $password The password
diff --git a/settings/personal.php b/settings/personal.php
index 4624bda8397..a2e510a6d3c 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -47,6 +47,7 @@ $tmpl->assign('total_space', OC_Helper::humanFileSize($storageInfo['total']));
$tmpl->assign('usage_relative', $storageInfo['relative']);
$tmpl->assign('email', $email);
$tmpl->assign('languages', $languages);
+$tmpl->assign('passwordChangeSupported', OC_User::canUserChangePassword(OC_User::getUser()));
$forms=OC_App::getForms('personal');
$tmpl->assign('forms', array());
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 0e1677bdea8..b1cc6713923 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -15,7 +15,9 @@
<a class="button" href="https://itunes.apple.com/us/app/owncloud/id543672169?mt=8" target="_blank"><?php echo $l->t('Download iOS Client');?></a>
</fieldset>
-
+<?php
+if($_['passwordChangeSupported']) {
+?>
<form id="passwordform">
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('Password');?></strong></legend>
@@ -27,6 +29,9 @@
<input id="passwordbutton" type="submit" value="<?php echo $l->t('Change password');?>" />
</fieldset>
</form>
+<?php
+}
+?>
<form id="lostpassword">
<fieldset class="personalblock">