Ejemplo n.º 1
0
 protected function changeRole()
 {
     $id = SomeRequest::getInt('id', 0);
     if ($id) {
         $ur = SomeRequest::getCmd('newrole');
         $user = new SomeUser();
         $user->setId($id);
         $user->read();
         $user->setUserrole($ur);
         $user->update();
     }
 }
Ejemplo n.º 2
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);
 }
Ejemplo n.º 3
0
 /**
  * @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;
         }
     }
 }
Ejemplo n.º 4
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;
     }
 }