├── LICENSE ├── README.md ├── account.php ├── activeusers.php ├── adduser.php ├── app ├── ajax-classes │ ├── chart.php │ ├── client_budget.php │ ├── email-allow.php │ ├── facebook-allow.php │ ├── github-allow.php │ ├── google-allow.php │ ├── index.html │ ├── register-user.php │ ├── reset-password.php │ ├── twitter-allow.php │ └── user-login.php ├── classes │ ├── App.php │ ├── AppAutho.php │ ├── Changepassword.php │ ├── ClientMsg.php │ ├── Frontend.php │ ├── Permissions.php │ ├── Roles.php │ ├── Users.php │ └── index.html ├── config │ ├── config.php │ └── index.html ├── helpers │ ├── Format.php │ └── index.html ├── inc │ ├── breadcrumb.php │ ├── footer.php │ ├── header.php │ ├── index.html │ └── sidebar.php ├── index.html ├── lib │ ├── Database.php │ ├── Session.php │ └── index.html └── uploads │ ├── index.html │ ├── logo │ ├── 00dad79ae1ac0f2.png │ ├── 00dad79ae1ac0f260196.png │ └── index.html │ └── userAvatar │ ├── 1204e2351a.jpg │ ├── 1848b2f52b.jpg │ ├── 25d37110db.png │ ├── 369187ff7a.png │ ├── 479e72eaca.jpg │ ├── 5b270dd3d9.png │ ├── 72050401f6.jpg │ ├── 8d3e608256.jpg │ ├── c362c75f91.jpg │ ├── c7e375639e.jpg │ ├── d656ca8a78.png │ ├── db5433f879.jpg │ ├── dev.jpg │ ├── ec6120cc76.png │ └── edb274937c.png ├── assets ├── css │ ├── Chart.min.css │ ├── animate.css │ ├── authotication.css │ ├── bootstrap-datetimepicker.min.css │ ├── bootstrap-toggle.min.css │ ├── bootstrap.min.css │ ├── dataTables.bootstrap4.min.css │ ├── index.html │ ├── normalize.css │ ├── responsive.css │ ├── select2-bootstrap.min.css │ ├── select2.min.css │ └── style.css ├── icofont │ ├── demo.html │ ├── fonts │ │ ├── icofont.eot │ │ ├── icofont.svg │ │ ├── icofont.ttf │ │ ├── icofont.woff │ │ └── icofont.woff2 │ ├── icofont.css │ ├── icofont.min.css │ └── index.html ├── iconfont │ ├── MaterialIcons-Regular.eot │ ├── MaterialIcons-Regular.ijmap │ ├── MaterialIcons-Regular.svg │ ├── MaterialIcons-Regular.ttf │ ├── MaterialIcons-Regular.woff │ ├── MaterialIcons-Regular.woff2 │ ├── README.md │ ├── codepoints │ ├── index.html │ └── material-icons.css ├── images │ ├── icons │ │ ├── avatar_user.jpg │ │ └── favicon.png │ └── index.html ├── index.html └── js │ ├── Chart.bundle.min.js │ ├── bootstrap-datetimepicker.min.js │ ├── bootstrap-toggle.min.js │ ├── bootstrap.min.js │ ├── dataTables.bootstrap4.min.js │ ├── index.html │ ├── jquery.dataTables.min.js │ ├── jquery.min.js │ ├── moment-with-locales.min.js │ ├── plugins.js │ ├── popper.min.js │ ├── script.js │ ├── select2.min.js │ └── wow.min.js ├── bandusers.php ├── changepass.php ├── createrole.php ├── dashboard.php ├── editprofile.php ├── editrole.php ├── index.php ├── login.php ├── newusers.php ├── permissions.php ├── pro_usermanagent.sql ├── register.php ├── reset-password.php ├── role.php ├── settings.php ├── users.php └── viewuser.php /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Nababur Rahaman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Pro User Management System with PHP MySQL and Ajax 3 | 4 |

Pro User Management System is a powerful PHP Ajax script that offers a secure user management system. The application is a great way to build your website, allowing your users to register an account and build restricted access to certain users. We offer great support and it’s very easy to install. It’s powered by MYSQL and PHP, Ajax.

5 | 6 | 7 |
8 |

Script Features::-

9 |
10 |

User Login and Registration features:

11 | 12 | 19 | 20 |

Admin Panel features:

21 | 22 | 36 |
37 | 38 |

Script Thumbnails::-

39 |
40 | 41 | ![login](https://user-images.githubusercontent.com/8381528/224330417-252ec32c-3f15-4d4f-9543-4e7fe19e0533.png) 42 | ![Pass-reset](https://user-images.githubusercontent.com/8381528/224330420-c27548c9-cb08-428b-81c3-6bc5bbd93561.png) 43 | ![registration](https://user-images.githubusercontent.com/8381528/224330910-a1af3a50-9044-40b3-b53a-ee39c835221a.png) 44 | ![dashboard](https://user-images.githubusercontent.com/8381528/224330411-162a523b-dec0-4207-bb5e-7f556b0e9ab7.png) 45 | ![create-new-user](https://user-images.githubusercontent.com/8381528/224330406-996b9ee0-85da-440d-855c-25f4e7587d67.png) 46 | ![role](https://user-images.githubusercontent.com/8381528/224330422-10c31378-368a-415b-bf22-1ced8e2ca8d2.png) 47 | ![users](https://user-images.githubusercontent.com/8381528/224330431-f3c85868-eb56-47c2-86e7-1a1565b374ea.png) 48 | ![settings](https://user-images.githubusercontent.com/8381528/224330426-1faac7e4-df25-4cf5-a785-173f74477cb9.png) 49 | 50 | 51 |
52 |

How to Install

53 |
54 | 64 | 65 |

Author

66 | Nababur Rahaman 67 | 72 |

Buy me a coffee :)

73 |

74 | 75 | Buy Me A Coffee 76 | 77 |

78 | 79 |

Happy Open Source....

80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /account.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | location.href='dashboard.php';"; 10 | exit(); 11 | 12 | }else{ 13 | $myid = preg_replace('/[^a-zA-Z0-9-]/', '', $myid); 14 | $myprofile = $usr->getUserById($myid); 15 | } 16 | 17 | 18 | 19 | ?> 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 |
28 | 29 | fetch_assoc()) { 34 | 35 | ?> 36 | 37 | 38 |
39 | 50 | 62 |
63 | 64 | 65 |
66 | 67 |
68 |
69 | 70 |
71 | 72 |
73 |
74 |
75 | 76 | 77 | 82 | 83 | 84 | your image 86 | 87 |
88 |
89 |
90 |
Name
91 |
92 | 93 | 94 |
95 |
96 | 97 |
98 |
Phone number
99 |
100 | 101 |
102 |
103 | 104 |
105 |
Address
106 |
107 | 108 |
109 |
110 | 111 |
112 |
About myself
113 |
114 | 115 |
116 |
117 | 118 |
119 |
City
120 |
121 | 122 | 123 |
124 |
125 |
126 |
Contry
127 |
128 | 129 | 130 |
131 |
132 | 133 |
134 |
E-Mail Address
135 |
136 | 137 | 138 |
139 |
140 | 141 |
142 |
Role
143 |
144 | 146 |
147 |
148 |
149 |
Status
150 |
151 | 152 | Active 153 | 154 | Deactive 155 | 156 |
157 |
158 |
159 |
Gendar
160 |
161 | 162 | Male 163 | 164 | Female 165 | 166 |
167 |
168 |
169 |
Account created
170 |
171 | 172 | formatDate($result['create_date']); ?> 174 | 175 |
176 |
177 |
178 |
179 |
180 | 181 | 182 | 187 | 188 | 189 | your image 191 | 192 |
193 | 194 |
195 | 196 | 197 | 198 |
199 | 200 |
201 |
202 |
203 | 204 | 205 | 206 | window.location='dashboard.php';"; 209 | } 210 | ?> 211 | 212 |
213 | 214 | 215 | 216 |
217 | 218 | 219 | 220 | -------------------------------------------------------------------------------- /activeusers.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | deleteUserById($delid); 12 | } 13 | ?> 14 | 15 | DisableUserById($disid); 21 | } 22 | 23 | 24 | // Id Enable method 25 | $enid = isset($_GET['enid']) ? $_GET['enid'] : ''; 26 | if(isset($_GET['enid'])){ 27 | $enid = preg_replace('/[^a-zA-Z0-9-]/', '', $_GET['enid']); 28 | $enableId = $usr->EnableUserById($enid); 29 | } 30 | 31 | 32 | 33 | ?> 34 | 35 | 36 | 37 | 38 |
39 | 40 | 41 | 42 |
43 | 44 |
45 | 52 |
53 | 54 | arrow_backBack To Userlist 55 | 56 | 57 |
58 |
59 | 60 | 61 | 72 | 73 |
74 | 75 | 76 | 77 | 78 |
79 |
80 |
81 |
82 |
83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | onlyActiveUsers(); 100 | if ($userlist) { 101 | $i = 0; 102 | while ($result = $userlist->fetch_assoc()) { 103 | $i++; 104 | 105 | 106 | ?> 107 | 108 | 109 | 114 | 115 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 140 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 |
SLAvatarNameEmailRoleStatusAction
110 | style='color:red' 111 | > 112 | 113 | your imageyour image 133 | 134 | Active 135 | 136 | Deactive 137 | 138 | 139 | 141 | 142 |  View user  143 |  Delete 
No active users yet !
154 |
155 |
156 |
157 |
158 | 159 |
160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 |
169 | 170 |
171 | 172 |
173 | 174 | 175 | 176 | -------------------------------------------------------------------------------- /app/ajax-classes/chart.php: -------------------------------------------------------------------------------- 1 | 2 | getMonthlyNewUser(); 14 | 15 | //loop through the returned data 16 | 17 | if ($result) { 18 | $count = mysqli_num_rows($result); 19 | if ($count > 0) { 20 | $data= $count; 21 | } 22 | } 23 | 24 | 25 | //now print the data 26 | print json_encode($data); 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/ajax-classes/client_budget.php: -------------------------------------------------------------------------------- 1 | clientProposalMethod($_POST); 12 | exit(); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/email-allow.php: -------------------------------------------------------------------------------- 1 | addEmailValuse($allow_email, $id_autho); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/facebook-allow.php: -------------------------------------------------------------------------------- 1 | addFacebookAutho($fb_autho, $id_autho); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/github-allow.php: -------------------------------------------------------------------------------- 1 | addGithubValuse($git_autho, $id_autho); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/google-allow.php: -------------------------------------------------------------------------------- 1 | addGoogleValuse($gle_autho, $id_autho); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/ajax-classes/register-user.php: -------------------------------------------------------------------------------- 1 | newUserRegistration($_POST); 12 | exit(); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/reset-password.php: -------------------------------------------------------------------------------- 1 | userResetPassword($_POST); 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /app/ajax-classes/twitter-allow.php: -------------------------------------------------------------------------------- 1 | addTwitterAutho($tw_autho, $id_autho); 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/ajax-classes/user-login.php: -------------------------------------------------------------------------------- 1 | userLoginAuthotication($_POST); 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /app/classes/App.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 20 | $this->fm = new Format(); 21 | } 22 | 23 | 24 | 25 | 26 | 27 | 28 | // Select update settings 29 | public function selectAllAppSettings(){ 30 | $query = "SELECT * FROM $this->table"; 31 | $result = $this->db->select($query); 32 | return $result; 33 | } 34 | 35 | 36 | 37 | 38 | // App Update Settings Method 39 | public function updateAppSettings($data, $file, $app_id){ 40 | $app_id = $this->fm->validation($data['app_id']); 41 | $app_name = $this->fm->validation($data['app_name']); 42 | $title = $this->fm->validation($data['title']); 43 | $front_name = $this->fm->validation($data['front_name']); 44 | $app_id = mysqli_real_escape_string($this->db->link, $app_id); 45 | $app_name = mysqli_real_escape_string($this->db->link, $app_name); 46 | $title = mysqli_real_escape_string($this->db->link, $title); 47 | $front_name = mysqli_real_escape_string($this->db->link, $front_name); 48 | 49 | $permited = array('jpg', 'jpeg', 'png', 'gif'); 50 | $file_name = $file['favicon']['name']; 51 | $file_size = $file['favicon']['size']; 52 | $file_temp = $file['favicon']['tmp_name']; 53 | 54 | $div = explode('.', $file_name); 55 | $file_ext = strtolower(end($div)); 56 | $unique_image = substr(md5(time()), 0, 15).'.'.$file_ext; 57 | $uploaded_image = "app/uploads/logo/".$unique_image; 58 | 59 | 60 | // Logo Upload method 61 | $file_logo_name = $file['logo']['name']; 62 | $file_logo_size = $file['logo']['size']; 63 | $file_logo_temp = $file['logo']['tmp_name']; 64 | 65 | $div = explode('.', $file_logo_name); 66 | $file_logo_ext = strtolower(end($div)); 67 | $unique_logo_image = substr(md5(time()), 0, 20).'.'.$file_logo_ext; 68 | $uploaded_logo_image = "app/uploads/logo/".$unique_logo_image; 69 | 70 | if ($app_name == "" ) { 71 | 72 | $msg = '
73 | × 74 | Error ! Input & Upload fields must not be Empty!
'; 75 | return $msg; 76 | exit(); 77 | }else{ 78 | 79 | if (!empty($file_name) OR !empty($file_logo_name)) { 80 | 81 | if($file_size >1048567 OR $file_logo_size >1048567) { 82 | $msg = '
83 | × 84 | Error ! Image Size should be less then 1MB!
'; 85 | return $msg; 86 | } elseif (in_array($file_ext, $permited) === false OR in_array($file_logo_ext, $permited) === false) { 87 | $msg = '
88 | × 89 | Error ! You can upload only:-'.implode(', ', $permited).'
'; 90 | return $msg; 91 | }else{ 92 | 93 | // Unlink Image 94 | $unlinkfavicon = "SELECT favicon FROM $this->table WHERE app_id = '$app_id' "; 95 | $unlink_favicon = $this->db->select($unlinkfavicon); 96 | 97 | if ($unlink_favicon == TRUE) { 98 | while ($delimg = $unlink_favicon->fetch_assoc()) { 99 | $favicon = $delimg['favicon']; 100 | 101 | if(is_file($favicon)){ 102 | 103 | unlink($favicon); 104 | } 105 | 106 | 107 | 108 | } 109 | } 110 | 111 | // Unlink Logo Image 112 | $unlinklogo = "SELECT logo FROM $this->table WHERE app_id = '$app_id' "; 113 | $unlink_Logo = $this->db->select($unlinklogo); 114 | 115 | if ($unlink_Logo == TRUE) { 116 | while ($delimg = $unlink_Logo->fetch_assoc()) { 117 | $logo = $delimg['logo']; 118 | if(is_file($logo)){ 119 | 120 | unlink($logo); 121 | } 122 | 123 | } 124 | } 125 | 126 | 127 | // Move Favicon Uploaded file 128 | move_uploaded_file($file_temp, $uploaded_image); 129 | 130 | // Move Logo Uploaded file 131 | move_uploaded_file($file_logo_temp, $uploaded_logo_image); 132 | 133 | 134 | // Update query 135 | $query = "UPDATE $this->table 136 | SET 137 | app_name = '$app_name', 138 | title = '$title', 139 | front_name = '$front_name', 140 | favicon = '$uploaded_image', 141 | logo = '$uploaded_logo_image' 142 | WHERE app_id = '$app_id' 143 | "; 144 | $updated_row = $this->db->update($query); 145 | if ($updated_row) { 146 | $msg = '
147 | × 148 | Success! App Settings Contents Updated Successfully !
'; 149 | return $msg; 150 | }else { 151 | $msg = '
152 | × 153 | Error ! Settings not Updated!
'; 154 | return $msg; 155 | } 156 | }}else{ 157 | 158 | $query = "UPDATE $this->table 159 | SET 160 | app_name = '$app_name', 161 | title = '$title', 162 | front_name = '$front_name' 163 | WHERE app_id = '$app_id' 164 | "; 165 | $updated_row = $this->db->update($query); 166 | if ($updated_row) { 167 | $msg = '
168 | × 169 | Success! App Settings Contents Updated Successfully !
'; 170 | return $msg; 171 | 172 | }else { 173 | $msg = '
174 | × 175 | Error ! Settings Data not Updated!
'; 176 | return $msg; 177 | } 178 | } 179 | } 180 | } 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | } -------------------------------------------------------------------------------- /app/classes/AppAutho.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 19 | $this->fm = new Format(); 20 | } 21 | 22 | 23 | 24 | 25 | 26 | // Select only User ID 27 | public function selectOnlyAppId(){ 28 | $query = "SELECT * FROM $this->table "; 29 | $result = $this->db->select($query); 30 | return $result; 31 | } 32 | 33 | 34 | 35 | 36 | // Add email switch values 37 | public function addEmailValuse($allow_email, $id_autho){ 38 | $id_autho = $this->fm->validation($id_autho); 39 | $allow_email = $this->fm->validation($allow_email); 40 | $allow_email = mysqli_real_escape_string($this->db->link ,$allow_email); 41 | 42 | $query = "UPDATE $this->table 43 | SET 44 | allow_email = '$allow_email' 45 | WHERE id_autho = '$id_autho' 46 | "; 47 | $updated_row = $this->db->update($query); 48 | if ($updated_row) { 49 | echo $msg = '
50 | × 51 | Success! Allow Registration Changed Save Successfully !
'; 52 | 53 | exit(); 54 | }else{ 55 | echo $msg = '
56 | × 57 | Error! Something went wrong !
'; 58 | exit(); 59 | } 60 | 61 | 62 | } 63 | 64 | 65 | // Add Facebook switch values 66 | public function addFacebookAutho($fb_autho, $id_autho){ 67 | $id_autho = $this->fm->validation($id_autho); 68 | $fb_autho = $this->fm->validation($fb_autho); 69 | $fb_autho = mysqli_real_escape_string($this->db->link ,$fb_autho); 70 | 71 | $query = "UPDATE $this->table 72 | SET 73 | fb_autho = '$fb_autho' 74 | WHERE id_autho = '$id_autho' 75 | "; 76 | $updated_row = $this->db->update($query); 77 | if ($updated_row) { 78 | echo $msg = '
79 | × 80 | Success! Allow Registration Changed Save Successfully !
'; 81 | 82 | exit(); 83 | }else{ 84 | echo $msg = '
85 | × 86 | Error! Something went wrong !
'; 87 | exit(); 88 | } 89 | 90 | 91 | } 92 | 93 | 94 | // Add Twitter switch values 95 | public function addTwitterAutho($tw_autho, $id_autho){ 96 | $id_autho = $this->fm->validation($id_autho); 97 | $tw_autho = $this->fm->validation($tw_autho); 98 | $tw_autho = mysqli_real_escape_string($this->db->link ,$tw_autho); 99 | 100 | $query = "UPDATE $this->table 101 | SET 102 | tw_autho = '$tw_autho' 103 | WHERE id_autho = '$id_autho' 104 | "; 105 | $updated_row = $this->db->update($query); 106 | if ($updated_row) { 107 | echo $msg = '
108 | × 109 | Success! Allow Registration Changed Save Successfully !
'; 110 | 111 | exit(); 112 | }else{ 113 | echo $msg = '
114 | × 115 | Error! Something went wrong !
'; 116 | exit(); 117 | } 118 | 119 | 120 | 121 | } 122 | 123 | 124 | 125 | 126 | 127 | // Add Google switch values 128 | public function addGoogleValuse($gle_autho, $id_autho){ 129 | $id_autho = $this->fm->validation($id_autho); 130 | $gle_autho = $this->fm->validation($gle_autho); 131 | $gle_autho = mysqli_real_escape_string($this->db->link ,$gle_autho); 132 | 133 | $query = "UPDATE $this->table 134 | SET 135 | gle_autho = '$gle_autho' 136 | WHERE id_autho = '$id_autho' 137 | "; 138 | $updated_row = $this->db->update($query); 139 | if ($updated_row) { 140 | echo $msg = '
141 | × 142 | Success! Allow Registration Changed Save Successfully !
'; 143 | 144 | exit(); 145 | }else{ 146 | echo $msg = '
147 | × 148 | Error! Something went wrong !
'; 149 | exit(); 150 | } 151 | 152 | 153 | 154 | } 155 | 156 | 157 | 158 | 159 | 160 | 161 | // Add Github switch values 162 | public function addGithubValuse($git_autho, $id_autho){ 163 | $id_autho = $this->fm->validation($id_autho); 164 | $git_autho = $this->fm->validation($git_autho); 165 | $git_autho = mysqli_real_escape_string($this->db->link ,$git_autho); 166 | 167 | $query = "UPDATE $this->table 168 | SET 169 | git_autho = '$git_autho' 170 | WHERE id_autho = '$id_autho' 171 | "; 172 | $updated_row = $this->db->update($query); 173 | if ($updated_row) { 174 | echo $msg = '
175 | × 176 | Success! Allow Registration Changed Save Successfully !
'; 177 | 178 | exit(); 179 | }else{ 180 | echo $msg = '
181 | × 182 | Error! Something went wrong !
'; 183 | exit(); 184 | } 185 | 186 | 187 | 188 | } 189 | 190 | 191 | 192 | 193 | 194 | } -------------------------------------------------------------------------------- /app/classes/Changepassword.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 19 | $this->fm = new Format(); 20 | } 21 | 22 | 23 | 24 | 25 | 26 | // User Password Change method 27 | public function updatePassword($userid, $data){ 28 | $old_password = $this->fm->validation($data['old_password']); 29 | $new_password = $this->fm->validation($data['new_password']); 30 | $confirm_password = $this->fm->validation($data['confirm_password']); 31 | 32 | $old_password = mysqli_real_escape_string($this->db->link, $old_password); 33 | $new_password = mysqli_real_escape_string($this->db->link, $new_password); 34 | $confirm_password = mysqli_real_escape_string($this->db->link, $confirm_password); 35 | 36 | 37 | if (empty($old_password) OR empty($new_password) OR empty($confirm_password)) { 38 | $msg = "
Error ! Password field must not be Empty!
"; 39 | return $msg; 40 | exit(); 41 | 42 | }elseif (strlen($new_password) <= '6') { 43 | $msg = '
44 | Error ! Your Password Must Contain At Least 6 Characters !
'; 45 | return $msg; 46 | exit(); 47 | }elseif(!preg_match("#[0-9]+#",$new_password)) { 48 | $msg = '
49 | Error ! Your Password Must Contain At Least 1 Number !
'; 50 | return $msg; 51 | exit(); 52 | }elseif(!preg_match("#[a-z]+#",$new_password)) { 53 | $msg = '
54 | Error ! Your Password Must be Contain At Least 1 Lowercase Letter !
'; 55 | return $msg; 56 | exit(); 57 | }elseif($new_password != $confirm_password) { 58 | $msg = '
59 | Error ! Password did not matched, please try agian and use same password two fields.
'; 60 | return $msg; 61 | exit(); 62 | }elseif($old_password == $confirm_password) { 63 | $msg = '
64 | Hey ! You have entered your old password, please re-type again for new Password !
'; 65 | return $msg; 66 | exit(); 67 | }else{ 68 | 69 | $chKOldPassword = "SELECT * FROM $this->table WHERE userid = '$userid' LIMIT 1"; 70 | $result = $this->db->select($chKOldPassword); 71 | if ($result != false) { 72 | $value = $result->fetch_assoc(); 73 | 74 | if (password_verify($old_password, $value['password'] )) { 75 | 76 | 77 | // Has password Generator 78 | $has_pass = password_hash($new_password, PASSWORD_DEFAULT); 79 | // Update query 80 | $query = "UPDATE $this->table 81 | SET 82 | password = '$has_pass' 83 | WHERE userid = '$userid' 84 | "; 85 | $updated_pass = $this->db->update($query); 86 | if ($updated_pass) { 87 | 88 | //User Password changed thanks giving message 89 | $Date = new DateTime(); 90 | $Date = date_format($Date, 'Y-m-d H:i:s'); 91 | $email = $value['email']; 92 | $name = $value['name']; 93 | $form = 'nababurdev@gmail.com'; 94 | $to = "$email"; 95 | $subject = 'You have been changed your password Successfully.'; 96 | $headers = "From: " . strip_tags($form) . "\r\n"; 97 | $headers .= "Reply-To: ". strip_tags($form) . "\r\n"; 98 | $headers .= "CC: nababurdev@gmail.com\r\n"; 99 | $headers .= 'MIME-Version: 1.0'; 100 | $headers .= 'Content-type: text/html; charset=iso-8859-1'; 101 | 102 | 103 | $message = "Your name is : " . strip_tags($name) . "\r\n"; 104 | $message .= "Your E-mail is : " . strip_tags($email) . "\r\n"; 105 | $message .= "Your New generate password is: " . strip_tags($new_password) . "\r\n"; 106 | $message .= "Password changed date is: " . strip_tags($Date) . "\r\n"; 107 | $message .= "Message : Please visit our website to login."; 108 | $sendmail = mail($to, $subject, $message); 109 | if ($sendmail) { 110 | $msg = '
111 | × 112 | Wow ! Your Password has been Successfully Changed !
'; 113 | return $msg; 114 | }else{ 115 | $msg = '
116 | × 117 | Error ! Something went wrong !
'; 118 | return $msg; 119 | } 120 | 121 | 122 | 123 | }else { 124 | $msg = '
125 | × 126 | Error ! Something went wrong !
'; 127 | return $msg; 128 | } 129 | 130 | }else { 131 | $msg = '
Error ! Your old password did not Matched, Please try again !
'; 132 | return $msg; 133 | exit(); 134 | } 135 | 136 | 137 | 138 | 139 | }else{ 140 | $msg = "
Error ! Something went wrong, try again please !
"; 141 | return $msg; 142 | exit(); 143 | 144 | } 145 | 146 | 147 | } 148 | 149 | 150 | } 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | } -------------------------------------------------------------------------------- /app/classes/ClientMsg.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 16 | $this->fm = new Format(); 17 | } 18 | 19 | 20 | 21 | 22 | // clientProposalMethod 23 | public function clientProposalMethod($data){ 24 | $name = $this->fm->validation($data['name']); 25 | $email = $this->fm->validation($data['email']); 26 | $budget = $this->fm->validation($data['budget']); 27 | $frameworks = $this->fm->validation($data['frameworks']); 28 | 29 | 30 | 31 | $name = mysqli_real_escape_string($this->db->link, $name); 32 | $email = mysqli_real_escape_string($this->db->link, $email); 33 | $budget = mysqli_real_escape_string($this->db->link, $budget); 34 | $frameworks = mysqli_real_escape_string($this->db->link, $frameworks); 35 | 36 | 37 | 38 | $pregExp = "/^[a-z0-9_-]+(\.[a-z0-9_-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/"; 39 | if ($name == "" || $email == "" || $budget == "" || $frameworks == "") { 40 | 41 | $msg = '
42 | Error ! Input fields must not be Empty!
'; 43 | echo $msg; 44 | exit(); 45 | }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) { 46 | $msg = '
47 | Error ! Please fill up Valid Email !
'; 48 | echo $msg; 49 | }elseif(!preg_match($pregExp, $email)) { 50 | $msg = '
51 | Error ! Please fill up Valid Email !
'; 52 | echo $msg; 53 | 54 | }else{ 55 | //Client Proposal Message 56 | 57 | date_default_timezone_set("Asia/Dhaka"); 58 | $Date = new DateTime(); 59 | $Date = date_format($Date, 'Y-m-d H:i:s'); 60 | $form = $email; 61 | $to = "nababurdev@gmail.com"; 62 | $subject = 'New Job proposal from Benzi Admin Dashboard !'; 63 | $headers = "From: " . strip_tags($form) . "\r\n"; 64 | $headers .= "Reply-To: ". strip_tags($form) . "\r\n"; 65 | $headers .= "CC: nababurdev@gmail.com\r\n"; 66 | $headers .= 'MIME-Version: 1.0'; 67 | $headers .= 'Content-type: text/html; charset=iso-8859-1'; 68 | $message = "Client name : " . strip_tags($name) . "\r\n"; 69 | $message .= "Client E-mail : " . strip_tags($email) . "\r\n"; 70 | $message .= "Client Budget : " . strip_tags($budget) . "\r\n"; 71 | $message .= "Client framework choice : " . strip_tags($frameworks) . "\r\n"; 72 | $message .= "Proposal Email Date : " . strip_tags($Date) . "\r\n"; 73 | $message .= "This Email come from your Benzi Admin Dashboard Client proposal Pannel."; 74 | $sendmail = mail($to, $subject, $message); 75 | 76 | 77 | if ($sendmail) { 78 | $msg = '
79 | Success! Your Proposal has been send Successfully, We will reply as soon as possible. Thanks !
'; 80 | echo $msg; 81 | }else{ 82 | $msg = '
83 | Error ! Something went wrong!
'; 84 | echo $msg; 85 | } 86 | 87 | 88 | } 89 | } 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | } -------------------------------------------------------------------------------- /app/classes/Frontend.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 19 | $this->fm = new Format(); 20 | } 21 | 22 | 23 | 24 | 25 | 26 | // Select All contents form this Table 27 | public function selectfrontendpart(){ 28 | $query = "SELECT * FROM $this->table"; 29 | $result = $this->db->select($query); 30 | return $result; 31 | } 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | } -------------------------------------------------------------------------------- /app/classes/Permissions.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 19 | $this->fm = new Format(); 20 | } 21 | 22 | 23 | 24 | 25 | 26 | // Select Role Method 27 | public function selectAllPermissions(){ 28 | $query = "SELECT * FROM $this->table ORDER BY perid DESC"; 29 | $result = $this->db->select($query); 30 | return $result; 31 | } 32 | 33 | 34 | 35 | 36 | 37 | 38 | } -------------------------------------------------------------------------------- /app/classes/Roles.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 19 | $this->fm = new Format(); 20 | } 21 | 22 | 23 | 24 | // Add new Role Insert Method 25 | public function addNewRole($data){ 26 | $rolename = $this->fm->validation($data['rolename']); 27 | $roledname = $this->fm->validation($data['roledname']); 28 | //$permission_items = $data['permission_items']; 29 | 30 | $rolename = mysqli_real_escape_string($this->db->link, $rolename); 31 | $roledname = mysqli_real_escape_string($this->db->link, $roledname); 32 | //$permission_items = mysqli_real_escape_string($this->db->link, $permission_items); 33 | 34 | if (empty($rolename) OR empty($roledname) ) { 35 | $msg = '
36 | × 37 | Error ! Role Name and Display Name field must not be Empty!
'; 38 | return $msg; 39 | exit(); 40 | 41 | }else{ 42 | 43 | $checkName = "SELECT * FROM $this->table WHERE rolename = '$rolename' LIMIT 1 "; 44 | $CheckColumn = $this->db->select($checkName); 45 | if($CheckColumn == TRUE){ 46 | $msg = '
47 | × 48 | Error ! Role is already added in Database !
'; 49 | return $msg; 50 | exit(); 51 | }else{ 52 | 53 | $permission = array(); 54 | $permission = $data['permission_items']; 55 | 56 | 57 | foreach ($permission as $value) { 58 | if(is_array($value)) { 59 | foreach($value as $val){ 60 | $arr[] = $val; 61 | } 62 | } else { 63 | $arr[] = $value; 64 | } 65 | } 66 | $run = implode(",", $arr); 67 | 68 | 69 | $query = "INSERT INTO $this->table(rolename, roledname, permission_items) VALUES('$rolename', '$roledname', '$run') "; 70 | $result = $this->db->insert($query); 71 | if ($result) { 72 | $msg = '
73 | × 74 | Success! New user Role added Successfully !
'; 75 | return $msg; 76 | exit(); 77 | }else{ 78 | $msg = '
79 | × 80 | Error ! Something went wrong , Data not inserted.
'; 81 | return $msg; 82 | exit(); 83 | 84 | } 85 | } 86 | } 87 | 88 | } 89 | 90 | 91 | 92 | 93 | // Select Role Method 94 | public function selectAllRole(){ 95 | $query = "SELECT * FROM $this->table ORDER BY roledname"; 96 | $result = $this->db->select($query); 97 | return $result; 98 | } 99 | 100 | 101 | 102 | 103 | // Edit Role By Id Method 104 | public function editRoleById($roleid){ 105 | $roleid = preg_replace('/[^a-zA-Z0-9-]/', '', $roleid); 106 | $query = "SELECT * FROM $this->table WHERE roleid = '$roleid'"; 107 | $result = $this->db->select($query); 108 | return $result; 109 | } 110 | 111 | 112 | // Update Role By Id Method 113 | public function updateUserRole($data, $roleid){ 114 | $roleid = preg_replace('/[^a-zA-Z0-9-]/', '', $roleid); 115 | $roledname = $this->fm->validation($data['roledname']); 116 | $roledname = mysqli_real_escape_string($this->db->link, $roledname); 117 | 118 | if (empty($roledname)) { 119 | $msg = '
120 | × 121 | Error ! Display Name field must not be Empty!
'; 122 | return $msg; 123 | exit(); 124 | 125 | }else{ 126 | 127 | 128 | $query = "UPDATE $this->table 129 | SET 130 | roledname = '$roledname' 131 | WHERE roleid = '$roleid' 132 | 133 | "; 134 | $updated_row = $this->db->update($query); 135 | if ($updated_row) { 136 | $msg = '
137 | × 138 | Success! User Role Updated Successfully !
'; 139 | return $msg; 140 | exit(); 141 | }else{ 142 | $msg = '
143 | × 144 | Error ! Something went wrong , Data not updated.
'; 145 | return $msg; 146 | exit(); 147 | 148 | } 149 | } 150 | } 151 | 152 | 153 | // Delete Role By Id Method 154 | public function deleteRoleById($roleid){ 155 | $roleid = preg_replace('/[^a-zA-Z0-9-]/', '', $roleid); 156 | $query = "DELETE FROM $this->table WHERE roleid = '$roleid'"; 157 | $delete_row = $this->db->delete($query); 158 | if ($delete_row) { 159 | $msg = '
160 | × 161 | Success! User Role Deleted Successfully !
'; 162 | return $msg; 163 | exit(); 164 | }else{ 165 | $msg = '
166 | × 167 | Error ! Something went wrong , Data not Deleted.
'; 168 | return $msg; 169 | exit(); 170 | 171 | } 172 | } 173 | 174 | // Select Permission list 175 | public function selectPermissionItem($data){ 176 | $query = "SELECT * FROM $this->table where rolename = '$data'"; 177 | return $result = $this->db->select($query); 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | } 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | } -------------------------------------------------------------------------------- /app/classes/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/config/config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/helpers/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/inc/breadcrumb.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /app/inc/footer.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /app/inc/header.php: -------------------------------------------------------------------------------- 1 | 28 | 35 | 36 | 42 | selectPermissionItem($rolename); 45 | 46 | if ($ChkPermission) { 47 | while ($selecRole = $ChkPermission->fetch_assoc()) { 48 | 49 | $list = explode(',', $selecRole['permission_items']); 50 | foreach($list as $key => $value) { 51 | if ($value == 'Access') { 52 | $access = "Access"; 53 | } 54 | elseif ($value == 'Create') { 55 | $create = "Create"; 56 | } 57 | elseif ($value == 'Show') { 58 | $show = "Show"; 59 | } 60 | elseif ($value == 'Edit') { 61 | $edit = "Edit"; 62 | } 63 | elseif ($value == 'Delete') { 64 | $delete = "Delete"; 65 | } 66 | elseif ($value == 'Ban/Active user') { 67 | $banactive = "Ban/Active user"; 68 | } 69 | elseif ($value == 'User only') { 70 | $useronly = "User only"; 71 | } 72 | } 73 | } 74 | 75 | 76 | } 77 | 78 | ?> 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | selectfrontendpart(); 94 | if ($header_contents) { 95 | while ($result = $header_contents->fetch_assoc()) { 96 | 97 | 98 | ?> 99 | 100 | <?php if (isset($result['title'])) { 101 | echo $result['title']; 102 | } ?> 103 | 104 | " type="image/png"> 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 |
155 |
156 |
157 | 158 | 159 | userActive_OFF($userid); 163 | $logOut = $usr->userLogOut(); 164 | 165 | } 166 | ?> 167 | 168 | 169 | 170 |
171 |
172 | 173 | 174 | 291 |
292 |
293 | -------------------------------------------------------------------------------- /app/inc/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/inc/sidebar.php: -------------------------------------------------------------------------------- 1 | 2 | 142 | -------------------------------------------------------------------------------- /app/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/lib/Database.php: -------------------------------------------------------------------------------- 1 | connectDB(); 20 | } 21 | 22 | private function connectDB(){ 23 | $this->link = new mysqli($this->host, $this->user, $this->pass, $this->dbname); 24 | if(!$this->link){ 25 | $this->error ="Connection fail".$this->link->connect_error; 26 | return false; 27 | } 28 | } 29 | 30 | // Select or Read data 31 | public function select($query){ 32 | $result = $this->link->query($query) or die($this->link->error.__LINE__); 33 | if($result->num_rows > 0){ 34 | return $result; 35 | } else { 36 | return false; 37 | } 38 | } 39 | 40 | // Insert data 41 | public function create($query){ 42 | $insert_row = $this->link->query($query) or die($this->link->error.__LINE__); 43 | if($insert_row){ 44 | return $insert_row; 45 | } else { 46 | return false; 47 | } 48 | } 49 | // Insert data 50 | public function insert($query){ 51 | $insert_row = $this->link->query($query) or die($this->link->error.__LINE__); 52 | if($insert_row){ 53 | return $insert_row; 54 | } else { 55 | return false; 56 | } 57 | } 58 | 59 | // Update data 60 | public function update($query){ 61 | $update_row = $this->link->query($query) or die($this->link->error.__LINE__); 62 | if($update_row){ 63 | return $update_row; 64 | } else { 65 | return false; 66 | } 67 | } 68 | 69 | // Delete data 70 | public function delete($query){ 71 | $delete_row = $this->link->query($query) or die($this->link->error.__LINE__); 72 | if($delete_row){ 73 | return $delete_row; 74 | } else { 75 | return false; 76 | } 77 | } 78 | 79 | } 80 | -------------------------------------------------------------------------------- /app/lib/Session.php: -------------------------------------------------------------------------------- 1 | location.href='login.php';"; 23 | } 24 | } 25 | 26 | public static function checkSession(){ 27 | self::init(); 28 | if (self::get("login") == false) { 29 | self::destroy(); 30 | echo ""; 31 | } 32 | } 33 | 34 | public static function checkUserLogin(){ 35 | self::init(); 36 | if (self::get("userLogin") == true) { 37 | echo ""; 38 | } 39 | } 40 | 41 | public static function destroy(){ 42 | session_destroy(); 43 | 44 | echo ""; 45 | session_unset(); 46 | 47 | } 48 | } 49 | 50 | ?> 51 | -------------------------------------------------------------------------------- /app/lib/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/uploads/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/uploads/logo/00dad79ae1ac0f2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/logo/00dad79ae1ac0f2.png -------------------------------------------------------------------------------- /app/uploads/logo/00dad79ae1ac0f260196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/logo/00dad79ae1ac0f260196.png -------------------------------------------------------------------------------- /app/uploads/logo/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /app/uploads/userAvatar/1204e2351a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/1204e2351a.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/1848b2f52b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/1848b2f52b.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/25d37110db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/25d37110db.png -------------------------------------------------------------------------------- /app/uploads/userAvatar/369187ff7a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/369187ff7a.png -------------------------------------------------------------------------------- /app/uploads/userAvatar/479e72eaca.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/479e72eaca.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/5b270dd3d9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/5b270dd3d9.png -------------------------------------------------------------------------------- /app/uploads/userAvatar/72050401f6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/72050401f6.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/8d3e608256.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/8d3e608256.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/c362c75f91.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/c362c75f91.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/c7e375639e.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/c7e375639e.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/d656ca8a78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/d656ca8a78.png -------------------------------------------------------------------------------- /app/uploads/userAvatar/db5433f879.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/db5433f879.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/dev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/dev.jpg -------------------------------------------------------------------------------- /app/uploads/userAvatar/ec6120cc76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/ec6120cc76.png -------------------------------------------------------------------------------- /app/uploads/userAvatar/edb274937c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/app/uploads/userAvatar/edb274937c.png -------------------------------------------------------------------------------- /assets/css/Chart.min.css: -------------------------------------------------------------------------------- 1 | @keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0} -------------------------------------------------------------------------------- /assets/css/bootstrap-datetimepicker.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Datetimepicker fork of monim67 3 | * https://github.com/monim67/bootstrap-datetimepicker/ 4 | */ 5 | 6 | /*! 7 | * Datetimepicker for Bootstrap 3 8 | * version : 4.17.47 9 | * https://github.com/Eonasdan/bootstrap-datetimepicker/ 10 | */ 11 | .bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:before,.bootstrap-datetimepicker-widget.dropdown-menu:after{content:'';display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action="today"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget table td.old,.bootstrap-datetimepicker-widget table td.new{color:#777}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget table td span:hover{background:#eee}.bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget table td span.old{color:#777}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget.wider{width:21em}.bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em!important}.input-group.date .input-group-addon{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.bootstrap-datetimepicker-widget table td{height:auto;line-height:inherit;width:auto}.bdpw-clock-digit,.bdpw-timepicker-btn{width:32px!important;height:36px!important;line-height:36px!important;text-align:center;font-weight:700;font-size:1.2em;margin:0}.bdpw-clock-digit{color:gray}.bdpw-clock-digit.center{color:#333}.bootstrap-datetimepicker-widget table td .bdpw-clock-digit.disabled{color:#ccc}.bdpw-clock-digit.cursor{color:#337ab7}.bdpw-clock-digit.left{position:relative;left:-8px}.bdpw-clock-digit.right{position:relative;left:8px}.bdpw-clock-digit.top{position:relative;top:-5px}.bdpw-clock-digit.bottom{position:relative;top:5px}.bootstrap-datetimepicker-widget .timepicker{border:2px dotted #a5a5a5;border-radius:30px;margin:0 5px;padding:0 5px;background:url(../images/clock-bg-sm.png) center no-repeat;background-size:192px}.bootstrap-datetimepicker-widget table td span.bdpw-timepicker-colon{display:inline;font-weight:700}.bootstrap-datetimepicker-widget.dropdown-menu{width:294px;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.bootstrap-datetimepicker-widget table td span.pm-digit{display:none}.bootstrap-datetimepicker-widget .pm-view td span.am-digit{display:none}.bootstrap-datetimepicker-widget .pm-view td span.pm-digit{display:inline-block}.bootstrap-datetimepicker-widget .table-condensed>thead>tr>th,.bootstrap-datetimepicker-widget .table-condensed>tbody>tr>td,.bootstrap-datetimepicker-widget .table-condensed>tfoot>tr>td{padding:5px} -------------------------------------------------------------------------------- /assets/css/bootstrap-toggle.min.css: -------------------------------------------------------------------------------- 1 | /*\ 2 | |*| ======================================================================== 3 | |*| Bootstrap Toggle: bootstrap4-toggle.css v3.6.1 4 | |*| https://gitbrent.github.io/bootstrap4-toggle/ 5 | |*| ======================================================================== 6 | |*| Copyright 2018-2019 Brent Ely 7 | |*| Licensed under MIT 8 | |*| ======================================================================== 9 | \*/ 10 | .btn-group-xs>.btn,.btn-xs{padding:.35rem .4rem .25rem .4rem;font-size:.875rem;line-height:.5;border-radius:.2rem}.checkbox label .toggle,.checkbox-inline .toggle{margin-left:-1.25rem;margin-right:.35rem}.toggle{position:relative;overflow:hidden}.toggle.btn.btn-light,.toggle.btn.btn-outline-light{border-color:rgba(0,0,0,.15)}.toggle input[type=checkbox]{display:none}.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left .35s;-webkit-transition:left .35s;-moz-user-select:none;-webkit-user-select:none}.toggle-group label,.toggle-group span{cursor:pointer}.toggle.off .toggle-group{left:-100%}.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0;box-shadow:none}.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px;background-color:#fff}.toggle.btn-outline-primary .toggle-handle{background-color:var(--primary);border-color:var(--primary)}.toggle.btn-outline-secondary .toggle-handle{background-color:var(--secondary);border-color:var(--secondary)}.toggle.btn-outline-success .toggle-handle{background-color:var(--success);border-color:var(--success)}.toggle.btn-outline-danger .toggle-handle{background-color:var(--danger);border-color:var(--danger)}.toggle.btn-outline-warning .toggle-handle{background-color:var(--warning);border-color:var(--warning)}.toggle.btn-outline-info .toggle-handle{background-color:var(--info);border-color:var(--info)}.toggle.btn-outline-light .toggle-handle{background-color:var(--light);border-color:var(--light)}.toggle.btn-outline-dark .toggle-handle{background-color:var(--dark);border-color:var(--dark)}.toggle[class*=btn-outline]:hover .toggle-handle{background-color:var(--light);opacity:.5}.toggle.btn{min-width:3.7rem;min-height:2.15rem}.toggle-on.btn{padding-right:1.5rem}.toggle-off.btn{padding-left:1.5rem}.toggle.btn-lg{min-width:5rem;min-height:2.815rem}.toggle-on.btn-lg{padding-right:2rem}.toggle-off.btn-lg{padding-left:2rem}.toggle-handle.btn-lg{width:2.5rem}.toggle.btn-sm{min-width:3.125rem;min-height:1.938rem}.toggle-on.btn-sm{padding-right:1rem}.toggle-off.btn-sm{padding-left:1rem}.toggle.btn-xs{min-width:2.19rem;min-height:1.375rem}.toggle-on.btn-xs{padding-right:.8rem}.toggle-off.btn-xs{padding-left:.8rem} -------------------------------------------------------------------------------- /assets/css/dataTables.bootstrap4.min.css: -------------------------------------------------------------------------------- 1 | table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:0.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:before,div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:0.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} -------------------------------------------------------------------------------- /assets/css/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /assets/css/responsive.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: Bootstrap Admin Dashboard 3 | Author: Nababur Rahaman 4 | Support: nababurbd@gmail.com 5 | Author URL: https://github.com/nababur 6 | Author URL: https://www.peopleperhour.com/freelancer/development-it/nababur-rahman-wordpress-codeigniter-expert-qjnjaw 7 | Description: Free use for Backend Development. 8 | Version: 1.0 9 | */ 10 | 11 | 12 | /* Medium Layout: 1280px. */ 13 | 14 | @media only screen and (min-width: 992px) and (max-width: 1280px) { 15 | 16 | 17 | 18 | } 19 | 20 | 21 | 22 | /* ----------- iPad 1, 2, Mini and Air ----------- */ 23 | 24 | /* Portrait */ 25 | @media only screen 26 | and (min-device-width: 768px) 27 | and (max-device-width: 1024px) 28 | and (orientation: portrait) 29 | and (-webkit-min-device-pixel-ratio: 1) { 30 | 31 | 32 | 33 | 34 | 35 | 36 | } 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | /* Landscape */ 49 | @media only screen 50 | and (min-device-width: 768px) 51 | and (max-device-width: 1024px) 52 | and (orientation: landscape) 53 | and (-webkit-min-device-pixel-ratio: 1) { 54 | 55 | 56 | 57 | 58 | 59 | 60 | } 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | /* Tablet Layout: 768px. */ 71 | 72 | @media only screen and (min-width: 767px) and (max-width: 991px) { 73 | 74 | .d-desktop{display: none} 75 | .d-mobile{display: block} 76 | 77 | .left-sidebar { 78 | width: 0; 79 | } 80 | .left-sidebar.active, .left-sidebar.hovered { 81 | width: 250px; 82 | } 83 | 84 | .wrap .page-body { 85 | padding-top: 35px; 86 | } 87 | 88 | .page-content-wrapper { 89 | padding-left: 15px; 90 | } 91 | .for-mobile { 92 | position: absolute; 93 | right: 4%; 94 | z-index: 999; 95 | display: block; 96 | } 97 | 98 | 99 | .mt-5, .my-5 { 100 | margin-top: 1rem!important; 101 | } 102 | .pt-5, .py-5 { 103 | padding-top: 1rem!important; 104 | } 105 | 106 | .table-responsive .btn { 107 | padding: 5px 5px; 108 | margin-bottom: 5px; 109 | } 110 | 111 | 112 | .geleral-settings .text-right{ text-align: left!important;} 113 | .permissions span.mr-4 { 114 | width: 100%; 115 | display: block; 116 | margin-bottom: 8px; 117 | } 118 | .table-responsive { 119 | margin-bottom: 20px; 120 | } 121 | .viewuser .col-md-6 { 122 | -ms-flex: 0 0 100%; 123 | flex: 0 0 100%; 124 | max-width: 100%; 125 | } 126 | .editprofile .col-md-2 { 127 | -ms-flex: 0 0 30%; 128 | flex: 0 0 30%; 129 | max-width: 30%; 130 | } 131 | 132 | 133 | .editprofile .col-md-4 { 134 | -ms-flex: 0 0 50%; 135 | flex: 0 0 50%; 136 | max-width: 50%; 137 | } 138 | .create-item .btn { 139 | padding: 5px 10px; 140 | font-size: 14px; 141 | } 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | } 159 | 160 | 161 | /* Mobile Layout: 320px. */ 162 | 163 | @media only screen and (max-width: 767px) { 164 | 165 | .login-text h3{ 166 | font-size: 18px; 167 | 168 | } 169 | .wrap .page-body { 170 | padding-top: 35px; 171 | } 172 | 173 | #reset_password h4{font-size: 16px} 174 | 175 | .alert { 176 | position: relative; 177 | padding: 10px 5px; 178 | margin-bottom: 1rem; 179 | border: 1px solid transparent; 180 | border-radius: .25rem; 181 | } 182 | 183 | .left-sidebar { 184 | width: 0; 185 | } 186 | .left-sidebar.active, .left-sidebar.hovered { 187 | width: 250px; 188 | } 189 | .page-content-wrapper { 190 | padding-left: 15px; 191 | } 192 | 193 | #nav-toggle { 194 | height: 55px; 195 | width: 55px; 196 | border-radius: 0; 197 | display: flex; 198 | align-items: center; 199 | justify-content: center; 200 | transition: all 1s ease; 201 | background: #2a2a2a; 202 | position: absolute; 203 | right: 0; 204 | left: 0; 205 | } 206 | 207 | .header #menu-action { 208 | display: block; 209 | float: left; 210 | width: 100%; 211 | line-height: 55px; 212 | height: 55px; 213 | margin-right: 0px; 214 | color: #fff; 215 | text-decoration: none; 216 | text-align: left; 217 | background: #2a2a2a; 218 | font-size: 13px; 219 | text-transform: uppercase; 220 | letter-spacing: 1px; 221 | -webkit-transition: all 0.2s ease-in-out; 222 | transition: all 0.2s ease-in-out; 223 | } 224 | .brand-logo { 225 | position: relative; 226 | width: 100%; 227 | } 228 | .content-header .breadcrumb { 229 | 230 | padding: 10px 10px; 231 | } 232 | .card-body { 233 | padding: 10px; 234 | } 235 | .card-body-icon i{font-size: 37px !important;} 236 | .content-header .create-item { 237 | position: inherit; 238 | right: 0%; 239 | top: 0%;margin-bottom: 10px; 240 | } 241 | 242 | 243 | 244 | .create-item .btn { 245 | padding: 5px 5px;font-size: 14px; 246 | } 247 | 248 | #usersTable_length { 249 | width: 100%; 250 | float: left; 251 | } 252 | 253 | .table-responsive .btn { 254 | padding: 5px 5px; 255 | margin-bottom: 5px; 256 | } 257 | 258 | .mt-5, .my-5 { 259 | margin-top: 1rem!important; 260 | } 261 | .pt-5, .py-5 { 262 | padding-top: 1rem!important; 263 | } 264 | .geleral-settings .text-right{ text-align: left!important;} 265 | .permissions span.mr-4 { 266 | width: 100%; 267 | display: block; 268 | margin-bottom: 8px; 269 | } 270 | .d-desktop{display: none} 271 | .d-mobile{display: block} 272 | .viewuser{padding: 0px 15px} 273 | .table-responsive { 274 | margin-bottom: 20px; 275 | } 276 | 277 | 278 | .create-item .btn { 279 | padding: 5px 10px; 280 | font-size: 14px; 281 | } 282 | 283 | 284 | 285 | 286 | .header #menu-action span { 287 | -webkit-transition: all 0.2s ease-in-out; 288 | transition: all 0.2s ease-in-out; 289 | text-align: center; 290 | margin: 0px auto; 291 | display: block; 292 | } 293 | 294 | 295 | 296 | 297 | .spinner{ 298 | 299 | right:42%; 300 | 301 | animation: spin 1s infinite linear; 302 | } 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | } 314 | 315 | 316 | /* Wide Mobile Layout: 480px. */ 317 | 318 | @media only screen and (min-width: 480px) and (max-width: 767px) { 319 | .d-desktop{display: none} 320 | .d-mobile{display: block} 321 | 322 | .login-text h3{ 323 | font-size: 18px; 324 | 325 | } 326 | .wrap .page-body { 327 | padding-top: 35px; 328 | } 329 | 330 | #reset_password h4{font-size: 16px} 331 | 332 | .alert { 333 | position: relative; 334 | padding: 10px 5px; 335 | margin-bottom: 1rem; 336 | border: 1px solid transparent; 337 | border-radius: .25rem; 338 | } 339 | 340 | .left-sidebar { 341 | width: 0; 342 | } 343 | .left-sidebar.active, .left-sidebar.hovered { 344 | width: 250px; 345 | } 346 | .page-content-wrapper { 347 | padding-left: 15px; 348 | } 349 | 350 | #nav-toggle { 351 | height: 55px; 352 | width: 55px; 353 | border-radius: 0; 354 | display: flex; 355 | align-items: center; 356 | justify-content: center; 357 | transition: all 1s ease; 358 | background: #2a2a2a; 359 | position: absolute; 360 | right: 0; 361 | left: 0; 362 | } 363 | 364 | .header #menu-action { 365 | display: block; 366 | float: left; 367 | width: 100%; 368 | line-height: 55px; 369 | height: 55px; 370 | margin-right: 0px; 371 | color: #fff; 372 | text-decoration: none; 373 | text-align: left; 374 | background: #2a2a2a; 375 | font-size: 13px; 376 | text-transform: uppercase; 377 | letter-spacing: 1px; 378 | -webkit-transition: all 0.2s ease-in-out; 379 | transition: all 0.2s ease-in-out; 380 | } 381 | .brand-logo { 382 | position: relative; 383 | width: 100%; 384 | } 385 | .content-header .breadcrumb { 386 | 387 | padding: 10px 10px; 388 | } 389 | .card-body { 390 | padding: 10px; 391 | } 392 | .card-body-icon i{font-size: 37px !important;} 393 | .content-header .create-item { 394 | position: inherit; 395 | right: 0%; 396 | top: 0%;margin-bottom: 10px; 397 | } 398 | 399 | 400 | 401 | .create-item .btn { 402 | padding: 5px 5px;font-size: 14px; 403 | } 404 | 405 | #usersTable_length { 406 | width: 100%; 407 | float: left; 408 | } 409 | 410 | .table-responsive .btn { 411 | padding: 5px 5px; 412 | margin-bottom: 5px; 413 | } 414 | 415 | .mt-5, .my-5 { 416 | margin-top: 1rem!important; 417 | } 418 | .pt-5, .py-5 { 419 | padding-top: 1rem!important; 420 | } 421 | .geleral-settings .text-right{ text-align: left!important;} 422 | .permissions span.mr-4 { 423 | width: 100%; 424 | display: block; 425 | margin-bottom: 8px; 426 | } 427 | 428 | .viewuser{padding: 0px 15px} 429 | 430 | .table-responsive { 431 | margin-bottom: 20px; 432 | } 433 | .create-item .btn { 434 | padding: 5px 10px; 435 | font-size: 14px; 436 | } 437 | .header #menu-action span { 438 | -webkit-transition: all 0.2s ease-in-out; 439 | transition: all 0.2s ease-in-out; 440 | text-align: center; 441 | margin: 0px auto; 442 | display: block; 443 | } 444 | 445 | 446 | .spinner{ 447 | 448 | right:42%; 449 | 450 | animation: spin 1s infinite linear; 451 | } 452 | 453 | 454 | } 455 | 456 | 457 | 458 | -------------------------------------------------------------------------------- /assets/icofont/fonts/icofont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/icofont/fonts/icofont.ttf -------------------------------------------------------------------------------- /assets/icofont/fonts/icofont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/icofont/fonts/icofont.woff -------------------------------------------------------------------------------- /assets/icofont/fonts/icofont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/icofont/fonts/icofont.woff2 -------------------------------------------------------------------------------- /assets/icofont/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /assets/iconfont/MaterialIcons-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/iconfont/MaterialIcons-Regular.eot -------------------------------------------------------------------------------- /assets/iconfont/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/iconfont/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /assets/iconfont/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/iconfont/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /assets/iconfont/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/iconfont/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /assets/iconfont/README.md: -------------------------------------------------------------------------------- 1 | The recommended way to use the Material Icons font is by linking to the web font hosted on Google Fonts: 2 | 3 | ```html 4 | 6 | ``` 7 | 8 | Read more in our full usage guide: 9 | http://google.github.io/material-design-icons/#icon-font-for-the-web 10 | -------------------------------------------------------------------------------- /assets/iconfont/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /assets/iconfont/material-icons.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Material Icons'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ 6 | src: local('Material Icons'), 7 | local('MaterialIcons-Regular'), 8 | url(MaterialIcons-Regular.woff2) format('woff2'), 9 | url(MaterialIcons-Regular.woff) format('woff'), 10 | url(MaterialIcons-Regular.ttf) format('truetype'); 11 | } 12 | 13 | .material-icons { 14 | font-family: 'Material Icons'; 15 | font-weight: normal; 16 | font-style: normal; 17 | font-size: 24px; /* Preferred icon size */ 18 | display: inline-block; 19 | line-height: 1; 20 | text-transform: none; 21 | letter-spacing: normal; 22 | word-wrap: normal; 23 | white-space: nowrap; 24 | direction: ltr; 25 | 26 | /* Support for all WebKit browsers. */ 27 | -webkit-font-smoothing: antialiased; 28 | /* Support for Safari and Chrome. */ 29 | text-rendering: optimizeLegibility; 30 | 31 | /* Support for Firefox. */ 32 | -moz-osx-font-smoothing: grayscale; 33 | 34 | /* Support for IE. */ 35 | font-feature-settings: 'liga'; 36 | } 37 | -------------------------------------------------------------------------------- /assets/images/icons/avatar_user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/images/icons/avatar_user.jpg -------------------------------------------------------------------------------- /assets/images/icons/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nababur/Pro-User-Management-System-with-PHP-MySQL-Ajax/9065b326ca3636a22e1c7526d1c3367708b149f9/assets/images/icons/favicon.png -------------------------------------------------------------------------------- /assets/images/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /assets/index.html: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /assets/js/bootstrap-toggle.min.js: -------------------------------------------------------------------------------- 1 | /*\ 2 | |*| ======================================================================== 3 | |*| Bootstrap Toggle: bootstrap4-toggle.js v3.6.1 4 | |*| https://gitbrent.github.io/bootstrap4-toggle/ 5 | |*| ======================================================================== 6 | |*| Copyright 2018-2019 Brent Ely 7 | |*| Licensed under MIT 8 | |*| ======================================================================== 9 | \*/ 10 | !function(a){"use strict";function l(t,e){this.$element=a(t),this.options=a.extend({},this.defaults(),e),this.render()}l.VERSION="3.6.0",l.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"light",size:"normal",style:"",width:null,height:null},l.prototype.defaults=function(){return{on:this.$element.attr("data-on")||l.DEFAULTS.on,off:this.$element.attr("data-off")||l.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||l.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||l.DEFAULTS.offstyle,size:this.$element.attr("data-size")||l.DEFAULTS.size,style:this.$element.attr("data-style")||l.DEFAULTS.style,width:this.$element.attr("data-width")||l.DEFAULTS.width,height:this.$element.attr("data-height")||l.DEFAULTS.height}},l.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var t="large"===this.options.size||"lg"===this.options.size?"btn-lg":"small"===this.options.size||"sm"===this.options.size?"btn-sm":"mini"===this.options.size||"xs"===this.options.size?"btn-xs":"",e=a('