#!/usr/bin/php db = $db; } public static function echoUsage($script_name){ print 'Usage: ' . $script_name; ?> Script to create more dummy assurer accounts (for use on the test system) which can be used by the test manager to create automated assurances specifies how many new dummy accounts should be created createAssurers($quantity); $db->close(); exit($status); } public function createAssurers($quantity){ // get last assurer $result = $this->db->query('select `mname` from `users` where `id`= (select max(`id`) from `users` where `email` like \'john.doe-___@example.com\')'); $row = $result->fetch_assoc(); if ($row === NULL){ $last_assurer = 0; printf("1\n"); } else { $last_assurer = (int)($row['mname']); printf("2: \$last_assurer: %d\n", $last_assurer); } // prepare the statements $insert_user = $this->db->prepare('insert into `users` set `email` = ? , `password` = \'invalid\' , `fname` = ? , `mname` = ? , `lname` = \'Doe\' , `suffix` = \'\' , `dob` = ? , `Q1` = SHA1(rand()) , `Q2` = SHA1(rand()) , `Q3` = SHA1(rand()) , `Q4` = SHA1(rand()) , `Q5` = SHA1(rand()) , `A1` = SHA1(rand()) , `A2` = SHA1(rand()) , `A3` = SHA1(rand()) , `A4` = SHA1(rand()) , `A5` = SHA1(rand()) , `created` = now() , `uniqueID` = SHA1(rand()) , `verified` = 1 , `assurer` = 1 '); $insert_user->bind_param('ssss', $email, $fname, $mname, $dob); $insert_email = $this->db->prepare('insert into `email` set `email` = ? , `hash` = \'\' , `created` = now() , `modified` = now() , `memid` = ? '); $insert_email->bind_param('si', $email, $memid); $insert_alerts = $this->db->prepare('insert into `alerts` set `memid` = ? , `general` = 0 , `country` = 0 , `regional` = 0 , `radius` = 0 '); $insert_alerts->bind_param('i', $memid); $insert_points = $this->db->prepare('insert into `notary` set `from` = ? , `to` = ? , `points` = 150 , `awarded` = 150 , `location` = \'Init Points\' , `date` = curdate() , `method` = \'Administrative Increase\' , `when` = now() '); $insert_points->bind_param('ii', $memid, $memid); $insert_cats = $this->db->prepare('insert into `cats_passed` set `user_id` = ? , `pass_date` = now() , `variant_id` = (select `id` from `cats_variant` where `type_id` = 1) '); $insert_cats->bind_param('i', $memid); // do the actual work for ($i = $last_assurer + 1; $i <= $last_assurer + $quantity; $i++){ $email = sprintf('john.doe-%03u@example.com', $i); $fname = sprintf('John %u', $i); $mname = sprintf('%u', $i); $dob = sprintf('19%02u-01-%02u', $i % 90, (int)(($i/90) + 1) ); $insert_user->execute(); $memid = $insert_user->insert_id; if ($memid == 0){ fwrite(STDERR, "Error: didn't get a valid ID for the user\n"); return 10; } $insert_email->execute(); $insert_alerts->execute(); $insert_points->execute(); $insert_cats->execute(); printf('Assurer number %u %s Doe <%s>'."\n". 'born on %s with the ID %d has been added'."\n", $i, $fname, $email, $dob, $memid); } return 0; } } CreateAssurers::main();