User.php 856 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. class User extends DBObject {
  3. public $Group;
  4. public static function HashPassword($password) {
  5. return hash("sha256",$password);
  6. }
  7. public function __construct($id=0) {
  8. $field="user_id";
  9. if (!is_numeric($id))
  10. $field="user_email";
  11. parent::__construct("users", $field, $id);
  12. $this->Group=new UserGroup($this->GroupId);
  13. }
  14. public function Save() {
  15. if (isset($this->_changedFields["UserPassword"]))
  16. $this->UserPassword=self::HashPassword($this->UserPassword);
  17. parent::Save();
  18. }
  19. public function ValidatePassword($password){
  20. return self::HashPassword($password)==$this->UserPassword;
  21. }
  22. public function HasAccess($permission) {
  23. $perm=new Permission($permission);
  24. if ($perm->PermissionDefaultGrant==1)
  25. return true;
  26. return $this->Group->HasPermission($permission);
  27. }
  28. }