var $old_db;
var $logged;
var $ui_mode = 0;
+ var $login_attempt=0;
var $prefs;
var $cur_con; // current db connection (can be different from $company for superuser)
- function current_user()
+ function __construct()
{
global $def_coy;
$this->email = @$myrow["email"];
update_user_visitdate($this->username);
$this->logged = true;
+ $this->login_attempt=0;
$this->last_act = time();
$this->timeout = session_timeout();
flush_dir(user_js_cache()); // refresh cache on login
set_global_connection();
- $myrow = get_user_by_email($email);
+ $user = get_user_by_email($email);
- if ($myrow['id'] != "") {
-
- $bytes = openssl_random_pseudo_bytes(8, $cstrong);
- $password = base64_encode($bytes);
+ if ($user != false) {
+ $password = generate_password();
$hash = md5($password);
- update_user_password($myrow['id'], $myrow['user_id'], $hash);
+ update_user_password($user['id'], $user['user_id'], $hash);
+
+ $sender = get_company_pref('email');
+ if (empty($sender))
+ $header = "";
+ else
+ $header = "From: $sender";
- mail($myrow['email'], _("New password for")." ".$SysPrefs->app_title, $password);
+ mail($email, _("New password for")." ".$SysPrefs->app_title, $password, $header);
return true;
}
function number_format2($number, $decimals=0)
{
global $SysPrefs;
- $tsep = $SysPrefs->thoseps[user_dec_sep()];
+ $tsep = $SysPrefs->thoseps[user_tho_sep()];
$dsep = $SysPrefs->decseps[user_dec_sep()];
- //return number_format($number, $decimals, $dsep, $tsep);
+
+ if ($number == '')
+ $number = 0;
if($decimals==='max')
$dec = 15 - floor(log10(abs($number)));
else {
$delta = ($number < 0 ? -.0000000001 : .0000000001);
- $number += $delta;
+ @$number += $delta;
$dec = $decimals;
}
- $num = number_format($number, $dec, $dsep, $tsep);
+ $num = number_format($number, intval($dec), $dsep, $tsep);
return $decimals==='max' ? rtrim($num, '0') : $num;
if ($pos !== false)
{
$len = strlen(substr($str, $pos + 1));
- if ($len > $dec)
+ if ($len > $dec && $len < ini_get('precision')-3)
$dec = $len;
}
return number_format2($number, $dec);
}
-// function money_format doesn't exist in OS Win.
-if (!function_exists('money_format'))
-{
- function money_format($format, $number)
- {
- return price_format($number);
- }
-}
// 2008-06-15. Added extra parameter $stock_id and reference for $dec
//--------------------------------------------------------------------
-function qty_format($number, $stock_id=null, &$dec) {
+function qty_format($number, $stock_id, &$dec) {
$dec = get_qty_dec($stock_id);
return number_format2($number, $dec);
}
$num = str_replace( $sep, '.', $num);
if (!is_numeric($num))
- return false;
+ return false;
$num = (float)$num;
if ($num == (int)$num)
- return (int)$num;
+ return (int)$num;
else
- return $num;
+ return $num;
}
function user_company()
{
global $SysPrefs;
- return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->price_dec() : $SysPrefs->prices_dec;
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->price_dec() : 2;
}
function user_exrate_dec()
{
global $SysPrefs;
- return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->exrate_dec() : $SysPrefs->rates_dec;
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->exrate_dec() : 4;
}
function user_percent_dec()
{
global $SysPrefs;
- return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->percent_dec() : $SysPrefs->percent_dec;
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->percent_dec() : 1;
}
function user_show_gl_info()
{
global $SysPrefs;
- return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->date_sep() : $SysPrefs->dflt_date_sep;
+ return isset($_SESSION["wa_current_user"]->prefs->date_sep) ? $_SESSION["wa_current_user"]->prefs->date_sep() : $SysPrefs->dflt_date_sep;
}
function user_tho_sep()
//
function array_search_value($needle, $haystack, $valuekey=null)
{
- foreach($haystack as $key => $value) {
- $val = isset($valuekey) ? @$value[$valuekey] : $value;
- if ($needle == $val){
- return $value;
+ if (is_array($haystack)) {
+ foreach($haystack as $key => $value) {
+ $val = isset($valuekey) ? @$value[$valuekey] : $value;
+ if ($needle == $val){
+ return $value;
+ }
}
}
return null;
function array_search_keys($needle, $haystack, $valuekey=null)
{
$keys = array();
- if($haystack)
+ if (is_array($haystack)) {
foreach($haystack as $key => $value) {
$val = isset($valuekey) ? @$value[$valuekey] : $value;
if ($needle == $val){
$keys[] = $key;
}
}
+ }
return $keys;
}
//
function flush_dir($path, $wipe = false)
{
+ if (!file_exists($path))
+ return;
$dir = @opendir($path);
if(!$dir)
return;