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);
}
}
}