X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fcurrent_user.inc;h=ab5073a63d8a95329324c12909689c82b815eab5;hb=4019df1a1a914da6061795ae88fd54d506208ffc;hp=bca45f0875cdcd589a6430b5b701498979e04d67;hpb=883307779f9ca5bac0533702a8702b0cccb4742f;p=fa-stable.git diff --git a/includes/current_user.inc b/includes/current_user.inc index bca45f08..ab5073a6 100644 --- a/includes/current_user.inc +++ b/includes/current_user.inc @@ -167,33 +167,15 @@ class current_user return $db; } - function update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, - $showgl, $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep, - $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size, - $graphic_links, $lang, $stickydate, $startup_tab) + function update_prefs($prefs) { global $allow_demo_mode; - - $user = array( - 'prices_dec' => $price_dec, 'qty_dec' => $qty_dec, - 'rates_dec' => $exrate_dec, 'percent_dec' => $percent_dec, - 'show_gl' => $showgl, 'show_codes' => $showcodes, - 'date_format' => $date_format, 'date_sep' => $date_sep, - 'tho_sep' => $tho_sep, 'dec_sep' => $dec_sep, - 'theme' => $theme, 'page_size' => $pagesize, - 'show_hints' => $show_hints, 'print_profile' => $profile, - 'rep_popup' => $rep_popup, 'query_size' => $query_size, - 'graphic_links' => $graphic_links, 'language' => $lang, - 'sticky_doc_date' => $stickydate, 'startup_tab' => $startup_tab - ); - + if(!$allow_demo_mode) { - update_user_display_prefs($this->user, $price_dec, - $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, - $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, - $show_hints, $profile, $rep_popup, $query_size, $graphic_links, $lang, $stickydate, $startup_tab); + update_user_prefs($this->user, $prefs); } - $this->prefs = new user_prefs($user); + + $this->prefs = new user_prefs(get_user($this->user)); } } @@ -201,7 +183,7 @@ class current_user function round2($number, $decimals=0) { - $delta = ($number < 0 ? -.000001 : .000001); + $delta = ($number < 0 ? -.0000000001 : .0000000001); return round($number+$delta, $decimals); } @@ -211,7 +193,7 @@ function number_format2($number, $decimals=0) $tsep = $thoseps[$_SESSION["wa_current_user"]->prefs->tho_sep()]; $dsep = $decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()]; //return number_format($number, $decimals, $dsep, $tsep); - $delta = ($number < 0 ? -.000001 : .000001); + $delta = ($number < 0 ? -.0000000001 : .0000000001); return number_format($number+$delta, $decimals, $dsep, $tsep); } // @@ -299,7 +281,9 @@ function user_numeric($input) { function user_company() { - return $_SESSION["wa_current_user"]->company; + global $def_coy; + + return isset($_SESSION["wa_current_user"]) ? $_SESSION["wa_current_user"]->company : $def_coy; } function user_pos() @@ -369,7 +353,8 @@ function user_dec_sep() function user_theme() { - return $_SESSION["wa_current_user"]->prefs->get_theme(); + return isset($_SESSION["wa_current_user"]) ? + $_SESSION["wa_current_user"]->prefs->get_theme() : 'default'; } function user_pagesize() @@ -412,14 +397,9 @@ function user_startup_tab() return $_SESSION["wa_current_user"]->prefs->start_up_tab(); } -function set_user_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, - $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints, - $print_profile, $rep_popup, $query_size, $graphic_links, $lang, $stickydate, $startup_tab) +function set_user_prefs($prefs) { - - $_SESSION["wa_current_user"]->update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, - $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints, - $print_profile, $rep_popup, $query_size, $graphic_links, $lang, $stickydate, $startup_tab); + $_SESSION["wa_current_user"]->update_prefs($prefs); } function add_user_js_data() { @@ -483,26 +463,72 @@ function array_append(&$array, $elements) $array[$key] = $el; } } - +// +// Search $needle in $haystack or in $haystack[][$valuekey] +// returns $needle found or null. +// function array_search_value($needle, $haystack, $valuekey=null) { foreach($haystack as $key => $value) { - $val = isset($valuekey) ? $value[$valuekey] : $value; + $val = isset($valuekey) ? @$value[$valuekey] : $value; if ($needle == $val){ return $value; } } return null; } - +// +// Search $needle in $haystack or in $haystack[][$valuekey] +// returns array of keys of $haystack elements found +// +function array_search_keys($needle, $haystack, $valuekey=null) +{ + $keys = array(); + if($haystack) + foreach($haystack as $key => $value) { + $val = isset($valuekey) ? @$value[$valuekey] : $value; + if ($needle == $val){ + $keys[] = $key; + } + } + return $keys; +} +// +// Find first (single) $needle in $haystack or in $haystack[][$valuekey] +// returns $haystack element found or null +// function array_search_key($needle, $haystack, $valuekey=null) { - foreach($haystack as $key => $value) { - $val = isset($valuekey) ? $value[$valuekey] : $value; - if ($needle == $val){ - return $key; - } + $keys = array_search_keys($needle, $haystack, $valuekey); + return @$keys[0]; +} + +function flush_dir($path, $wipe = false) +{ + $dir = opendir($path); + while(false !== ($fname = readdir($dir))) { + if($fname=='.' || $fname=='..' || $fname=='CVS' || (!$wipe && $fname=='index.php')) continue; + if(is_dir($path.'/'.$fname)) { + flush_dir($path.'/'.$fname, $wipe); + if ($wipe) @rmdir($path.'/'.$fname); + } else + @unlink($path.'/'.$fname); } - return null; } +/* + Returns current path to company private folder. + (Current path can change after chdir). +*/ +function company_path($comp=null) +{ + global $path_to_root, $comp_path; + + if (!isset($comp)) + $comp = user_company(); + + // if path is relative, set current path_to_root + return ($comp_path[0]=='.' ? $path_to_root.'/'.basename($comp_path) : $comp_path) + . '/'.$comp; +} + ?> \ No newline at end of file