fix unfreed sql result and add deleteAll() for users

git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@457 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
cweiske 2009-10-28 22:25:27 +00:00
parent 0fcbe3158d
commit 2444e1257f
2 changed files with 34 additions and 2 deletions

View file

@ -368,13 +368,15 @@ class SemanticScuttle_Service_User extends SemanticScuttle_DbService
return false; return false;
} }
if ($row =& $this->db->sql_fetchrow($dbresult)) { $row = $this->db->sql_fetchrow($dbresult);
$this->db->sql_freeresult($dbresult);
if ($row) {
$id = $_SESSION[$this->getSessionKey()] = $row[$this->getFieldName('primary')]; $id = $_SESSION[$this->getSessionKey()] = $row[$this->getFieldName('primary')];
if ($remember) { if ($remember) {
$cookie = $id .':'. md5($username.$password); $cookie = $id .':'. md5($username.$password);
setcookie($this->cookiekey, $cookie, time() + $this->cookietime, '/'); setcookie($this->cookiekey, $cookie, time() + $this->cookietime, '/');
} }
$this->db->sql_freeresult($dbresult);
return true; return true;
} else { } else {
return false; return false;
@ -593,6 +595,21 @@ class SemanticScuttle_Service_User extends SemanticScuttle_DbService
} }
/**
* Delete all bookmarks.
* Mainly used in unit tests.
*
* @return void
*/
public function deleteAll()
{
$query = 'TRUNCATE TABLE `'. $this->getTableName() .'`';
$this->db->sql_query($query);
}
function sanitisePassword($password) { function sanitisePassword($password) {
return sha1(trim($password)); return sha1(trim($password));
} }

View file

@ -103,6 +103,21 @@ class UserTest extends TestBase
$this->assertEquals($uid2, $user['uId']); $this->assertEquals($uid2, $user['uId']);
} }
/**
* Test login() function with invalid creditentials
*
* @return void
*/
public function testLoginInvalid()
{
$this->us->deleteAll();
$this->assertFalse(
$this->us->login('doesnot', 'exist', false)
);
}
} }