Esempio n. 1
0
 public function createPayment(OrderInterface $order, $moduleName, $methodName, array $details = [])
 {
     try {
         $this->entityManager->beginTransaction();
         $payment = new Payment();
         $payment->setOrder($order);
         $payment->setCurrency($order->getCurrency());
         $payment->setAmount($order->getPrice());
         $payment->setPaymentModule($this->entityManager->getReference("AgitOrderBundle:PaymentModule", $moduleName));
         $payment->setPaymentMethod($this->entityManager->getReference("AgitOrderBundle:PaymentMethod", $methodName));
         $payment->setCode(StringHelper::createRandomString(8, "un"));
         $payment->setCreated(new DateTime());
         $payment->setDetails($details);
         $payment->setStatus(Payment::STATUS_OPEN);
         $order->addPayment($payment);
         $this->persistPayment($payment);
         $this->eventDispatcher->dispatch("agit.payment.created", new PaymentEvent($payment));
         $this->entityManager->commit();
     } catch (Exception $e) {
         $this->entityManager->rollback();
         throw $e;
     }
     return $payment;
 }
Esempio n. 2
0
 public function createUser($name, $email, $role = null, $active = true)
 {
     $ivSize = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
     $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
     $salt = sha1(microtime(true) . $iv);
     $randPass = StringHelper::createRandomString(15) . "Aa1";
     // suffix needed to ensure PW policy compliance
     // find out which class implements the User entity
     $userMetadata = $this->entityManager->getClassMetadata("AgitUserBundle:UserInterface");
     $userClass = $userMetadata->name;
     $user = new $userClass();
     $user->setName($name);
     $user->setEmail($email);
     $user->setRole($role ? $this->entityManager->getReference("AgitUserBundle:UserRole", $role) : null);
     $user->setDeleted(!$active);
     $user->setSalt($salt);
     $this->setPassword($user, $randPass);
     $errors = $this->entityValidator->validate($user, new Valid(["traverse" => true]));
     if (count($errors) > 0) {
         throw new InvalidParametersException((string) $errors);
     }
     return $user;
 }
Esempio n. 3
0
 public function initToken()
 {
     if (!$this->sessionService->get(self::sessionKey)) {
         $this->sessionService->set(self::sessionKey, StringHelper::createRandomString(25));
     }
 }