<?php


class Dao_Users
	extends DAO
{
	private function hashPassword( $password , $salt , $iterations )
	{
		$hash = $password;
		$salt = trim( $salt );
		do {
			$hash = sha1( "$salt$hash$salt" );
			$iterations --;
		} while ( $iterations > 0 );
		return $hash;
	}


	public function getUser( $email )
	{
		$query = $this->query( 'SELECT * FROM users WHERE user_email = LOWER( $1 )' );
		$results = $query->execute( $email );
		if ( empty( $results ) ) {
			return null;
		}
		return array_shift( $results );
	}


	public function checkLogin( $email , $password )
	{
		$userData = $this->getUser( $email );
		if ( $userData != null ) {
			$hashed = $this->hashPassword( $password ,
				$userData->user_salt ,
				$userData->user_iterations );
			if ( $hashed === $userData->user_hash ) {
				return $userData;
			}
		}
		return null;
	}
}