Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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;
     }
 }