/[dtapublic]/to_be_filed/webprojs/php_libraries/php_library/fboprime/dbtestpop.php
ViewVC logotype

Contents of /to_be_filed/webprojs/php_libraries/php_library/fboprime/dbtestpop.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 35 - (show annotations) (download)
Sat Oct 8 23:35:33 2016 UTC (7 years, 5 months ago) by dashley
File size: 49547 byte(s)
Initial commit.
1 #!/usr/bin/php -q
2 <?php
3 //$Header: /hl/cvsroots/gpl01/gpl01/webprojs/fboprime/sw/standalone/dbtestpop.php,v 1.31 2006/11/05 01:07:30 dashley Exp $
4 //--------------------------------------------------------------------------------
5 //dbtestpop.php--Populates the FBO-Prime Database for Testing
6 //Copyright (C) 2006 David T. Ashley
7 //
8 //This program is free software; you can redistribute it and/or
9 //modify it under the terms of the GNU General Public License
10 //as published by the Free Software Foundation; either version 2
11 //of the License, or (at your option) any later version.
12 //
13 //This program is distributed in the hope that it will be useful,
14 //but WITHOUT ANY WARRANTY; without even the implied warranty of
15 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 //GNU General Public License for more details.
17 //
18 //You should have received a copy of the GNU General Public License
19 //along with this program; if not, write to the Free Software
20 //Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 //--------------------------------------------------------------------------------
22 //This script populates an FBO-Prime database for testing. This program was
23 //used to populate the database after dropping and recreating the database to
24 //avoid the trouble of manually re-entering data using web forms.
25 //--------------------------------------------------------------------------------
26 //Set the include file path. This is necessary to get to the configuration
27 //information, including how to try to connect to the database.
28 set_include_path("/var/www/php_library/fboprime");
29 //
30 require_once("config.inc");
31 require_once("passwd.inc");
32 require_once("rscsx.inc");
33 require_once("resvx.inc");
34 require_once("sguid.inc");
35 require_once("usrsx.inc");
36 //
37 //--------------------------------------------------------------------------------
38 //Writes a horizontal line.
39 //
40 function hline()
41 {
42 for ($i=0; $i<80; $i++)
43 {
44 echo "-";
45 }
46 echo "\n";
47 }
48 //
49 //--------------------------------------------------------------------------------
50 //Errors out.
51 //
52 function error_out()
53 {
54 echo "FATAL ERROR\n";
55 exit(1);
56 }
57 //--------------------------------------------------------------------------------
58 //Returns a version control string. Used for randomness.
59 //
60 function vc_info()
61 {
62 return("\$Header: /hl/cvsroots/gpl01/gpl01/webprojs/fboprime/sw/standalone/dbtestpop.php,v 1.31 2006/11/05 01:07:30 dashley Exp $");
63 }
64 //
65 //--------------------------------------------------------------------------------
66 function random_alpha_character()
67 {
68 $s = "abcdefghijklmnopqrstuvwxyz";
69
70 $l = strlen($s);
71
72 $p = rand(0, $l-1);
73
74 return(SubStr($s, $p, 1));
75 }
76 //
77 //--------------------------------------------------------------------------------
78 function random_alphanum_character()
79 {
80 $s = "abcdefghijklmnopqrstuvwxyz0123456789";
81
82 $l = strlen($s);
83
84 $p = rand(0, $l-1);
85
86 return(SubStr($s, $p, 1));
87 }
88 //
89 //--------------------------------------------------------------------------------
90 function random_nameish_string($maxlen)
91 {
92 if ($maxlen == 0)
93 {
94 return("");
95 }
96 else
97 {
98 $tgt = rand(1,$maxlen);
99 $rv = StrToUpper(random_alpha_character());
100 while(strlen($rv) < $tgt)
101 {
102 $rv .= random_alpha_character();
103 }
104
105 return($rv);
106 }
107 }
108 //
109 //--------------------------------------------------------------------------------
110 function random_useridish_string($maxlen)
111 {
112 if ($maxlen == 0)
113 {
114 return("");
115 }
116 else
117 {
118 $tgt = rand(1,$maxlen);
119 $rv = random_alpha_character();
120 while(strlen($rv) < $tgt)
121 {
122 $rv .= random_alphanum_character();
123 }
124
125 return($rv);
126 }
127 }
128 //
129 //--------------------------------------------------------------------------------
130 function add_random_user()
131 {
132 //Get a userid.
133 $v["userid"] = random_useridish_string(20);
134
135 //Get a password hash.
136 $v["pwhash"] = PASSWD_stored_hash_gen($v["userid"]);
137
138 //Get a sex.
139 $v["sex"] = rand(0,2);
140
141 //Get a first name.
142 $v["fname"] = random_nameish_string(10);
143
144 //Get a last name.
145 $v["lname"] = random_nameish_string(12);
146
147 $trash = rand(0,2);
148 if ($trash == 0)
149 $v["schedalonerscs"] = ",1,5,";
150 else if ($trash == 1)
151 $v["schedalonerscs"] = ",3,2,4,7,12,";
152 else
153 $v["schedalonerscs"] = ",9,";
154
155 //Add the user.
156 USRS_record_add_modify("A", $v, $result_code_out, $errors_out, $warnings_out);
157 }
158 //
159 //--------------------------------------------------------------------------------
160 function add_random_users()
161 {
162 //Decide how many users.
163 $nusers = rand(0,50);
164
165 for ($i=0; $i<$nusers; $i++)
166 add_random_user();
167 }
168 //
169 //--------------------------------------------------------------------------------
170 function populate_usrs_table()
171 {
172 global $GLOBAL_dbhandle;
173
174 $lut = array(
175 //-------------------------------------------------------------
176 //Theresa Whiting
177 //
178 "twhiting",
179 "twhiting",
180 USRS_SEX_FEMALE,
181 "Theresa",
182 "Whiting",
183 USRS_STATUS_ACTIVE,
184 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
185 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
186 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
187 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
188 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
189 "limeshoes@yahoo.com",
190 "theresa@metzgersaircraft.com",
191 //-------------------------------------------------------------
192 //Daniel Wynja
193 //
194 "dwynja",
195 "dwynja",
196 USRS_SEX_MALE,
197 "Daniel",
198 "Wynja",
199 USRS_STATUS_ACTIVE,
200 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
201 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
202 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
203 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
204 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
205 "danielwynja@hotmail.com",
206 "",
207 //-------------------------------------------------------------
208 //Sun Hee Metzger
209 //
210 "smetzger",
211 "smetzger",
212 USRS_SEX_FEMALE,
213 "Sun Hee",
214 "Metzger",
215 USRS_STATUS_ACTIVE,
216 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
217 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
218 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
219 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
220 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
221 "eric@metzgersaircraft.com",
222 "",
223 //-------------------------------------------------------------
224 //Eric Metzger
225 //
226 "emetzger",
227 "emetzger",
228 USRS_SEX_MALE,
229 "Eric",
230 "Metzger",
231 USRS_STATUS_ACTIVE,
232 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
233 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
234 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
235 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
236 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
237 "eric@metzgersaircraft.com",
238 "",
239 //-------------------------------------------------------------
240 //Nicki MacDonald
241 //
242 "nmacdona",
243 "nmacdona",
244 USRS_SEX_FEMALE,
245 "Nicki",
246 "MacDonald",
247 USRS_STATUS_ACTIVE,
248 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
249 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
250 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
251 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
252 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
253 "nicki@metzgersaircraft.com",
254 "",
255 //-------------------------------------------------------------
256 //Josh Hodge
257 //
258 "jhodge",
259 "jhodge",
260 USRS_SEX_MALE,
261 "Josh",
262 "Hodge",
263 USRS_STATUS_ACTIVE,
264 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
265 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
266 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
267 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
268 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
269 "bcbruin26@aol.com",
270 "10jrhodge@alma.edu",
271 //-------------------------------------------------------------
272 //Peter Ferencz
273 //
274 "pferencz",
275 "pferencz",
276 USRS_SEX_MALE,
277 "Peter",
278 "Ferencz",
279 USRS_STATUS_ACTIVE,
280 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
281 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
282 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
283 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
284 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
285 "",
286 "",
287 //-------------------------------------------------------------
288 //Michael Butson
289 //
290 "mbutson",
291 "mbutson",
292 USRS_SEX_MALE,
293 "Michael",
294 "Butson",
295 USRS_STATUS_ACTIVE,
296 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
297 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
298 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
299 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
300 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
301 "",
302 "",
303 //-------------------------------------------------------------
304 //Bob Buttrick
305 //
306 "bbuttrick",
307 "bbuttrick",
308 USRS_SEX_MALE,
309 "Bob",
310 "Buttrick",
311 USRS_STATUS_ACTIVE,
312 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
313 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
314 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
315 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
316 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
317 "pyro_2232@hotmail.com",
318 "",
319 //-------------------------------------------------------------
320 //Sean Ferencz
321 //
322 "sferencz",
323 "sferencz",
324 USRS_SEX_MALE,
325 "Sean",
326 "Ferencz",
327 USRS_STATUS_ACTIVE,
328 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
329 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
330 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
331 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
332 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
333 "",
334 "",
335 //-------------------------------------------------------------
336 //David Ashley
337 //
338 "dashley",
339 "dashley",
340 USRS_SEX_MALE,
341 "David",
342 "Ashley",
343 USRS_STATUS_ACTIVE,
344 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
345 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
346 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
347 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
348 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
349 "dtashley@aol.com",
350 "dta@e3ft.com",
351 //-------------------------------------------------------------
352 //Barry Bruns
353 //
354 "bbruns",
355 "bbruns",
356 USRS_SEX_MALE,
357 "Barry",
358 "Bruns",
359 USRS_STATUS_ACTIVE,
360 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
361 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
362 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
363 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
364 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
365 "bbruns6831@aol.com",
366 "",
367 //-------------------------------------------------------------
368 //Noah Belcher
369 //
370 "nbelcher",
371 "nbelcher",
372 USRS_SEX_MALE,
373 "Noah",
374 "Belcher",
375 USRS_STATUS_ACTIVE,
376 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
377 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
378 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
379 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
380 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
381 "",
382 "",
383 //-------------------------------------------------------------
384 //Erv Brinker
385 //
386 "ebrinker",
387 "ebrinker",
388 USRS_SEX_MALE,
389 "Erv",
390 "Brinker",
391 USRS_STATUS_ACTIVE,
392 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
393 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
394 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
395 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
396 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
397 "erv@summitpointe.org",
398 "",
399 //-------------------------------------------------------------
400 //Doug Motts
401 //
402 "dmotts",
403 "dmotts",
404 USRS_SEX_MALE,
405 "Doug",
406 "Motts",
407 USRS_STATUS_ACTIVE,
408 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
409 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
410 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
411 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
412 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
413 "drmotts@comcast.net",
414 "dmotts@cequentgroup.com",
415 //-------------------------------------------------------------
416 //Candice Young
417 //
418 "cyoung",
419 "cyoung",
420 USRS_SEX_FEMALE,
421 "Candice",
422 "Young",
423 USRS_STATUS_ACTIVE,
424 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
425 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
426 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
427 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
428 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
429 "young.candice@gmail.com",
430 "",
431 //-------------------------------------------------------------
432 //Jason Duca
433 //
434 "jduca",
435 "jduca",
436 USRS_SEX_MALE,
437 "Jason",
438 "Duca",
439 USRS_STATUS_ACTIVE,
440 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
441 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
442 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
443 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
444 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
445 "jason.duca@wmich.edu",
446 "duca47@hotmail.com",
447 //-------------------------------------------------------------
448 //Keith Rhoades
449 //
450 "krhoades",
451 "krhoades",
452 USRS_SEX_MALE,
453 "Keith",
454 "Rhoades",
455 USRS_STATUS_ACTIVE,
456 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
457 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
458 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
459 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
460 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
461 "keith.rhoades@comcast.net",
462 "",
463 //-------------------------------------------------------------
464 //Marilyn Ashley
465 //
466 "mashley2",
467 "mashley2",
468 USRS_SEX_FEMALE,
469 "Marilyn",
470 "Ashley",
471 USRS_STATUS_ACTIVE,
472 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
473 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
474 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
475 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
476 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
477 "mashley2@aol.com",
478 "",
479 //-------------------------------------------------------------
480 //Ed Shumway
481 //
482 "eshumway",
483 "eshumway",
484 USRS_SEX_MALE,
485 "Ed",
486 "Shumway",
487 USRS_STATUS_ACTIVE,
488 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
489 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
490 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
491 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
492 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
493 "shumwaypopcorn@aol.com",
494 "",
495 //-------------------------------------------------------------
496 //Pat Traster
497 //
498 "ptraster",
499 "ptraster",
500 USRS_SEX_MALE,
501 "Pat",
502 "Traster",
503 USRS_STATUS_ACTIVE,
504 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
505 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
506 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
507 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
508 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
509 "trasterp@calhounisd.org",
510 "",
511 //-------------------------------------------------------------
512 //Rob Williams
513 //
514 "rwilliams",
515 "rwilliams",
516 USRS_SEX_MALE,
517 "Rob",
518 "Williams",
519 USRS_STATUS_ACTIVE,
520 "\\canviewuserslist=\"\"\\canviewuserinfo=\"\"\\canedituserinfo=\"\"\\canresetuserpasswords=\"\"" .
521 "\\candeleteusers=\"\"\\canaddusers=\"\"\\canviewforeignresvexistence=\"\"" .
522 "\\canviewforeignresvdetails=\"\"\\canmodifyforeignresvlesspriv=\"\"" .
523 "\\canmodifyforeignresvpeerpriv=\"\"\\canmodifyforeignresvmorepriv=\"\"\\canviewdbstats=\"\"" .
524 "\\canviewlogentries=\"\"\\canvieweditresources=\"\"",
525 "",
526 "",
527 //-------------------------------------------------------------
528 //Unprivileged User
529 //
530 "uprivuser",
531 "uprivuser",
532 USRS_SEX_MALE,
533 "Unprivileged",
534 "User",
535 USRS_STATUS_ACTIVE,
536 "",
537 "",
538 "",
539 );
540
541 $n = count($lut);
542 for ($i=0; $i<$n; $i+=9)
543 {
544 //Add a random number of users to the database.
545 add_random_users();
546
547 $v["userid"] = $lut[$i];
548 $v["pwhash"] = PASSWD_stored_hash_gen($lut[$i+1]);
549 $v["sex"] = $lut[$i+2];
550 $v["fname"] = $lut[$i+3];
551 $v["lname"] = $lut[$i+4];
552 $v["status"] = $lut[$i+5];
553 $v["perm"] = $lut[$i+6];
554 $v["em1"] = $lut[$i+7];
555 $v["em2"] = $lut[$i+8];
556
557 $trash = rand(0,2);
558 if ($trash == 0)
559 $v["schedalonerscs"] = ",1,2,5,9,";
560 else if ($trash == 1)
561 $v["schedalonerscs"] = ",3,2,4,";
562 else
563 $v["schedalonerscs"] = "";
564
565
566 $v["crmodsguid"] = SGUID_sguid();
567
568 echo "Making call to add user \"" . $v["userid"] . "\".\n";
569
570 USRS_record_add_modify("A", $v, $result_code_out, $errors_out, $warnings_out);
571
572 if ($result_code_out == 0)
573 echo "Return value was 0, indicating an error.\n";
574 else
575 echo "Return value was " . $result_code_out . ".\n";
576 unset($v);
577 }
578 }
579 //
580 //--------------------------------------------------------------------------------
581 //
582 function populate_rscs_table()
583 {
584 global $GLOBAL_dbhandle;
585
586 $lut = array(
587 //-------------------------------------------------------------
588 //N30348 J4 Cub Coupe
589 //
590 RSCS_TYPE_AIRCRAFT,
591 RSCS_STATUS_ONLINE,
592 5,
593 "NC30348 J4 Cub Coupe",
594 "NC30348",
595 "NC30348",
596 "",
597 //-------------------------------------------------------------
598 //N52341 Cessna 172P
599 //
600 RSCS_TYPE_AIRCRAFT,
601 RSCS_STATUS_ONLINE,
602 10,
603 "N52341 Cessna 172P",
604 "N52341",
605 "N52341",
606 "",
607 //-------------------------------------------------------------
608 //N6258K Cessna 172P
609 //
610 RSCS_TYPE_AIRCRAFT,
611 RSCS_STATUS_ONLINE,
612 15,
613 "N6258K Cessna 172P",
614 "N6258K",
615 "N6258K",
616 "",
617 //-------------------------------------------------------------
618 //N3024S Piper Warrior
619 //
620 RSCS_TYPE_AIRCRAFT,
621 RSCS_STATUS_ONLINE,
622 20,
623 "N3024S Piper Warrior",
624 "N3024S",
625 "N3024S",
626 "",
627 //-------------------------------------------------------------
628 //N2009Y Beechcraft Duchess
629 //
630 RSCS_TYPE_AIRCRAFT,
631 RSCS_STATUS_ONLINE,
632 25,
633 "N2009Y Beechcraft Duchess",
634 "N2009Y",
635 "N2009Y",
636 "",
637 //-------------------------------------------------------------
638 //Barry Bruns
639 //
640 RSCS_TYPE_FLIGHTINSTRUCTOR,
641 RSCS_STATUS_ONLINE,
642 100,
643 "Bruns, Barry",
644 "B. Bruns",
645 "B.B.",
646 "bbruns",
647 //-------------------------------------------------------------
648 //Ed Shumway
649 //
650 RSCS_TYPE_FLIGHTINSTRUCTOR,
651 RSCS_STATUS_ONLINE,
652 110,
653 "Shumway, Ed",
654 "E. Shumway",
655 "E.S.",
656 "eshumway",
657 //-------------------------------------------------------------
658 //Pat Traster
659 //
660 RSCS_TYPE_FLIGHTINSTRUCTOR,
661 RSCS_STATUS_ONLINE,
662 112,
663 "Traster, Pat",
664 "P. Traster",
665 "P.T.",
666 "ptraster",
667 //-------------------------------------------------------------
668 //Theresa Whiting
669 //
670 RSCS_TYPE_FLIGHTINSTRUCTOR,
671 RSCS_STATUS_ONLINE,
672 115,
673 "Whiting, Theresa",
674 "T. Whiting",
675 "T.W.",
676 "twhiting",
677 //-------------------------------------------------------------
678 //Rob Williams
679 //
680 RSCS_TYPE_FLIGHTINSTRUCTOR,
681 RSCS_STATUS_ONLINE,
682 117,
683 "Williams, Rob",
684 "R. Williams",
685 "R.W.",
686 "rwilliams",
687 //-------------------------------------------------------------
688 //Daniel Wynja
689 //
690 RSCS_TYPE_FLIGHTINSTRUCTOR,
691 RSCS_STATUS_ONLINE,
692 120,
693 "Wynja, Daniel",
694 "D. Wynja",
695 "D.W.",
696 "dwynja",
697 //-------------------------------------------------------------
698 //Candice Young
699 //
700 RSCS_TYPE_FLIGHTINSTRUCTOR,
701 RSCS_STATUS_ONLINE,
702 130,
703 "Young, Candice",
704 "C. Young",
705 "C.Y.",
706 "cyoung",
707 //-------------------------------------------------------------
708 );
709
710 $n = count($lut);
711 for ($i=0; $i<$n; $i+=7)
712 {
713 $v["type"] = $lut[$i];
714 $v["status"] = $lut[$i+1];
715 $v["disporder"] = $lut[$i+2];
716 $v["longdesc"] = $lut[$i+3];
717 $v["shortdesc"] = $lut[$i+4];
718 $v["initials"] = $lut[$i+5];
719 $v["usercorres"] = USRS_userid_idx_map($lut[$i+6]);
720 if ($v["usercorres"] === FALSE)
721 $v["usercorres"] = 0;
722 $v["crmodsguid"] = SGUID_sguid();
723
724 echo "Making call to add resource \"" . $v["longdesc"] . "\".\n";
725 $rv = RSCS_insert($v);
726 if ($rv === FALSE)
727 echo "Return value was FALSE.\n";
728 else
729 echo "Return value was " . $rv . ".\n";
730 unset($v);
731 }
732 }
733 //
734 //--------------------------------------------------------------------------------
735 function random_reservation_description($res_no_in)
736 {
737 $lut = array(
738 "RMY->BTL because of my toothache.",
739 "Trip to Coldwater to use the cleaner restrooms.",
740 "Woman-chasing at the beach.",
741 "Man-chasing at the beach.",
742 "I'm going to get my underarms shaved.",
743 "Teaching my cat to fly.",
744 "Teaching my hamster to fly.",
745 "Teaching my dog to fly.",
746 "Circles about a point.",
747 "Squares about a pretty girl.",
748 "My cat will teach me to appreciate mice.",
749 "Ovals about a circle, while programming the GPS."
750 );
751
752 return($lut[rand(0, count($lut)-1)]);
753 }
754 //--------------------------------------------------------------------------------
755 function test_populate_resv_table()
756 {
757 global $GLOBAL_dbhandle;
758 global $GLOBAL_stime_year;
759 global $GLOBAL_stime_month;
760 global $GLOBAL_stime_day;
761 global $GLOBAL_stime_string;
762
763 $make_output = TRUE;
764
765 echo "Adding test reservations.\n";
766
767 //Get the indices corresponding to the complete set of flight instructor resources,
768 //or FALSE if non exist.
769 $fi_indices = RSCS_get_fi_online_idxs();
770 //print_r($fi_indices);
771
772 //Get the indices corresponding to the complete set of aircraft / simulator resources,
773 //or FALSE if non exist.
774 $acftsim_indices = RSCS_get_acftsim_online_idxs();
775 //print_r($acftsim_indices);
776
777 //Get the indices corresponding all active users.
778 $usrs_indices = USRS_get_user_online_idxs();
779
780 //Get the current Unix time.
781 $unix_time_secs = time();
782
783 //Get the lower limit of what we should pick for a date.
784 $lower_limit_secs = $unix_time_secs - (31 * 24 * 3600 * (CONFIG_SCHED_SCHEDACC_PREV_MO+1));
785
786 //Figure out how many seconds should be in the range. This should be kept to a manageable number because
787 //I don't have too much confidence in the rand() function.
788 //
789 $range_secs = (CONFIG_SCHED_SCHEDACC_PREV_MO + CONFIG_SCHED_SCHEDACC_FUTU_MO + 2) * 31 * 24 * 3600;
790
791 for ($test_res_cntr = 0; $test_res_cntr < (7 * 30 * 100); $test_res_cntr++)
792 {
793 echo "Adding test reservation #" . (string)($test_res_cntr+1) . ".\n";
794
795 //Pick a random starting point.
796 $start_secs = $lower_limit_secs + rand(0, $range_secs);
797
798 //Pick a random duration. The distribution should be mostly 1-3 hour reservations with
799 //a small number that can be as long as 1 week.
800 if (rand(0,100) == 0)
801 $duration_secs = rand(1,7*3600*24);
802 else
803 $duration_secs = rand(1,3*3600);
804
805 //Compute the endpoint.
806 $end_secs = $start_secs + $duration_secs;
807
808 //Compute the aircraft start year, month, day, hour, and minute.
809 $acft_start_year = (int) date("Y", $start_secs);
810 $acft_start_month = (int) date("n", $start_secs);
811 $acft_start_day = (int) date("j", $start_secs);
812 $acft_start_hour = (int) date("G", $start_secs);
813 $acft_start_minute = date("i", $start_secs);
814 if ((strlen($acft_start_minute) == 2) && (SubStr($acft_start_minute, 0, 1) == "0"))
815 $acft_start_minute = SubStr($acft_start_minute, 1, 1);
816 $acft_start_minute = (int) $acft_start_minute;
817 if ($acft_start_minute < 30)
818 $acft_start_minute = 0;
819 else
820 $acft_start_minute = 30;
821
822 //Compute the aircraft end year, month, day, hour, and minute.
823 $acft_end_year = (int) date("Y", $end_secs);
824 $acft_end_month = (int) date("n", $end_secs);
825 $acft_end_day = (int) date("j", $end_secs);
826 $acft_end_hour = (int) date("G", $end_secs);
827 $acft_end_minute = date("i", $end_secs);
828 if ((strlen($acft_end_minute) == 2) && (SubStr($acft_end_minute, 0, 1) == "0"))
829 $acft_end_minute = SubStr($acft_end_minute, 1, 1);
830 $acft_end_minute = (int) $acft_end_minute;
831 if ($acft_end_minute < 30)
832 $acft_end_minute = 0;
833 else
834 $acft_end_minute = 30;
835
836 //Write the results
837 echo " "
838 . "Acft "
839 . sprintf("%02d/%02d/%04d %02d:%02d:00", $acft_start_month, $acft_start_day, $acft_start_year, $acft_start_hour, $acft_start_minute)
840 . " - "
841 . sprintf("%02d/%02d/%04d %02d:%02d:00", $acft_end_month, $acft_end_day, $acft_end_year, $acft_end_hour, $acft_end_minute)
842 . "\n";
843
844 //Need to discard any reservations that are of zero duration.
845 if (
846 ($acft_start_year == $acft_end_year)
847 &&
848 ($acft_start_month == $acft_end_month)
849 &&
850 ($acft_start_day == $acft_end_day)
851 &&
852 ($acft_start_hour == $acft_end_hour)
853 &&
854 ($acft_start_minute == $acft_end_minute)
855 )
856 {
857 //The items are identical, need to discard.
858 echo " Start and end times identical--test reservation discarded.\n";
859 }
860 else
861 {
862 //Offset the flight instructor start time and end time by a random amount
863 //and get new times for that.
864 $start_secs = $start_secs - rand(0, 3600 * 2);
865 $end_secs = $end_secs + rand(0, 3600 * 2);
866
867 //Compute the flight instructor start year, month, day, hour, and minute.
868 $finst_start_year = (int) date("Y", $start_secs);
869 $finst_start_month = (int) date("n", $start_secs);
870 $finst_start_day = (int) date("j", $start_secs);
871 $finst_start_hour = (int) date("G", $start_secs);
872 $finst_start_minute = date("i", $start_secs);
873 if ((strlen($finst_start_minute) == 2) && (SubStr($finst_start_minute, 0, 1) == "0"))
874 $finst_start_minute = SubStr($finst_start_minute, 1, 1);
875 $finst_start_minute = (int) $finst_start_minute;
876 if ($finst_start_minute < 30)
877 $finst_start_minute = 0;
878 else
879 $finst_start_minute = 30;
880
881 //Compute the aircraft end year, month, day, hour, and minute.
882 $finst_end_year = (int) date("Y", $end_secs);
883 $finst_end_month = (int) date("n", $end_secs);
884 $finst_end_day = (int) date("j", $end_secs);
885 $finst_end_hour = (int) date("G", $end_secs);
886 $finst_end_minute = date("i", $end_secs);
887 if ((strlen($finst_end_minute) == 2) && (SubStr($finst_end_minute, 0, 1) == "0"))
888 $finst_end_minute = SubStr($finst_end_minute, 1, 1);
889 $finst_end_minute = (int) $finst_end_minute;
890 if ($finst_end_minute < 30)
891 $finst_end_minute = 0;
892 else
893 $finst_end_minute = 30;
894
895 //Write the results
896 echo " "
897 . "Finst "
898 . sprintf("%02d/%02d/%04d %02d:%02d:00", $finst_start_month, $finst_start_day, $finst_start_year, $finst_start_hour, $finst_start_minute)
899 . " - "
900 . sprintf("%02d/%02d/%04d %02d:%02d:00", $finst_end_month, $finst_end_day, $finst_end_year, $finst_end_hour, $finst_end_minute)
901 . "\n";
902
903
904 //Set up for the database commit.
905 //
906 $type = rand(0,2);
907 $crsguid = SGUID_sguid();
908 $createtimest = $GLOBAL_stime_string;
909 $useridx = $usrs_indices[rand(0, count($usrs_indices) - 1)];
910 $alias = 0;
911 if ($fi_indices !== FALSE)
912 {
913 $finstid = $fi_indices[rand(0, count($fi_indices) - 1)];
914 $finsttimestart = "ST"
915 .
916 sprintf("%04d%02d%02d%02d%02d",
917 $finst_start_year,
918 $finst_start_month,
919 $finst_start_day,
920 $finst_start_hour,
921 $finst_start_minute)
922 .
923 "00000000";
924 $finsttimeend = "ST"
925 .
926 sprintf("%04d%02d%02d%02d%02d",
927 $finst_end_year,
928 $finst_end_month,
929 $finst_end_day,
930 $finst_end_hour,
931 $finst_end_minute)
932 .
933 "00000000";
934 }
935 else
936 {
937 $finstid = 0;
938 $finsttimestart = "";
939 $finsttimeend = "";
940 }
941
942 if ($acftsim_indices !== FALSE)
943 {
944 $acftsimid = $acftsim_indices[rand(0, count($acftsim_indices) - 1)];
945 $acftsimtimestart = "ST"
946 .
947 sprintf("%04d%02d%02d%02d%02d",
948 $acft_start_year,
949 $acft_start_month,
950 $acft_start_day,
951 $acft_start_hour,
952 $acft_start_minute)
953 .
954 "00000000";
955 $acftsimtimeend = "ST"
956 .
957 sprintf("%04d%02d%02d%02d%02d",
958 $acft_end_year,
959 $acft_end_month,
960 $acft_end_day,
961 $acft_end_hour,
962 $acft_end_minute)
963 .
964 "00000000";
965 }
966 else
967 {
968 $acftsimid = 0;
969 $acftsimtimestart = "";
970 $acftsimtimeend = "";
971 }
972
973 $usrprivdesc = "";
974 $fboprivdesc = "";
975 $comprivdesc = random_reservation_description($test_res_cntr + 1);
976 $publicdesc = "";
977 $crmodsguid = $crsguid;
978
979 //Randomly blank out reservation components to represent aircraft-only or flight-instructor-only
980 //reservations.
981 if (rand(0,5)==0)
982 {
983 //Kill the flight instructor info. Aircraft-only reservation.
984 $finstid = 0;
985 $finsttimestart = "";
986 $finsttimeend = "";
987 }
988 else if (rand(0,5)==0)
989 {
990 //Kill the aircraft info. Flight-instructor-only reservation.
991 $acftsimid = 0;
992 $acftsimtimestart = "";
993 $acftsimtimeend = "";
994 }
995
996 //Calculate the reservation minimum and maximum.
997 $resvtimestart = "";
998 $resvtimeend = "";
999 if (($acftsimid != 0) && ($finstid != 0))
1000 {
1001 //Both a/c and flight instructor exist. Gotta do some fancy stuff to figure out how to assign.
1002 if (strcmp($finsttimestart, $acftsimtimestart) < 0)
1003 {
1004 $resvtimestart = $finsttimestart;
1005 }
1006 else
1007 {
1008 $resvtimestart = $acftsimtimestart;
1009 }
1010
1011 if (strcmp($finsttimeend, $acftsimtimeend) > 0)
1012 {
1013 $resvtimeend = $finsttimeend;
1014 }
1015 else
1016 {
1017 $resvtimeend = $acftsimtimeend;
1018 }
1019 }
1020 else if ($acftsimid != 0)
1021 {
1022 //Aircraft/simulator, but no flight instructor.
1023 $resvtimestart = $acftsimtimestart;
1024 $resvtimeend = $acftsimtimeend;
1025 }
1026 else if ($finstid != 0)
1027 {
1028 //Flight instructor, but no aircraft/simulator.
1029 $resvtimestart = $finsttimestart;
1030 $resvtimeend = $finsttimeend;
1031 }
1032
1033 //Form the query string.
1034 $query_string = "INSERT INTO resv SET "
1035 .
1036 "type=\"" . mysql_real_escape_string((string)$type, $GLOBAL_dbhandle) . "\", "
1037 .
1038 "crsguid=\"" . mysql_real_escape_string($crsguid, $GLOBAL_dbhandle) . "\", "
1039 .
1040 "createtimest=\"" . mysql_real_escape_string($createtimest, $GLOBAL_dbhandle) . "\", "
1041 .
1042 "useridx=\"" . mysql_real_escape_string((string)$useridx, $GLOBAL_dbhandle) . "\", "
1043 .
1044 "alias=\"" . mysql_real_escape_string((string)$alias, $GLOBAL_dbhandle) . "\", "
1045 .
1046 "finstid=\"" . mysql_real_escape_string((string)$finstid, $GLOBAL_dbhandle) . "\", "
1047 .
1048 "finsttimestart=\"" . mysql_real_escape_string($finsttimestart, $GLOBAL_dbhandle) . "\", "
1049 .
1050 "finsttimeend=\"" . mysql_real_escape_string($finsttimeend, $GLOBAL_dbhandle) . "\", "
1051 .
1052 "acftsimid=\"" . mysql_real_escape_string((string)$acftsimid, $GLOBAL_dbhandle) . "\", "
1053 .
1054 "acftsimtimestart=\"" . mysql_real_escape_string($acftsimtimestart, $GLOBAL_dbhandle) . "\", "
1055 .
1056 "acftsimtimeend=\"" . mysql_real_escape_string($acftsimtimeend, $GLOBAL_dbhandle) . "\", "
1057 .
1058 "resvtimestart=\"" . mysql_real_escape_string($resvtimestart, $GLOBAL_dbhandle) . "\", "
1059 .
1060 "resvtimeend=\"" . mysql_real_escape_string($resvtimeend, $GLOBAL_dbhandle) . "\", "
1061 .
1062 "usrprivdesc=\"" . mysql_real_escape_string($usrprivdesc, $GLOBAL_dbhandle) . "\", "
1063 .
1064 "fboprivdesc=\"" . mysql_real_escape_string($fboprivdesc, $GLOBAL_dbhandle) . "\", "
1065 .
1066 "comprivdesc=\"" . mysql_real_escape_string($comprivdesc, $GLOBAL_dbhandle) . "\", "
1067 .
1068 "publicdesc=\"" . mysql_real_escape_string($publicdesc, $GLOBAL_dbhandle) . "\", "
1069 .
1070 "crmodsguid=\"" . mysql_real_escape_string($crmodsguid, $GLOBAL_dbhandle) . "\""
1071 ;
1072
1073 //echo "\n\n" . $query_string . "\n\n";
1074 //sleep(10);
1075
1076 $result = mysql_query($query_string, $GLOBAL_dbhandle);
1077 }
1078 }
1079 }
1080 //
1081 //--------------------------------------------------------------------------------
1082 //--------------------------------------------------------------------------------
1083 //--------------------------------------------------------------------------------
1084 //------ M A I N S C R I P T ------------------------------------------------
1085 //--------------------------------------------------------------------------------
1086 //--------------------------------------------------------------------------------
1087 //--------------------------------------------------------------------------------
1088 //
1089 //
1090 //This is the list of the database tables. For each one, this script will try to
1091 //trash it if it exists.
1092 //
1093 if ($argc == 1)
1094 {
1095 //The no-parameters case, as expected.
1096 //Set up the global variables.
1097 GLOBAL_init();
1098
1099 $GLOBAL_dbhandle = mysql_connect(CONFIG_MYSQL_SERVER, CONFIG_MYSQL_USERNAME, CONFIG_MYSQL_PASSWORD);
1100 if ($GLOBAL_dbhandle === FALSE)
1101 {
1102 echo "ERROR: Unable to connect and/or authenticate to MySQL database.\n";
1103 exit(1);
1104 }
1105
1106 $result = mysql_select_db(CONFIG_MYSQL_DATABASE, $GLOBAL_dbhandle);
1107 if ($result === FALSE)
1108 {
1109 echo "ERROR: Unable to select MySQL database \"" . CONFIG_MYSQL_DATABASE . "\".\n";
1110 exit(1);
1111 }
1112
1113 hline();
1114
1115 //Populate the usrs table.
1116 populate_usrs_table();
1117 hline();
1118
1119 //Populate the rscs table.
1120 populate_rscs_table();
1121 hline();
1122
1123 //Populate reservations.
1124 test_populate_resv_table();
1125 hline();
1126
1127 //Try to close the database.
1128 $result = mysql_close($GLOBAL_dbhandle);
1129 if ($result === FALSE)
1130 {
1131 echo "ERROR: Unable to close MySQL connection.\n";
1132 exit(1);
1133 }
1134
1135 exit(0);
1136 }
1137 else
1138 {
1139 echo "ERROR: This command accepts no command-line parameters.\n";
1140 exit(1);
1141 }
1142
1143 //If we're here, success. Per the standard Unix way of thinking
1144 //say nothing. Silence means OK.
1145 exit(0);
1146 //
1147 //--------------------------------------------------------------------------------
1148 //End of $RCSfile: dbtestpop.php,v $.
1149 //--------------------------------------------------------------------------------
1150 ?>

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25