X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fcurrent_user.inc;h=cc75e5e87cbef51969b18c35921f667b09200c7e;hb=66b76b3be910e0f5dc5a26384c4cfce20579a70d;hp=7f04eb778329e347b017f0523ad4d67f0eb2d68c;hpb=40da959b32eb27fcb0422207a284eed13cc27d7e;p=fa-stable.git diff --git a/includes/current_user.inc b/includes/current_user.inc index 7f04eb77..cc75e5e8 100644 --- a/includes/current_user.inc +++ b/includes/current_user.inc @@ -22,6 +22,7 @@ class current_user var $loginname; var $username; var $name; + var $email; var $company; // user's company var $pos; var $access; @@ -53,7 +54,7 @@ class current_user function set_company($company) { - $this->company = $company; + $this->company = (int)$company; } function login($company, $loginname, $password) @@ -120,6 +121,7 @@ class current_user $this->username = $this->loginname; $this->prefs = new user_prefs($myrow); $this->user = @$myrow["id"]; + $this->email = @$myrow["email"]; update_user_visitdate($this->username); $this->logged = true; $this->last_act = time(); @@ -129,6 +131,32 @@ class current_user return $this->logged; } + function reset_password($company, $email) { + global $app_title; + + $this->set_company($company); + $this->logged = false; + + set_global_connection(); + + $myrow = get_user_by_email($email); + + if ($myrow['id'] != "") { + + $bytes = openssl_random_pseudo_bytes(8, $cstrong); + $password = base64_encode($bytes); + + $hash = md5($password); + + update_user_password($myrow['id'], $myrow['user_id'], $hash); + + mail($myrow['email'], _("New password for")." ".$app_title, $password); + + return true; + } + return false; + } + function check_user_access() { global $security_groups;