Newscoop\Subscription\SubscriptionRepository::addSections PHP Method

addSections() public method

Add section to subscription
public addSections ( Subscription $subscription, array $values ) : void
$subscription Subscription
$values array
return void
    public function addSections(Subscription $subscription, array $values)
    {
        $em = $this->getEntityManager();
        if ($values['language'] == 'select') {
            if (empty($values['sections_select'])) {
                throw new \InvalidArgumentException('No sections specified');
            }
            foreach ($values['sections_select'] as $num_lang) {
                list($num, $lang) = explode('_', $num_lang);
                $subscriptionSection = new SubscriptionSection();
                $subscriptionSection->setSubscription($subscription)->setSectionNumber($num)->setLanguage($em->getReference('Newscoop\\Entity\\Language', $lang))->setStartDate(new \DateTime($values['start_date']))->setDays($values['days'])->setPaidDays($values['days']);
                $em->persist($subscriptionSection);
            }
        } else {
            if (empty($values['sections_all'])) {
                throw new \InvalidArgumentException('No sections specified');
            }
            foreach ($values['sections_all'] as $num) {
                $subscriptionSection = new SubscriptionSection();
                $subscriptionSection->setSubscription($subscription)->setSectionNumber($num)->setStartDate(new \DateTime($values['start_date']))->setDays($values['days'])->setPaidDays($values['days']);
                $em->persist($subscriptionSection);
            }
        }
    }