Umfragen
testUsers_MYSQL.php
Go to the documentation of this file.
1 <?php
2 /*
3  * testUsers_MYSQL.php
4  *
5  * Copyright 2013 Johannes <jojo@jojo-42>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20  * MA 02110-1301, USA.
21  *
22  *
23  */
24 
25 /****************************************************************************
26  *
27  * CONFIGURE
28  *
29  * ***************************************************************************/
30 
31 $first_uid = 1000; // giving user IDs from this value onward ... default: 1000
32 $first_gid = 500; // giving group IDs from this value onward ... default: 500
33 $groups_quant = 4; // making n groups (only in the groups database ... you have to decide where which user will go) ... default: 4
34 
35 $table_EnablejavaScript = true; // make a nice javaScript login when clicking on a username in the HTML table
36 $crypt_salt = "isabelle"; // well, passwords are not werry good food for databases, so salt them a bit
37 
38 
39 
40 /****************************************************************************
41  *
42  * DATA
43  *
44  * ***************************************************************************/
45 
46 // DEFINE STANDART GROUPS
47 // the classes will be added after this
48 $groups = array(
49  500 => "admins",
50  501 => "teachers",
51 );
52 
53 
54 // DEFINE THE USERS
55 // available fields: name, givenName, surName, groups, pass, uid
56 $users = array(
57  /*GROUP 500 Admins*/
58  array( "name" => "admin",
59  "givenName" => "The Black Wizard",
60  "surName" => "Zeref",
61  "group"=>500 ),
62 
63  /*GROUP 501 Teachers*/
64  array( "name" => "Johannes th",
65  "givenName" => "johannes",
66  "surName" => "th",
67  "group"=>501,
68  "pass"=>"isabelle",
69  "uid"=>"jojo"),
70 
71  array( "name" => "Natsu Dragneel",
72  "givenName" => "Natsu",
73  "surName" => "Dragneel",
74  "group"=>501),
75 
76  array( "name" => "Lucy Heartfilia",
77  "givenName" => "Lucy",
78  "surName" => "Heartfilia",
79  "group"=>501),
80 
81  array( "name" => "Erza Scarlet",
82  "givenName" => "Erza",
83  "surName" => "Scarlet",
84  "group"=>501),
85 
86  array( "name" => "Gray Fullbuster",
87  "givenName" => "Gray",
88  "surName" => "Fullbuster",
89  "group"=>501),
90 
91  /*GROUP 502 Class1*/
92  array( "name" => "Wendy Marvell",
93  "givenName" => "Wendy",
94  "surName" => "Marvell",
95  "group"=>502),
96 
97  array( "name" => "Gajeel Redfox",
98  "givenName" => "Gajeel",
99  "surName" => "Redfox",
100  "group"=>502),
101 
102  array( "name" => "Makarov Dreyar",
103  "givenName" => "Makarov",
104  "surName" => "Dreyar",
105  "group"=>502),
106 
107  /*GROUP 503 Class2*/
108  array( "name" => "Mirajane Strauss",
109  "givenName" => "Mirajane",
110  "surName" => "Strauss",
111  "group"=>503),
112 
113  array( "name" => "Elfman Strauss",
114  "givenName" => "Elfman",
115  "surName" => "Strauss",
116  "group"=>503),
117 
118  array( "name" => "Lisanna Strauss",
119  "givenName" => "Lisanna",
120  "surName" => "Strauss",
121  "group"=>503),
122 
123  array( "name" => "Cana Alberona",
124  "givenName" => "Cana",
125  "surName" => "Alberona",
126  "group"=>503),
127 
128  /*GROUP 504 Class3*/
129  array( "name" => "Juvia Lockser",
130  "givenName" => "Juvia",
131  "surName" => "Lockser",
132  "group"=>504),
133 
134  array( "name" => "Freed Justine",
135  "givenName" => "Freed",
136  "surName" => "Justine",
137  "group"=>504),
138 
139  array( "name" => "Gildarts Clive",
140  "givenName" => "Gildarts",
141  "surName" => "Clive",
142  "group"=>504),
143 
144  array( "name" => "Macao Conbolt",
145  "givenName" => "Macao",
146  "surName" => "Conbolt",
147  "group"=>504),
148 
149  /*GROUP 505 Class4*/
150  array( "name" => "Happy",
151  "givenName" => "Happy",
152  "surName" => "exceed",
153  "group"=>505),
154 
155  array( "name" => "Carla",
156  "givenName" => "Carla",
157  "surName" => "exceed",
158  "group"=>505),
159 
160  array( "name" => "Pantherlily",
161  "givenName" => "Pantherlily",
162  "surName" => "exceed",
163  "group"=>505)
164 
165 );
166 
167 
168 // COMPLETE USER INFO
169 foreach($users as &$user){
170  if(!isset($user["uid"])){
171  // one letter from the given Name and two from the sur name ...
172  //extracted from full Name !!!!
173  $n = explode(" ",$user["name"]);
174  $t = substr($n[0],0,1).substr($n[1],0,2);
175  $user["uid"] = strtolower($t);
176  if( strlen($user["uid"]) <3 ){
177  $user["uid"] = substr(strtolower($user["name"]),0,3);
178  }
179  }
180  if(!isset($user["pass"])){
181  $user["pass"] = $user["uid"];
182  }
183  if(!isset($user["surName"])){
184  $user["surName"] = "";
185  }
186  if(!isset($user["givenName"])){
187  $user["givenName"] = "";
188  }
189 
190 }
191 
192 // MAKE GROUPS
193 for($i=2;$i<$groups_quant+2;++$i){
194  $n = $i-1;
195  $groups[500+$i] = "class$n";
196 }
197 
198 
199 
200 
201 
202 /****************************************************************************
203  *
204  * SQL STATEMENT
205  *
206  * ***************************************************************************/
207 
208 // create table for the user list
209 echo "--
210 -- Table Structure for user table
211 --".PHP_EOL.PHP_EOL;
212 echo "CREATE TABLE IF NOT EXISTS `users` (
213  `uid` int(11) NOT NULL,
214  `gid` int(11) NOT NULL,
215  `userName` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
216  `fullName` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
217  `givenName` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
218  `surName` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
219  `password` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
220  PRIMARY KEY (`uid`)
221 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;".PHP_EOL;
222 
223 echo PHP_EOL.PHP_EOL.PHP_EOL;
224 
225 // create table for the group list
226 echo "--
227 -- Table Structure for group table
228 --".PHP_EOL.PHP_EOL;
229 echo "CREATE TABLE IF NOT EXISTS `groups` (
230  `gid` int(11) NOT NULL,
231  `name` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
232  `members` text COLLATE utf8_unicode_ci NOT NULL
233 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;".PHP_EOL;
234 
235 echo PHP_EOL.PHP_EOL.PHP_EOL;
236 
237 // insert the users and make their password
238 echo "--
239 -- Data for the user table
240 --".PHP_EOL.PHP_EOL;
241 echo "INSERT INTO `users` (".PHP_EOL;
242 echo " `uid` ,".PHP_EOL;
243 echo " `gid` ,".PHP_EOL;
244 echo " `userName` ,".PHP_EOL;
245 echo " `fullName` ,".PHP_EOL;
246 echo " `givenName` ,".PHP_EOL;
247 echo " `surName` ,".PHP_EOL;
248 echo " `password`".PHP_EOL;
249 echo ")".PHP_EOL;
250 echo "VALUES ".PHP_EOL;
251 
253 foreach($users as &$user){
254  // the user ids are given one after another begining with $first_uid
255  $user["numid"] = $user_ID;
256 
257  // make a veeeeerrry veeeeerrry strong password
258  if( isset($crypt_salt) ){
259  $passwd = crypt($user["pass"],$crypt_salt);
260  }else{
261  $passwd = crypt($user["pass"],"");
262  }
263 
264 
265  echo " ('{$user["numid"]}', '{$user["group"]}', '{$user["uid"]}', '{$user["name"]}', '{$user["givenName"]}', '{$user["surName"]}', '{$passwd}')";
266 
267  // close INSERT statement when on last element
268  if( $i == sizeof($users)-1){
269  echo ";".PHP_EOL;
270  }else{
271  echo ",".PHP_EOL;
272  }
273 
274  ++$i; ++$user_ID;
275 }
276 unset($user);
277 
278 echo PHP_EOL.PHP_EOL.PHP_EOL;
279 
280 // insert the groups
281 echo "--
282 -- Data for the group table
283 --".PHP_EOL.PHP_EOL;
284 echo "INSERT INTO `groups` (".PHP_EOL;
285 echo " `gid` ,".PHP_EOL;
286 echo " `name`,".PHP_EOL;
287 echo " `members`".PHP_EOL;
288 echo ")".PHP_EOL;
289 echo "VALUES ".PHP_EOL;
290 
291 $keys = array_keys($groups);
292 for($i=0;$i<sizeof($groups);++$i){
293  $gid = $keys[$i];
294  $name= $groups[$gid];
295  $members = "";
296  foreach($users as $user){
297  if($user["group"] == $gid){
298  $members .= "{$user["numid"]},";
299  }
300  }
301  $members = trim($members,",");
302 
303  echo " ('{$gid}', '{$name}', '{$members}')";
304  // close INSERT statement when on last element
305  if( $i == sizeof($groups)-1){
306  echo ";".PHP_EOL;
307  }else{
308  echo ",".PHP_EOL;
309  }
310 
311 }
312 
313 echo PHP_EOL;
314 echo PHP_EOL;
315 echo PHP_EOL;
316 echo PHP_EOL;
317 echo PHP_EOL;
318 
319 
320 
321 
322 /****************************************************************************
323  *
324  * HTML TABLE
325  *
326  * ***************************************************************************/
327 echo "/*".PHP_EOL;
328 echo "This is the HTML table to be copy and pasted into the login.php file".PHP_EOL;
329 
330 echo PHP_EOL;
331 echo PHP_EOL;
332 
333 
335  $ccc = 0;
336  echo "<table>".PHP_EOL;
337  echo "<tr><th>FullName</th><th>login</th><th>pass</th><th>group</th></tr>".PHP_EOL;
338  foreach($users as $user){
339  if($ccc%2 == 0){
340  echo " <tr style='background-color:#F1F1F1'>".PHP_EOL;
341  }else{
342  echo " <tr>".PHP_EOL;
343  }
344  echo " <td>{$user["name"]}</td>".PHP_EOL;
345  echo " <td><b>{$user["uid"]}</b> ({$user["numid"]})</td>".PHP_EOL;
346  echo " <td>{$user["pass"]}</td>".PHP_EOL;
347  echo " <td>{$groups[$user["group"]]} ({$user["group"]})</td>".PHP_EOL;
348  echo " </tr>".PHP_EOL;
349  ++$ccc;
350  }
351 
352  echo "</table>".PHP_EOL;
353 }else{
354  $ccc = 0;
355  echo "<table>".PHP_EOL;
356  echo "<tr><th>FullName</th><th>login</th><th>pass</th><th>group</th></tr>".PHP_EOL;
357  foreach($users as $user){
358  if($ccc%2 == 0){
359  echo " <tr style='background-color:#F1F1F1'>".PHP_EOL;
360  }else{
361  echo " <tr>".PHP_EOL;
362  }
363  echo " <td> <a href='#' onClick='login(\"{$user["uid"]}\",\"{$user["pass"]}\");'> {$user["name"]} </a> </td>".PHP_EOL;
364  echo " <td><b>{$user["uid"]}</b> ({$user["numid"]})</td>".PHP_EOL;
365  echo " <td>{$user["pass"]}</td>".PHP_EOL;
366  echo " <td>{$groups[$user["group"]]} ({$user["group"]})</td>".PHP_EOL;
367  echo " </tr>".PHP_EOL;
368  ++$ccc;
369  }
370 
371  echo "</table>".PHP_EOL;
372 }
373 echo PHP_EOL;
374 echo PHP_EOL;
375 
376 echo "*/";
377 
378 ?>