コード例 #1
0
 function testRandomString()
 {
     $this->assertEquals(preg_match('/^[A-Za-z0-9]{8}$/', PSU::randomString(8)), 1, 'Length test: 8');
     $this->assertEquals(preg_match('/^[A-Za-z0-9]{20}$/', PSU::randomString(20)), 1, 'Length test: 20');
     $this->assertEquals(preg_match('/^[0-9]{20}$/', PSU::randomString(20, '0123456789')), 1, 'Pattern test (numbers)');
     $this->assertEquals(preg_match('/^A{20}$/', PSU::randomString(20, 'A')), 1, 'Pattern test (letter A)');
     $s = PSU::randomString(62, null, false);
     $len = strlen($s);
     $found = array();
     for ($i = 0; $i < $len; $i++) {
         $c = $s[$i];
         $found[$c] = true;
     }
     $this->assertTrue(count($found) === 62, 'no duplicates');
 }
コード例 #2
0
 /**
  * insert id/pin data
  */
 public function insertSABNSTU()
 {
     // insert sabnstu data
     // use commonapplicationClientID as the SABNSTU_ID
     // generate a random pin using PSUTools
     // first check sabiden to see if person already has an application
     $aidm = $this->checkSABIDEN($this->commonapplicantclientid);
     if ($aidm) {
         psu::puke("This person, Client ID: " . $this->commonapplicantclientid . " is already in sabiden.");
     }
     if (!$aidm) {
         $aidm = PSU::db('banner')->GetOne("SELECT sabaseq.nextval FROM dual");
     }
     $pin = PSU::randomString(6, "1234567890");
     $client_id = $this->commonapplicantclientid;
     $sql = "INSERT INTO sabnstu (\n\t\t\t\t\t\t\t\tsabnstu_id,\n\t\t\t\t\t\t\t\tsabnstu_aidm,\n\t\t\t\t\t\t\t\tsabnstu_locked_ind,\n\t\t\t\t\t\t\t\tsabnstu_pin,\n\t\t\t\t\t\t\t\tsabnstu_activity_date\n\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\tlpad(:client_id,9,'0'),\n\t\t\t\t\t\t\t\t:aidm,\n\t\t\t\t\t\t\t\t'N',\n\t\t\t\t\t\t\t\t:pin,\n\t\t\t\t\t\t\t\tsysdate\n\t\t\t\t\t\t\t)";
     $rs = PSU::db('banner')->Execute($sql, compact('client_id', 'aidm', 'pin'));
     if ($rs) {
         $successfully_moved_to_banner = true;
     } else {
         $successfully_moved_to_banner = false;
         psu::puke($client_id . " Failed trying to insert into Banner table SABNSTU.");
     }
     return $successfully_moved_to_banner;
 }