public function executeSubscriptionContent() { $inputDiscountCode = trim($this->getContext()->getRequest()->getParameter('codeForDiscount')); $discount = PcPromotionCodePeer::getDiscountByCode($inputDiscountCode, $promotionErrorCode); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'USD'); $this->oneYearUsdSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'GBP'); $this->oneYearGbpSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'EUR'); $this->oneYearEurSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'JPY'); $this->oneYearJpySubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 2); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'USD'); $this->threeMonthUsdSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 2); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'GBP'); $this->threeMonthGbpSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 2); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'EUR'); $this->threeMonthEurSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 2); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'JPY'); $this->threeMonthJpySubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::ID, 7); $this->testSubscription = PcPaypalProductPeer::doSelectOne($c); $this->yearlyUsdSaving = $this->threeMonthUsdSubscription->getItemPrice() * 4 - $this->oneYearUsdSubscription->getItemPrice(); $this->yearlyGbpSaving = $this->threeMonthGbpSubscription->getItemPrice() * 4 - $this->oneYearGbpSubscription->getItemPrice(); $this->yearlyEurSaving = $this->threeMonthEurSubscription->getItemPrice() * 4 - $this->oneYearEurSubscription->getItemPrice(); $this->yearlyJpySaving = $this->threeMonthJpySubscription->getItemPrice() * 4 - $this->oneYearJpySubscription->getItemPrice(); $this->niceExpiryDate = ''; $this->niceExpiryDateThreeMonthExtended = ''; $this->niceExpiryDateOneYearExtended = ''; $this->oneYearUsdDiscountedSubscription = null; $this->oneYearGbpDiscountedSubscription = null; $this->oneYearEurDiscountedSubscription = null; $this->oneYearJpyDiscountedSubscription = null; $loggedInUser = PcUserPeer::getLoggedInUser(); $this->promotionErrorCode = $promotionErrorCode; $this->discount = $discount; $this->hasDiscountCodeBeenEntered = false; if ($inputDiscountCode) { $this->hasDiscountCodeBeenEntered = true; } $this->isDiscountCodeValid = false; if ($discount > 0) { $this->isDiscountCodeValid = true; if ($loggedInUser) { $loggedInUser->setLastPromotionalCodeInserted($inputDiscountCode)->save(); } $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'USD'); $c->add(PcPaypalProductPeer::DISCOUNT_PERCENTAGE, $discount); $this->oneYearUsdDiscountedSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'GBP'); $c->add(PcPaypalProductPeer::DISCOUNT_PERCENTAGE, $discount); $this->oneYearGbpDiscountedSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'EUR'); $c->add(PcPaypalProductPeer::DISCOUNT_PERCENTAGE, $discount); $this->oneYearEurDiscountedSubscription = PcPaypalProductPeer::doSelectOne($c); $c = new Criteria(); $c->add(PcPaypalProductPeer::SUBSCRIPTION_TYPE_ID, 3); $c->add(PcPaypalProductPeer::ITEM_PRICE_CURRENCY, 'JPY'); $c->add(PcPaypalProductPeer::DISCOUNT_PERCENTAGE, $discount); $this->oneYearJpyDiscountedSubscription = PcPaypalProductPeer::doSelectOne($c); } $this->isSupporter = false; if ($loggedInUser) { $this->isSupporter = $loggedInUser->isSupporter(); $supporterAccount = PcSupporterPeer::retrieveByPK($loggedInUser->getId()); if ($this->isSupporter) { $this->niceExpiryDate = $supporterAccount->getExpiryDate('j') . ' ' . PcUtils::fromIndexToMonth($supporterAccount->getExpiryDate('n')) . ' ' . $supporterAccount->getExpiryDate('Y'); $newExpiryTimestamp = $supporterAccount->getNewExpiryDateAfterSubscription(PcSubscriptionTypePeer::retrieveByPK(2), $supporterAccount->getExpiryDate('Y-m-d')); $this->niceExpiryDateThreeMonthExtended = date('j', $newExpiryTimestamp) . ' ' . PcUtils::fromIndexToMonth(date('n', $newExpiryTimestamp)) . ' ' . date('Y', $newExpiryTimestamp); $newExpiryTimestamp = $supporterAccount->getNewExpiryDateAfterSubscription(PcSubscriptionTypePeer::retrieveByPK(3), $supporterAccount->getExpiryDate('Y-m-d')); $this->niceExpiryDateOneYearExtended = date('j', $newExpiryTimestamp) . ' ' . PcUtils::fromIndexToMonth(date('n', $newExpiryTimestamp)) . ' ' . date('Y', $newExpiryTimestamp); } } $userCulture = $this->getUser()->getCulture(); $this->cultureUrlPart = ''; if ($userCulture != SfConfig::get('app_site_defaultLang')) { $this->cultureUrlPart = '/' . $userCulture; } $this->isOnRegistration = $this->getContext()->getRequest()->getParameter('onRegistration') == '1'; /* if ($this->promoCode = $request->getParameter('promoCode')) { $this->hasPromoCodeBeenSubmitted = true; $promoCodeEntry = PcPromotionCodePeer::getValidPromoCodeEntry($this->promoCode); if (is_object($promoCodeEntry)) { $this->isPromoCodeValid = true; $buttonCode = $promoCodeEntry->getPaypalButtonCode(); $this->price *= 1 - ($promoCodeEntry->getDiscountPercentage() / 100); } } */ }