| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | 
							- <?php
 - namespace Tree\Fixture;
 - 
 - use Doctrine\ORM\Mapping as ORM;
 - 
 - /**
 -  * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
 -  * @ORM\Table(name="user")
 -  */
 - class User extends Role {
 - 
 -   const PASSWORD_SALT = 'dfJko$~346958rg!DFT]AEtzserf9giq)3/TAeg;aDFa43';
 - 
 -   /**
 -    * @ORM\Column(name="email", type="string", unique=true)
 -    * @var string
 -    */
 -   private $email;
 - 
 -   /**
 -    * @ORM\Column(name="password_hash", type="string", length=32)
 -    * @var string
 -    */
 -   private $passwordHash;
 - 
 -   /**
 -    * @ORM\Column(name="activation_code", type="string", length=12)
 -    * @var string
 -    */
 -   private $activationCode;
 - 
 -   /**
 -    * @param string $email
 -    * @param string $password
 -    */
 -   public function __construct($email, $password) {
 -     parent::__construct();
 -     $this
 -       ->setEmail($email)
 -       ->setPassword($password);
 -   }
 - 
 -   public function init() {
 -     $this->setActivationCode($this->generateString(12));
 -   }
 - 
 -     /**
 -    * Generates a random password
 -    *
 -    * @param int $length
 -    * @return string
 -    */
 -   public function generateString($length = 8) {
 -     $length = (int) $length;
 -     if ($length < 0) {
 -       throw new \Exception("Invalid password length '$length'");
 -     }
 -     $set = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 -     $num = strlen($set);
 -     $ret = '';
 -     for ($i = 0; $i < $length; $i++) {
 -       $ret .= $set[rand(0, $num - 1)];
 -     }
 -     return $ret;
 -   }
 - 
 -   /**
 -    * Generates a password hash
 -    *
 -    * @param string $password
 -    * @return string
 -    */
 -   public function generatePasswordHash($password) {
 -     return md5($password . self::PASSWORD_SALT);
 -   }
 - 
 -   /**
 -    * @return string
 -    */
 -   public function getEmail() {
 -     return $this->email;
 -   }
 - 
 -   /**
 -    * @param string $email
 -    * @return User
 -    */
 -   public function setEmail($email) {
 -     $this->email = $email;
 -     $this->setRoleId($email);
 -     return $this;
 -   }
 - 
 -   /**
 -    * @return string
 -    */
 -   public function getPasswordHash() {
 -     return $this->passwordHash;
 -   }
 - 
 -   /**
 -    * @param string $password
 -    * @return User
 -    */
 -   public function setPassword($password) {
 -     $this->passwordHash = $this->generatePasswordHash(trim($password));
 -     return $this;
 -   }
 - 
 -   /**
 -    * @return string
 -    */
 -   public function getActivationCode() {
 -     return $this->activationCode;
 -   }
 - 
 -   /**
 -    * @param string $activationCode
 -    * @return User
 -    */
 -   public function setActivationCode($activationCode) {
 -     $this->activationCode = $activationCode;
 -     return $this;
 -   }
 - 
 - }
 
 
  |