src/User/User.php
<?php
namespace Anax\User;
use \Anax\Database\ActiveRecordModel;
/**
* A database driven model.
*/
class User extends ActiveRecordModel
{
/**
* @var string $tableName name of the database table.
*/
protected $tableName = "User";
/**
* Columns in the table.
*
* @var integer $id primary key auto incremented.
*/
public $id;
public $acronym;
public $password;
public $email;
public $gravatar;
public $created;
public $updated;
public $deleted;
public $active;
//public $role;
/**
* Set the password.
*
* @param string $password the password to use.
*
* @return void
*/
public function setPassword($password)
{
$this->password = password_hash($password, PASSWORD_DEFAULT);
}
/**
* Verify the acronym and the password, if successful the object contains
* all details from the database row.
*
* @param string $acronym acronym to check.
* @param string $password the password to use.
*
* @return boolean true if acronym and password matches, else false.
*/
public function verifyPassword($acronym, $password)
{
$this->find("acronym", $acronym);
return password_verify($password, $this->password);
}
/**
* @param string email
*
* @return string gravatar
**/
public function gravatar($email)
{
return "https://www.gravatar.com/avatar/" . md5(strtolower(trim($email))) . "&s=" . 40;
}
}