Some security fixes backported from unstable code.
[fa-stable.git] / admin / db / users_db.inc
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12
13 function add_user($user_id, $real_name, $password, $phone, $email, $full_access, 
14         $language, $profile, $rep_popup, $pos)
15 {
16         $sql = "INSERT INTO ".TB_PREF."users (user_id, real_name, password"
17                 .", phone, email, role_id, language, pos, print_profile, rep_popup)
18                 VALUES (".db_escape($user_id).", 
19                 ".db_escape($real_name).", ".db_escape($password) .",".db_escape($phone)
20                 .",".db_escape($email).", ".db_escape($role_id).", ".db_escape($language)
21                 .", ".db_escape($pos).",".db_escape($profile).",".db_escape($rep_popup)
22                 ." )";
23
24         db_query($sql, "could not add user for $user_id");
25 }
26
27 //-----------------------------------------------------------------------------------------------
28
29 function update_user_password($user_id, $password)
30 {
31         $sql = "UPDATE ".TB_PREF."users SET password=".db_escape($password) . "
32                 WHERE user_id = ".db_escape($user_id);
33
34         db_query($sql, "could not update user password for $user_id");
35 }
36
37 //-----------------------------------------------------------------------------------------------
38
39 function update_user($user_id, $real_name, $phone, $email, $full_access, 
40         $language, $profile, $rep_popup, $pos)
41 {
42         $sql = "UPDATE ".TB_PREF."users SET real_name=".db_escape($real_name).
43         ", phone=".db_escape($phone).",
44                 email=".db_escape($email).",
45                 full_access=$full_access,
46                 language=".db_escape($language).",
47                 print_profile=".db_escape($profile).",
48                 rep_popup=$rep_popup,
49                 pos=$pos
50                 WHERE user_id = ".db_escape($user_id);
51         db_query($sql, "could not update user for $user_id");
52 }
53
54 //-----------------------------------------------------------------------------------------------
55
56 function update_user_display_prefs($user_id, $price_dec, $qty_dec, $exrate_dec, 
57         $percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep, 
58         $dec_sep, $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size, 
59         $graphic_links, $lang)
60 {
61         $sql = "UPDATE ".TB_PREF."users SET
62                 prices_dec=".db_escape($price_dec).",
63                 qty_dec=".db_escape($qty_dec).",
64                 rates_dec=".db_escape($exrate_dec).",
65                 percent_dec=".db_escape($percent_dec).",
66                 show_gl=".db_escape($showgl).",
67                 show_codes=".db_escape($showcodes).",
68                 date_format=".db_escape($date_format).",
69                 date_sep=".db_escape($date_sep).",
70                 tho_sep=".db_escape($tho_sep).",
71                 dec_sep=".db_escape($dec_sep).",
72                 theme=".db_escape($theme).",
73                 page_size=".db_escape($pagesize).",
74                 show_hints=".db_escape($show_hints).",
75                 print_profile=".db_escape($profile).",
76                 rep_popup=".db_escape($rep_popup).",
77                 query_size=".db_escape($query_size).",
78                 graphic_links=".db_escape($graphic_links).",
79                 language=".db_escape($lang)."
80                 WHERE user_id = ".db_escape($user_id);
81
82         db_query($sql, "could not update user display prefs for $user_id");
83 }
84
85 //-----------------------------------------------------------------------------------------------
86
87
88 function get_users()
89 {
90         $sql = "SELECT * FROM ".TB_PREF."users";
91
92         return db_query($sql, "could not get users");
93 }
94
95 //-----------------------------------------------------------------------------------------------
96
97 function get_user($user_id)
98 {
99         $sql = "SELECT * FROM ".TB_PREF."users WHERE user_id = '$user_id'";
100
101         $result = db_query($sql, "could not get user for $user_id");
102
103         return db_fetch($result);
104 }
105
106 //-----------------------------------------------------------------------------------------------
107
108 function delete_user($user_id)
109 {
110         $sql="DELETE FROM ".TB_PREF."users WHERE user_id='$user_id'";
111
112         db_query($sql, "could not delete user $user_id");
113 }
114
115 //-----------------------------------------------------------------------------------------------
116
117 function get_user_for_login($user_id, $password)
118 {
119         set_global_connection();
120
121         $sql = "SELECT * FROM ".TB_PREF."users WHERE user_id = ".db_escape($user_id)
122                 ." AND password=".db_escape($password);
123
124         return db_query($sql, "could not get validate user login for $user_id");
125 }
126
127 //-----------------------------------------------------------------------------------------------
128
129 function update_user_visitdate($user_id)
130 {
131         $sql = "UPDATE ".TB_PREF."users SET last_visit_date='". date("Y-m-d H:i:s") ."'
132                 WHERE user_id=".db_escape($user_id);
133
134         db_query($sql, "could not update last visit date for user $user_id");
135 }
136
137 //-----------------------------------------------------------------------------------------------
138
139 ?>