public static function create(Member $login, array $data, PropelPDO $con) { $formData = \Invitation::initInvitationForm($data); $invitationsCount = InvitationQuery::create()->count(); $hash = \Tbmt\Cryption::getInvitationHash($login, $formData['type'], $invitationsCount . time()); $invitation = new Invitation(); $invitation->setHash($hash)->setMemberId($login->getId())->setType($formData['type'])->setFreeSignup($formData['free_signup'] ? 1 : 0)->setCreationDate(time())->save($con); return $invitation; }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param member for account index view.'); } $this->member = $params['member']; $this->formVal = \Invitation::initInvitationForm(isset($params['formVal']) ? $params['formVal'] : $_REQUEST); $this->formErrors = isset($params['formErrors']) ? $params['formErrors'] : []; $this->invitations = \InvitationQuery::create()->filterByMemberId($this->member->getId())->orderBy('AcceptedDate', \Criteria::DESC)->orderBy('CreationDate', \Criteria::DESC)->limit(100)->find(); $this->invitationDateFormat = \Tbmt\Localizer::get('datetime_format_php.long'); return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.invitation.account.html', $params); }
public function action_invitation_create() { $login = Session::getLogin(); $type = Arr::init($_REQUEST, 'type', TYPE_INT); if ($login->getType() < $type || $type < \Member::TYPE_MEMBER || $type > $login->getType() || $login->getFundsLevel() != \Member::FUNDS_LEVEL2) { throw new PermissionDeniedException(); } if ($type === \Member::TYPE_SUB_PROMOTER) { list($valid, $data, $recipient) = \Invitation::validateInvitationForm($_REQUEST); if ($valid !== true) { return ControllerDispatcher::renderModuleView(self::MODULE_NAME, 'index', ['member' => $login, 'tab' => 'invitation', 'formErrors' => $data, 'recipient' => $recipient, 'formVal' => $_REQUEST]); } if ($data['promoter_id'] === '') { $data['promoter_id'] = $recipient->getId(); return ControllerDispatcher::renderModuleView(self::MODULE_NAME, 'index', ['member' => $login, 'tab' => 'invitation', 'formVal' => $data, 'recipient' => $recipient]); } } else { $data = \Invitation::initInvitationForm($_REQUEST); } \Invitation::create($login, $data, \Propel::getConnection()); return ControllerDispatcher::renderModuleView(self::MODULE_NAME, 'index', ['member' => $login, 'tab' => 'invitation', 'successmsg' => true, 'formVal' => []]); }