JustPaste.it

<?php

namespace social\socialBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\Criteria;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
* users
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="social\socialBundle\Entity\usersRepository")
* @UniqueEntity("username")
* @UniqueEntity("email")
*/
class users {

/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;

/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, unique=true)
*
* @Assert\Email(
* message = "The email '{{ value }}' is not a valid email.",
* checkMX = true
* )
*
*/
private $email;

/**
* @var string
*
* @ORM\Column(name="username", type="string", length=255, unique=true)
*/
private $username;

/**
* @var string
*
* @ORM\Column(name="password", type="string", length=255)
*
* @Assert\Length(
* min = 6,
* max = 15,
* minMessage = "Your password must be at least {{ limit }} characters long",
* maxMessage = "Your password cannot be longer than {{ limit }} characters"
* )
*
*/
private $password;

/**
* @var string
*
* @ORM\Column(name="first_name", type="string", length=255, nullable=true)
*
* @Assert\Length(
* min = 6,
* max = 15,
* minMessage = "Your last name must be at least {{ limit }} characters long",
* maxMessage = "Your last name cannot be longer than {{ limit }} characters"
* )
*
* @Assert\Type(
* type="alpha",
* message="The value {{ value }} is not a valid {{ type }}."
* )
*
*/
private $firstName;

/**
* @var string
*
* @ORM\Column(name="last_name", type="string", length=255, nullable=true)
*
* @Assert\Length(
* min = 6,
* max = 15,
* minMessage = "Your first name must be at least {{ limit }} characters long",
* maxMessage = "Your first name cannot be longer than {{ limit }} characters"
* )
*
* @Assert\Type(
* type="alpha",
* message="The value {{ value }} is not a valid {{ type }}."
* )
*
*/
private $lastName;

/**
* @var string
*
* @ORM\Column(name="location", type="string", length=255, nullable=true)
*/
private $location;

/**
* @var string
*
* @ORM\Column(name="remember_token", type="string", length=255, nullable=true)
*/
private $rememberToken;

/**
* @var \DateTime
*
* @ORM\Column(name="created_at", type="datetime", nullable=true)
*/
private $createdAt;

/**
* @var \DateTime
*
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
private $updatedAt;

/**
* Get id
*
* @return integer
*/
public function getId() {
return $this->id;
}

/**
* Set email
*
* @param string $email
*
* @return users
*/
public function setEmail($email) {
$this->email = $email;

return $this;
}

/**
* Get email
*
* @return string
*/
public function getEmail() {
return $this->email;
}

/**
* Set username
*
* @param string $username
*
* @return users
*/
public function setUsername($username) {
$this->username = $username;

return $this;
}

/**
* Get username
*
* @return string
*/
public function getUsername() {
return $this->username;
}

/**
* Set password
*
* @param string $password
*
* @return users
*/
public function setPassword($password) {
$this->password = $password;

return $this;
}

/**
* Get password
*
* @return string
*/
public function getPassword() {
return $this->password;
}

/**
* Set firstName
*
* @param string $firstName
*
* @return users
*/
public function setFirstName($firstName) {
$this->firstName = $firstName;

return $this;
}

/**
* Get firstName
*
* @return string
*/
public function getFirstName() {
return $this->firstName;
}

/**
* Set lastName
*
* @param string $lastName
*
* @return users
*/
public function setLastName($lastName) {
$this->lastName = $lastName;

return $this;
}

/**
* Get lastName
*
* @return string
*/
public function getLastName() {
return $this->lastName;
}

/**
* Set location
*
* @param string $location
*
* @return users
*/
public function setLocation($location) {
$this->location = $location;

return $this;
}

/**
* Get location
*
* @return string
*/
public function getLocation() {
return $this->location;
}

/**
* Set rememberToken
*
* @param string $rememberToken
*
* @return users
*/
public function setRememberToken($rememberToken) {
$this->rememberToken = $rememberToken;

return $this;
}

/**
* Get rememberToken
*
* @return string
*/
public function getRememberToken() {
return $this->rememberToken;
}

/**
* Set createdAt
*
* @param \DateTime $createdAt
*
* @return users
*/
public function setCreatedAt($createdAt) {
$this->createdAt = $createdAt;

return $this;
}

/**
* Get createdAt
*
* @return \DateTime
*/
public function getCreatedAt() {
return $this->createdAt;
}

/**
* Set updatedAt
*
* @param \DateTime $updatedAt
*
* @return users
*/
public function setUpdatedAt($updatedAt) {
$this->updatedAt = $updatedAt;

return $this;
}

/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt() {
return $this->updatedAt;
}

// Added by ME 'this is not an entitie'

public function getAvatarUrl() {
return 'http://www.gravatar.com/avatar/' . md5($this->email) . '?d=mm&s=40';
}

/**
* @ORM\ManyToMany(targetEntity="users",inversedBy="friends",cascade={"ALL"})
* @ORM\JoinTable(name="friends",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="friend_id", referencedColumnName="id")}
* )
*/
private $friendsofme;

/**
* @ORM\ManyToMany(targetEntity="users",inversedBy="friends",cascade={"ALL"})
* @ORM\JoinTable(name="friends",
* joinColumns={@ORM\JoinColumn(name="friend_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* )
*/
private $friendsof;

public function getusersre() {

$criteria = new Criteria();
$criteria->Where($criteria->expr()->eq('acepted', '1'));
return $this->friendsof->matching($criteria);
}

}