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()
function user_price_dec()
{
- return $_SESSION["wa_current_user"]->prefs->price_dec();
+ global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->price_dec() : 2;
}
function user_exrate_dec()
{
- return $_SESSION["wa_current_user"]->prefs->exrate_dec();
+ global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->exrate_dec() : 4;
}
function user_percent_dec()
{
- return $_SESSION["wa_current_user"]->prefs->percent_dec();
+ global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->percent_dec() : 1;
}
function user_show_gl_info()
function user_date_format()
{
- global $SysPrefs;
+ global $SysPrefs;
- return isset($_SESSION["wa_current_user"]) ?
- $_SESSION["wa_current_user"]->prefs->date_format() : $SysPrefs->dflt_date_fmt;
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->date_format() : $SysPrefs->dflt_date_fmt;
}
function user_date_display()
{
- global $SysPrefs;
-
- return isset($_SESSION["wa_current_user"]) ?
- $_SESSION["wa_current_user"]->prefs->date_display() : $SysPres->dflt_date_sep;
+ $fmt ='m/d/Y';
+ if (isset($_SESSION["wa_current_user"])) {
+ $fmt = $_SESSION["wa_current_user"]->prefs->date_display();
+ } else {
+ $sep = user_date_sep();
+ $user_date_fmt = user_date_format();
+ switch ($user_date_fmt) {
+ case 0:
+ $fmt = "m".$sep."d".$sep."Y"; break;
+ case 1:
+ $fmt = "d".$sep."m".$sep."Y"; break;
+ case 2:
+ $fmt = "Y".$sep."m".$sep."d"; break;
+ case 3:
+ $fmt = "M".$sep."j".$sep."Y"; break;
+ case 4:
+ $fmt = "j".$sep."M".$sep."Y"; break;
+ default:
+ $fmt = "Y".$sep."M".$sep."j";
+ }
+ }
}
function user_date_sep()
{
- return $_SESSION["wa_current_user"]->prefs->date_sep();
+ global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]->prefs->date_sep) ? $_SESSION["wa_current_user"]->prefs->date_sep() : $SysPrefs->dflt_date_sep;
}
function user_tho_sep()
{
- return isset($_SESSION["wa_current_user"]) ?
- $_SESSION["wa_current_user"]->prefs->tho_sep() : 0;
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->tho_sep() : 0;
}
function user_dec_sep()
{
- return isset($_SESSION["wa_current_user"]) ?
- $_SESSION["wa_current_user"]->prefs->dec_sep() : 0;
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->dec_sep() : 0;
}
function user_theme()
{
- return isset($_SESSION["wa_current_user"]) ?
- $_SESSION["wa_current_user"]->prefs->get_theme() : 'default';
+ return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->prefs->get_theme() : 'default';
}
function user_pagesize()
//
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;