3 include_once($path_to_root . "/includes/prefs/userprefs.inc");
5 //--------------------------------------------------------------------------
20 function current_user()
22 $this->loginname = $username = $this->name = $this->company = "";
23 $this->logged = false;
33 function set_company($company)
35 $this->company = $company;
38 function login($company, $loginname, $password)
40 $this->set_company($company);
42 $Auth_Result = get_user_for_login($loginname, $password);
44 if (db_num_rows($Auth_Result) > 0)
46 $myrow = db_fetch($Auth_Result);
48 $this->access = $myrow["full_access"];
49 $this->name = $myrow["real_name"];
50 $this->loginname = $loginname;
51 $this->username = $this->loginname;
52 $this->prefs = new user_prefs($myrow);
54 update_user_visitdate($loginname);
60 $this->logged = false;
66 function check_user_access()
68 global $security_groups;
69 return is_array($security_groups[$this->access]);
72 function can_access_page($page_level)
74 global $security_groups;
75 // first registered company has site admin privileges
76 return isset($page_level) && in_array($page_level, $security_groups[$this->access])
77 && ($this->company == 0 || $page_level != 20);
80 function get_db_connection()
82 global $db_connections;
84 $connection = $db_connections[$this->company];
86 //print_r($connection);
88 $db = mysql_connect($connection["host"] ,
89 $connection["dbuser"], $connection["dbpassword"]);
90 mysql_select_db($connection["dbname"],$db);
92 if (!defined('TB_PREF'))
93 define('TB_PREF', $connection["tbpref"]);
98 function update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes,
99 $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints) {
100 update_user_display_prefs($this->username, $price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl,
101 $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints);
104 $user = get_user($this->username);
105 $this->prefs = new user_prefs($user);
109 //--------------------------------------------------------------------------
111 function round2($number, $decimals=0)
113 $delta = ($number < 0 ? -.000001 : .000001);
114 return round($number+$delta, $decimals);
117 function number_format2($number, $decimals=0)
119 global $thoseps, $decseps;
120 $tsep = $thoseps[$_SESSION["wa_current_user"]->prefs->tho_sep()];
121 $dsep = $decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()];
122 //return number_format($number, $decimals, $dsep, $tsep);
123 $delta = ($number < 0 ? -.000001 : .000001);
124 return number_format($number+$delta, $decimals, $dsep, $tsep);
127 function price_format($number) {
128 return number_format2($number,
129 $_SESSION["wa_current_user"]->prefs->price_dec());
131 // 2008-06-15. Added extra parameter $stock_id and reference for $dec
132 //--------------------------------------------------------------------
133 function qty_format($number, $stock_id=null, &$dec) {
134 $dec = get_qty_dec($stock_id);
135 return number_format2($number, $dec);
138 function get_qty_dec($stock_id=null)
140 global $path_to_root;
141 include_once($path_to_root."/inventory/includes/db/items_units_db.inc");
142 if ($stock_id != null)
143 $dec = get_unit_dec($stock_id);
144 if ($stock_id == null || $dec == -1 || $dec == null)
145 $dec = $_SESSION["wa_current_user"]->prefs->qty_dec();
148 //-------------------------------------------------------------------
149 function exrate_format($number) {
150 return number_format2($number,
151 $_SESSION["wa_current_user"]->prefs->exrate_dec());
154 function percent_format($number) {
155 return number_format2($number,
156 $_SESSION["wa_current_user"]->prefs->percent_dec());
159 function user_numeric($input) {
160 global $decseps, $thoseps;
163 $sep = $thoseps[user_tho_sep()];
164 if($sep!='') $num = str_replace( $sep, '', $num);
165 str_replace($sep, '', $num);
166 $sep = $decseps[user_dec_sep()];
167 if($sep!='.') $num = str_replace( $sep, '.', $num);
169 if (!is_numeric($num))
172 if ($num == (int)$num)
178 function user_company()
180 return $_SESSION["wa_current_user"]->company;
183 function user_language()
185 return $_SESSION["wa_current_user"]->prefs->language();
188 function user_qty_dec()
190 return $_SESSION["wa_current_user"]->prefs->qty_dec();
193 function user_price_dec()
195 return $_SESSION["wa_current_user"]->prefs->price_dec();
198 function user_exrate_dec()
200 return $_SESSION["wa_current_user"]->prefs->exrate_dec();
203 function user_percent_dec()
205 return $_SESSION["wa_current_user"]->prefs->percent_dec();
208 function user_show_gl_info()
210 return $_SESSION["wa_current_user"]->prefs->show_gl_info();
213 function user_show_codes()
215 return $_SESSION["wa_current_user"]->prefs->show_codes();
218 function user_date_format()
220 return $_SESSION["wa_current_user"]->prefs->date_format();
223 function user_date_display()
225 return $_SESSION["wa_current_user"]->prefs->date_display();
228 function user_date_sep()
230 return $_SESSION["wa_current_user"]->prefs->date_sep();
233 function user_tho_sep()
235 return $_SESSION["wa_current_user"]->prefs->tho_sep();
238 function user_dec_sep()
240 return $_SESSION["wa_current_user"]->prefs->dec_sep();
243 function user_theme()
245 return $_SESSION["wa_current_user"]->prefs->get_theme();
248 function user_pagesize()
250 return $_SESSION["wa_current_user"]->prefs->get_pagesize();
253 function user_hints()
255 return $_SESSION["wa_current_user"]->prefs->show_hints();
258 function set_user_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes,
259 $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints)
262 $_SESSION["wa_current_user"]->update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes,
263 $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints);
266 function add_user_js_data() {
267 global $path_to_root, $thoseps, $decseps;
269 $ts = $thoseps[user_tho_sep()];
270 $ds = $decseps[user_dec_sep()];
272 $js = "\n<script type=\"text/javascript\">\n"
275 . "theme: '". $path_to_root . '/themes/'. 'default' /*user_theme()*/.'/'."',\n"
276 . "loadtxt: '"._('Requesting data...')."',\n"
279 . "pdec : " . user_price_dec() . "}\n--></script>";
284 //--------------------------------------------------------------------------