var $loginname;
var $username;
var $name;
+ var $email;
var $company; // user's company
var $pos;
var $access;
function set_company($company)
{
- $this->company = $company;
+ $this->company = (int)$company;
}
function login($company, $loginname, $password)
$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();
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;
return @$keys[0];
}
+// Recalculate report columns if orientation is landscape.
+function recalculate_cols(&$cols)
+{
+ $factor = (user_pagesize() == "A4" ? 1.4 : 1.3);
+ foreach($cols as $key => $col)
+ $cols[$key] = intval($col * $factor);
+}
+
function flush_dir($path, $wipe = false)
{
$dir = opendir($path);