public function runtest() { //create someuser just to test, so do not get from factory //create $someuser = new SomeUser(); $someuser->setPassword('cleartext'); $someuser->setUsername('testuser'); $someuser->setEmail('*****@*****.**'); $someuser->setHomepage('http://www.example.org/'); $someuser->setUserrole('registered'); $someuser->create(); //need to have users id $this->results[] = "created user, expecting posivite integer as userid. value is:" . $someuser->getId(); //read $someuser2 = new SomeUser(); $someuser2->setId($someuser->getId()); $someuser2->read(); $this->results[] = "read user, expecting username to be testuser. value is:" . $someuser2->getUsername(); //update $someuser2->setEmail('*****@*****.**'); $someuser2->setUserrole('admin'); $someuser2->update(); $someuser2->read(); $this->results[] = "updated user, expecting userrole to be admin. value is:" . $someuser2->getUserrole(); //delete $someuser3 = new SomeUser(); $someuser3->setPassword('cleartext2'); $someuser3->setUsername('testuser2'); $someuser3->setEmail('*****@*****.**'); $someuser3->setHomepage('http://www2.example.com/'); $someuser3->create(); $this->results[] = "created another user, expecting users id to be positive integer. value is:" . $someuser3->getId(); //delete previous user $someuser4 = new SomeUser(); $someuser4->setPassword('cleartext3'); $someuser4->setUsername('testuser3'); $someuser4->setEmail('*****@*****.**'); $someuser4->setHomepage('http://www3.example.org/'); $someuser4->setUserrole('anonymous'); $someuser4->create(); $someuser4->delete(); //expecting that user4 can not be read... $someuser5 = new SomeUser(); $someuser5->setId($someuser4->getId()); $didexception = false; try { $someuser5->read(); } catch (SomeDatabaseException $sde) { $didexception = true; $this->results[] = "read deleted user, expecting username to be empty. value is:" . $someuser5->getUsername(); } if (!$didexception) { $this->results[] = "read deleted user, expecting username to be empty. But value is:" . $someuser5->getUsername(); } unset($someuser); $someuser2->delete(); $someuser3->delete(); unset($someuser4); unset($someuser5); }
/** * @return true if user is created, false if not. */ public function create() { $user = SomeFactory::getUser(); if ($user->getUserrole() === SomeUser::ROLE_HEADTEACHER) { someloader('some.user.user'); $someuser = new SomeUser(); $this->userdata = array('username' => SomeRequest::getVar('tunnus', ''), 'fname' => SomeRequest::getVar('etunimi', ''), 'lname' => SomeRequest::getVar('sukunimi', ''), 'unit' => SomeRequest::getVar('yksikko', ''), 'email' => SomeRequest::getVar('sposti', ''), 'phone' => SomeRequest::getVar('puh', ''), 'password' => SomeRequest::getVar('salasana', '')); $someuser->setUsername($this->userdata['username']); // DO THE PASSWORD HASHING HERE $someuser->setPassword($this->userdata['password']); $someuser->setUserrole('teacher'); $this->userdata['userrole'] = $someuser->getUserrole(); $someuser->create(); //Yritetään lisäksi tehdä uusi tuutori $db = SomeFactory::getDBO(); $stmt = $db->prepare("INSERT INTO tuutori VALUES(?, ?, ?, ?, ?, ?, 'Tuutori')"); $ok = $stmt->execute(array($this->userdata['username'], $this->userdata['fname'], $this->userdata['lname'], $this->userdata['email'], $this->userdata['phone'], $this->userdata['unit'])); if ($someuser->getId() > 0 && $ok > 0) { $this->userdata['id'] = $someuser->getId(); return true; } else { return false; } } }