Пример #1
0
 /**
  * @param $data
  * @return UserEntity
  */
 public function createUser($data)
 {
     if (empty($data['email'])) {
         throw new \InvalidArgumentException('"email" missed');
     }
     if (empty($data['password'])) {
         throw new \InvalidArgumentException('"password" missed');
     }
     if (empty($data['firstName'])) {
         throw new \InvalidArgumentException('"firstName" missed');
     }
     if (empty($data['phone'])) {
         throw new \InvalidArgumentException('"phone" missed');
     }
     if (empty($data['lastName'])) {
         throw new \InvalidArgumentException('"lastName" missed');
     }
     if ($this->isEmailExist($data['email'])) {
         throw new \InvalidArgumentException('email "' . $data['email'] . '"" exists already');
     }
     $user = new UserEntity();
     $user->populate($data);
     $this->getEntityManager()->persist($user);
     $this->getEntityManager()->flush();
     return $user;
 }
Пример #2
0
 public function run($args = array())
 {
     //Process Token
     $requestToken = unserialize($this->getApp()->getResource('session')->get('twitter_request_token'));
     //Validate Request Token
     if (!$requestToken || !$requestToken->isValid()) {
         throw new \Exception('Invalid Twitter Token.');
     }
     //Get Access Token
     $consumer = new Twitter\Consumer($this->getApp()->getConfig('twitter'));
     $accessToken = $consumer->getAccessToken($this->getApp()->getResource('request')->query->all(), $requestToken);
     //Validate Access Token
     if (!is_object($accessToken) || !$accessToken->isValid()) {
         throw new \Exception('Invalid Twitter Access Token.');
     }
     //Get User info
     $consumer->setAccessToken($accessToken);
     $response = $consumer->executeHttpRequest(\Zend_Http_Client::GET, 'http://api.twitter.com/1/account/verify_credentials.json', array());
     $twitterInfo = json_decode($response->getBody());
     //Store data in session
     $this->getApp()->getResource('session')->set('twitter_access_token', serialize($accessToken));
     $this->getApp()->getResource('session')->set('twitter_handle', $twitterInfo->screen_name);
     //Retrieve Existing user, or create new one
     try {
         $repo = $this->getApp()->getDoctrineEntityManager()->getRepository('App\\Entity\\User');
         $user = $repo->findByTwitterHandle($twitterInfo->screen_name);
     } catch (Doctrine\ORM\NoResultException $e) {
         $user = new Entity\User();
     }
     $user->setToken($accessToken);
     $user->setTwitterHandle($twitterInfo->screen_name);
     $this->getApp()->getDoctrineEntityManager()->persist($user);
     $this->getApp()->getDoctrineEntityManager()->flush();
     return $this->getApp()->redirect('process');
 }
Пример #3
0
 private function encodePassword(User $user)
 {
     if (!$user->getRawPassword()) {
         return;
     }
     $password = $this->passwordEncoder->encodePassword($user, $user->getRawPassword());
     $user->setPassword($password);
 }
Пример #4
0
 /**
  * @param $email
  * @param $password
  * @return array
  */
 public function createUser($email, $password)
 {
     $user = new UserEntity();
     $user->setEmail($email);
     $user->setPassword($password);
     $this->getEntityManager()->persist($user);
     $this->getEntityManager()->flush();
     return array('id' => $user->getId(), 'created' => $user->getCreated(), 'updated' => $user->getUpdated(), 'email' => $user->getEmail());
 }
Пример #5
0
 /**
  * @param static  $form  Form instance
  * @param mixed   $data  Submited data
  */
 protected function handleSuccess($form, $data)
 {
     $user = new User($data->email, ...explode(' ', $data->name));
     $user->changePassword($data->password);
     try {
         $this->entityManager->persist($user)->flush($user);
     } catch (UniqueConstraintViolationException $e) {
         return $form['email']->addError('user.auth.email-taken');
     } catch (\Exception $e) {
         return $form->addError('app.general.error');
     }
 }
Пример #6
0
 public function findOrCreateWithPlatform($platform, $openId, $platformInfo)
 {
     $count = UserToken::wherePlatform($platform)->whereOpenId($openId)->count('user_id');
     if (!$count) {
         User::createWithPlatform($platform, $openId, $platformInfo);
     }
     return User::with('userInfo', 'userToken')->join('user_tokens', function ($join) use($platform, $openId) {
         $join->on('users.id', '=', 'user_tokens.user_id')->where('user_tokens.platform', '=', $platform)->where('user_tokens.open_id', '=', $openId)->whereNotNull('users.id')->whereNotNull('user_tokens.user_id');
     })->first(['users.*']);
 }
Пример #7
0
 /**
  * @param array $data
  * @return bool
  */
 public static function addUser(array $data)
 {
     $em = DoctrineAdapter::getEntityManager();
     $user = new User();
     $user->setName($data['name']);
     $user->setRole($data['role']);
     $user->setEmail($data['email']);
     $user->setPhone($data['phone']);
     $user->setCreatedAt($data['created_at']);
     $user->setUpdatedAt($data['updated_at']);
     $em->persist($user);
     try {
         $em->flush();
         return $user;
     } catch (\Exception $e) {
         return false;
     }
 }
Пример #8
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(UserRequest $request)
 {
     $user = new User($this->em);
     $user->__set("name", $request->name);
     $user->__set("email", $request->email);
     $user->setPassword($request->password);
     $user->__set("status", $request->status);
     $customer = $this->em->getRepository("App\\Entity\\Customer")->find($request->customer);
     $typeUser = $this->em->getRepository("App\\Entity\\Type_User")->find($request->type_user);
     $user->__set("customer", $customer);
     $user->__set("type_user", $typeUser);
     $this->em->persist($user);
     $this->em->flush();
     Mail::send('email.newuser', ['name' => $user->__get("name")], function ($message) use($user) {
         $message->to($user->__get("email"), $user->__get("name"))->subject('Welcome to IREMA!');
     });
     flash('The user has been created')->important();
     return \Redirect::route('user_index');
 }
Пример #9
0
<?php

/**
 * Created by PhpStorm.
 * User: Kévin
 * Date: 02/12/2015
 * Time: 14:23
 */
require_once 'vendor/autoload.php';
// enable/disable logs
define('LOG_ACTIVE', false);
use App\Orm\Orm, App\Entity\User, App\Orm\QueryManager;
Orm::init('127.0.0.1', 'orm', 'root', '');
$user = new User();
for ($i = 1; $i < 11; $i++) {
    $user->setLogin('simple' . $i);
    $user->setEmail('simple' . $i . '@mail.fr');
    $user->setPassword(sha1('simple' . $i));
    $user->save();
}
$q = new QueryManager();
// var_dump($q->select('user u')->join('LEFT JOIN test t ON t.user_id = u.id')->where('u.id = 3')->execute()); // select // join // where
Пример #10
0
 private function login(User $user)
 {
     $token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
     $this->tokenStorage->setToken($token);
 }
Пример #11
0
 public function create($username, $email, $plainPassword)
 {
     $user = new User();
     $user->setUsername($username)->setEmail($email)->setPlainPassword($plainPassword)->setHash($username . $email . $plainPassword)->setActive(0);
     return $user;
 }
Пример #12
0
 /**
  * @param $userId
  * @param $depth
  * @return array
  * @throws FriendshipException
  */
 public function getFriendsOfFriendsList($userId, $depth)
 {
     //hack with depth as php variable because Query has incorrect handling "*{something}"
     $queryString = "MATCH (user { id: {userId} })-[:friend*{$depth}]-(users)\n                    RETURN DISTINCT(users)";
     $rows = $this->getQueryResult($queryString, ['userId' => $userId]);
     $result = [];
     foreach ($rows as $row) {
         $user = new User();
         $user->setId($row->getProperty('id'));
         $user->setName($row->getProperty('name'));
         $result[] = $user;
     }
     return $result;
 }
Пример #13
0
 /**
  * Fonction permettant de "construire" un utilisateur en fonction d'une ligne de base de donnée
  * @param $row
  * @return User
  */
 public function buildUser($row)
 {
     $user = new User();
     $user->setId($row->id);
     $user->setPseudo($row->pseudo);
     $user->setEmail($row->email);
     $user->setAvatar($row->avatar);
     $user->setLatitude($row->latitude);
     $user->setLongitude($row->longitude);
     $user->setGender($row->gender);
     $user->setBirthdayDate($row->birthday_date);
     $user->setActif($row->actif);
     return $user;
 }
Пример #14
0
 /**
  * Test User getters and setters.
  */
 public function testGettersAndSetters()
 {
     // Setup.
     $data = $this->userData;
     $user = new User();
     // Set.
     $user->setId($data['id']);
     $user->setName($data['name']);
     $user->setRole($data['role']);
     $user->setEmail($data['email']);
     $user->setPhone($data['phone']);
     $user->setCreatedAt($data['created_at']);
     $user->setUpdatedAt($data['updated_at']);
     // Test get.
     $this->assertEquals($data['id'], $user->getId());
     $this->assertEquals($data['name'], $user->getName());
     $this->assertEquals($data['role'], $user->getRole());
     $this->assertEquals($data['email'], $user->getEmail());
     $this->assertEquals($data['phone'], $user->getPhone());
     $this->assertInstanceOf('DateTime', $user->getCreatedAt());
     $this->assertEquals($data['created_at'], $user->getCreatedAt());
     $this->assertInstanceOf('DateTime', $user->getUpdatedAt());
     $this->assertEquals($data['updated_at'], $user->getUpdatedAt());
 }
 /**
  * {@inheritDoc}
  */
 public function getCreated()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', array());
     return parent::getCreated();
 }