/**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $user = PcUserPeer::getLoggedInUser();
     $this->hasApiDetails = false;
     if (is_object($apiDetails = PcApiAppPeer::retrieveByUserId($user->getId()))) {
         $this->hasApiDetails = true;
         $this->apiDetails = $apiDetails;
     }
     $this->user = $user;
     $this->niceExpiryDate = '';
     if ($user->isSupporter()) {
         $supporter = PcSupporterPeer::retrieveByPK($user->getId());
         $this->niceExpiryDate = $supporter->getExpiryDate('j') . ' ' . PcUtils::fromIndexToMonth($supporter->getExpiryDate('n')) . ' ' . $supporter->getExpiryDate('Y');
     }
 }
 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);
        }
         }
     */
 }
Example #3
0
 /**
  * Gets a single PcSupporter object, which is related to this object by a one-to-one relationship.
  *
  * @param      PropelPDO $con
  * @return     PcSupporter
  * @throws     PropelException
  */
 public function getPcSupporter(PropelPDO $con = null)
 {
     if ($this->singlePcSupporter === null && !$this->isNew()) {
         $this->singlePcSupporter = PcSupporterPeer::retrieveByPK($this->id, $con);
     }
     return $this->singlePcSupporter;
 }