예제 #1
0
 /**
  * Send the activation email
  *
  * @param \UserModule\Entity\User $from
  * @param \UserModule\Entity\User $to
  * @param string $subject
  * @param string $emailContent
  * @return mixed
  */
 public function sendEmail(UserEntity $from, UserEntity $to, $subject, $emailContent)
 {
     $transport = \Swift_MailTransport::newInstance();
     $mailer = \Swift_Mailer::newInstance($transport);
     $message = \Swift_Message::newInstance($subject)->setFrom(array($from->getEmail() => $from->getFullName()))->setTo(array($to->getEmail() => $to->getFullName()))->setBody($emailContent, 'text/html');
     return $mailer->send($message);
 }
예제 #2
0
 public function createAccountFromProviderDetails($details)
 {
     $entity = new UserEntity();
     $entity->setName($details->name);
     $entity->setEmail($details->email);
     $entity->setUsername($details->nickname);
     $entity->setGithubUid($details->uid);
     return $this->userStorage->create($entity);
 }
예제 #3
0
 public function createAction()
 {
     // If no POST - render
     if (!$this->is('post')) {
         return $this->render('UserModule:account:create.html.php');
     }
     $missingFields = array();
     $post = $this->post();
     $requiredKeys = array('firstname', 'lastname', 'email', 'password');
     // Check for missing fields, or fields being empty.
     foreach ($requiredKeys as $field) {
         if (!isset($post[$field]) || empty($post[$field])) {
             $missingFields[] = $field;
         }
     }
     // If any fields were missing, inform the client
     if (!empty($missingFields)) {
         return $this->render('UserModule:account:create.html.php', compact('missingFields'));
     }
     $accountHelper = $this->getService('user.account.helper');
     // @todo - check email exists
     // Check if the user's email address already exists
     if ($accountHelper->existsByEmail($post['email'])) {
         return $this->createResponse(array('status' => 'error', 'code' => 'E_EMAIL_ALREADY_EXISTS'));
     }
     $userEntity = new \UserModule\Entity\User();
     $userEntity->setEmail($post['email']);
     $userEntity->setFirstName($post['firstname']);
     $userEntity->setLastName($post['lastname']);
     $userEntity->setPassword($post['password']);
     $userEntity->setSalt(base64_encode(openssl_random_pseudo_bytes(16)));
     // Create the user
     $newUserID = $accountHelper->createUser($userEntity);
     // Insert an activation token for this user
     //        $accountHelper->createUserActivation($userEntity);
     // Send the user's activation email
     //        $this->sendActivationEmail($userEntity);
 }
예제 #4
0
 /**
  * Create a user record
  *
  * @param  UserEntity $user
  * @return integer
  */
 public function create(UserEntity $user)
 {
     return $this->ds->insert(self::TABLE_NAME, $user->toInsertArray());
 }