Example #1
0
 public function testAddUser()
 {
     $this->object->addUser('John Doe', 'john', '*****@*****.**', 'mypassword');
     $user = $this->object->getByUsername('john');
     $this->assertEquals('4', $user->getField($this->object->getUserTable()->id));
     $this->assertEquals('John Doe', $user->getField($this->object->getUserTable()->name));
     $this->assertEquals('john', $user->getField($this->object->getUserTable()->username));
     $this->assertEquals('*****@*****.**', $user->getField($this->object->getUserTable()->email));
     $this->assertEquals('91DFD9DDB4198AFFC5C194CD8CE6D338FDE470E2', $user->getField($this->object->getUserTable()->password));
 }
Example #2
0
    public function getUser($filter)
    {
        $user = parent::getUser($filter);
        if (!is_null($user)) {
            // Get the user's roles from moodle
            $sqlRoles = 'SELECT shortname
						 FROM
							mdl_role AS r
						INNER JOIN
							mdl_role_assignments AS ra
								ON ra.roleid = r.id
						INNER JOIN mdl_user  AS u
								ON u.id = ra.userid
						WHERE userid = [[id]]
						group by shortname';
            $param = array("id" => $user->getField($this->getUserTable()->id));
            $it = $this->_db->getIterator($sqlRoles, $param);
            foreach ($it as $sr) {
                $user->addField("roles", $sr->getField('shortname'));
            }
            // Find the moodle site admin (super user)
            $user->setField($this->getUserTable()->admin, 'no');
            $sqlAdmin = "select value from mdl_config where name = 'siteadmins'";
            $it = $this->_db->getIterator($sqlAdmin);
            if ($it->hasNext()) {
                $sr = $it->moveNext();
                $siteAdmin = ',' . $sr->getField('value') . ',';
                $isAdmin = strpos($siteAdmin, ",{$user->getField($this->getUserTable()->id)},") !== false;
                $user->setField($this->getUserTable()->admin, $isAdmin ? 'yes' : 'no');
            }
        }
        return $user;
    }