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); }
public function delete() { //VielŠ kerran varmistus kŠyttŠjŠn oikeuksista $user = SomeFactory::getUser(); if ($user->getUserrole() === SomeUser::ROLE_HEADTEACHER) { //On oikeudet. Poistetaan ensin kŠyttŠjŠ someuser-taulusta $someuser = new SomeUser(); $tunnus = SomeRequest::getVar('tunnus', ''); $db = SomeFactory::getDBO(); $stmt = $db->prepare("SELECT id FROM someuser WHERE username=?"); $ok = $stmt->execute(array($tunnus)); $id = $stmt->fetch(PDO::FETCH_ASSOC); if ($id) { //Saatiin id, voidaan poistaa kŠyttŠjŠ $someuser->setId($id['id']); $ryhmat; $stmt = $db->prepare("SELECT tunnus FROM hops_ryhma WHERE tuutori = ?"); $ok = $stmt->execute(array($tunnus)); if ($ok) { $i = 0; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $ryhmat[$i++] = $row; } } var_dump($ryhmat); $i = 0; if ($ryhmat != null) { foreach ($ryhmat as $ryhma) { $stmt = $db->prepare("UPDATE opiskelija SET hopsryhma = null WHERE hopsryhma = ?"); $ok = $stmt->execute(array($ryhma['tunnus'])); $stmt = $db->prepare("DELETE FROM hops_ryhma WHERE tunnus = ?"); $ok = $stmt->execute(array($ryhma['tunnus'])); if ($ok) { echo "RyhmŠn poisto onnistui"; } } } //Poistetaan myšs itse tuutori omasta taulustaan $stmt = $db->prepare("DELETE FROM tuutori WHERE tunnus=?"); $ok = $stmt->execute(array($tunnus)); if ($ok) { $someuser->delete(); return true; } } else { return false; } } else { return false; } }