Switch to new access levels system
[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, $role_id, 
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).", $role_id, ".db_escape($language).",
21                  $pos,".db_escape($profile).",$rep_popup)";
22
23         db_query($sql, "could not add user for $user_id");
24 }
25
26 //-----------------------------------------------------------------------------------------------
27
28 function update_user_password($id, $user_id, $password)
29 {
30         $sql = "UPDATE ".TB_PREF."users SET password=".db_escape($password) . ",
31                 user_id = ".db_escape($user_id). " WHERE id=".db_escape($id);
32
33         db_query($sql, "could not update user password for $user_id");
34 }
35
36 //-----------------------------------------------------------------------------------------------
37
38 function update_user($id, $user_id, $real_name, $phone, $email, $role_id, 
39         $language, $profile, $rep_popup, $pos)
40 {
41         $sql = "UPDATE ".TB_PREF."users SET real_name=".db_escape($real_name).
42         ", phone=".db_escape($phone).",
43                 email=".db_escape($email).",
44                 role_id=$role_id,
45                 language=".db_escape($language).",
46                 print_profile=".db_escape($profile).",
47                 rep_popup=$rep_popup,
48                 pos=$pos,
49                 user_id = " . db_escape($user_id)
50                 . " WHERE id=" . db_escape($id);
51         db_query($sql, "could not update user for $user_id");
52 }
53
54 //-----------------------------------------------------------------------------------------------
55
56 function update_user_display_prefs($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, $stickydate, $startup_tab)
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=$show_hints,
75                 print_profile=".db_escape($profile).",
76                 rep_popup=$rep_popup,
77                 query_size=$query_size,
78                 graphic_links=$graphic_links,
79                 language=".db_escape($lang).",
80                 sticky_doc_date=".db_escape($stickydate).",
81                 startup_tab=".db_escape($startup_tab)."
82                 WHERE id = ".db_escape($id);
83
84         db_query($sql, "could not update user display prefs for $id");
85 }
86
87 //-----------------------------------------------------------------------------------------------
88
89
90 function get_users($all=false)
91 {
92         $sql = "SELECT u.*, r.role FROM ".TB_PREF."users u, ".TB_PREF."security_roles r
93                 WHERE u.role_id=r.id";
94         if (!$all) $sql .= " AND !u.inactive";
95         
96         return db_query($sql, "could not get users");
97 }
98
99 //-----------------------------------------------------------------------------------------------
100
101 function get_user($id)
102 {
103         $sql = "SELECT * FROM ".TB_PREF."users WHERE id=".db_escape($id);
104
105         $result = db_query($sql, "could not get user $id");
106
107         return db_fetch($result);
108 }
109
110 //-----------------------------------------------------------------------------------------------
111 //      This function is necessary for admin prefs update after upgrade from 2.1
112 //
113 function get_user_by_login($user_id)
114 {
115         $sql = "SELECT * FROM ".TB_PREF."users WHERE user_id=".db_escape($user_id);
116
117         $result = db_query($sql, "could not get user $user_id");
118
119         return db_fetch($result);
120 }
121
122 //-----------------------------------------------------------------------------------------------
123
124 function delete_user($id)
125 {
126         $sql="DELETE FROM ".TB_PREF."users WHERE id=".db_escape($id);
127
128         db_query($sql, "could not delete user $id");
129 }
130
131 //-----------------------------------------------------------------------------------------------
132
133 function get_user_for_login($user_id, $password)
134 {
135         set_global_connection();
136
137 // do not exclude inactive records or you lost access after source upgrade
138 // on sites using pre 2.2 database
139         $sql = "SELECT * FROM ".TB_PREF."users WHERE user_id = '$user_id' AND"
140                 ." password='$password'";
141
142         return db_query($sql, "could not get validate user login for $user_id");
143 }
144
145 //-----------------------------------------------------------------------------------------------
146
147 function update_user_visitdate($user_id)
148 {
149         $sql = "UPDATE ".TB_PREF."users SET last_visit_date='". date("Y-m-d H:i:s") ."'
150                 WHERE user_id=".db_escape($user_id);
151
152         db_query($sql, "could not update last visit date for user $user_id");
153 }
154
155 //-----------------------------------------------------------------------------------------------
156 function check_user_activity($id) 
157 {
158         $sql = "SELECT COUNT(*) FROM ".TB_PREF."audit_trail WHERE audit_trail.user="
159                 . db_escape($id);
160         $result = db_query($sql,"Cant check user activity");
161         $ret = db_fetch($result);
162
163         return $ret[0];
164 }
165 ?>