aboutsummaryrefslogtreecommitdiffstats
path: root/lib/user.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/user.php')
-rw-r--r--lib/user.php15
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'));