diff options
Diffstat (limited to 'lib/user.php')
-rw-r--r-- | lib/user.php | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/user.php b/lib/user.php index 226b716188d..26fe73f8bfe 100644 --- a/lib/user.php +++ b/lib/user.php @@ -32,7 +32,7 @@ * post_deleteUser(uid) * pre_setPassword(&run, uid, password) * post_setPassword(uid, password) - * pre_login(&run, uid) + * pre_login(&run, uid, password) * post_login(uid) * logout() */ @@ -244,7 +244,7 @@ class OC_User { */ public static function login( $uid, $password ) { $run = true; - OC_Hook::emit( "OC_User", "pre_login", array( "run" => &$run, "uid" => $uid )); + OC_Hook::emit( "OC_User", "pre_login", array( "run" => &$run, "uid" => $uid, "password" => $password)); if( $run ) { $uid = self::checkPassword( $uid, $password ); @@ -393,13 +393,14 @@ class OC_User { * @brief Set password * @param $uid The username * @param $password The new password + * @param $recoveryPassword for the encryption app to reset encryption keys * @returns true/false * * Change the password of a user */ - public static function setPassword( $uid, $password ) { + public static function setPassword( $uid, $password, $recoveryPassword = null ) { $run = true; - OC_Hook::emit( "OC_User", "pre_setPassword", array( "run" => &$run, "uid" => $uid, "password" => $password )); + OC_Hook::emit( "OC_User", "pre_setPassword", array( "run" => &$run, "uid" => $uid, "password" => $password, "recoveryPassword" => $recoveryPassword )); if( $run ) { $success = false; @@ -412,7 +413,7 @@ class OC_User { } // invalidate all login cookies OC_Preferences::deleteApp($uid, 'login_token'); - OC_Hook::emit( "OC_User", "post_setPassword", array( "uid" => $uid, "password" => $password )); + OC_Hook::emit( "OC_User", "post_setPassword", array( "uid" => $uid, "password" => $password, "recoveryPassword" => $recoveryPassword )); return $success; } else{ @@ -610,6 +611,10 @@ class OC_User { public static function isEnabled($userid) { $sql = 'SELECT `userid` FROM `*PREFIX*preferences`' .' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ? AND `configvalue` = ?'; + if (OC_Config::getValue( 'dbtype', 'sqlite' ) === 'oci') { //FIXME oracle hack + $sql = 'SELECT `userid` FROM `*PREFIX*preferences`' + .' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ? AND to_char(`configvalue`) = ?'; + } $stmt = OC_DB::prepare($sql); if ( ! OC_DB::isError($stmt) ) { $result = $stmt->execute(array($userid, 'core', 'enabled', 'false')); |