public static function create(Member $login, array $data, PropelPDO $con) { $type = $data['type']; $hash = SystemStats::getIncreasedInvitationIncrementer($con); $invitation = new Invitation(); if ($type === \Member::TYPE_SUB_PROMOTER) { $invitation->setMeta(['promoter_num' => $data['promoter_num'], 'promoter_id' => $data['promoter_id']]); } $invitation->setHash($hash)->setMemberId($login->getId())->setType($type)->setFreeSignup(isset($data['free_signup']) && $data['free_signup'] ? 1 : 0)->setCreationDate(time())->save($con); return $invitation; }