/** * Get json representation of subscription section * * @param Newscoop\Subscription\Section $section * @return array */ public function SubscriptionSectionJson(\Newscoop\Subscription\Section $section) { return array('id' => $section->getId(), 'section' => array('number' => $section->getSectionNumber(), 'name' => $section->getName()), 'language' => $section->hasLanguage() ? array('id' => $section->getLanguageId(), 'name' => $section->getLanguageName()) : null, 'startDate' => $section->getStartDate()->format('Y-m-d'), 'days' => $section->getDays(), 'paidDays' => $section->getPaidDays()); }
public function getSubscription() { $this->__load(); return parent::getSubscription(); }
/** * Add sections * * @param array $values * @param Newscoop\Entity\Publication $publication * @return void */ public function addSections(array $values, \Newscoop\Entity\Publication $publication) { $languages = array(); if (!empty($values['individual_languages']) && $values['individual_languages']) { $languages = $values['languages']; if (empty($languages)) { throw new \InvalidArgumentException("No languages set for individual languages"); } } foreach ($publication->getIssues() as $issue) { if (!empty($languages) && !in_array($issue->getLanguageId(), $languages)) { continue; } foreach ($issue->getSections() as $section) { if ($this->hasSection($section, $languages)) { continue; } $subSection = new Section($this, $section->getNumber()); $subSection->setStartDate(new \DateTime($values['start_date'])); $subSection->setDays($values['days']); if ($this->isTrial() || $values['type'] === self::TYPE_PAID_NOW) { $subSection->setPaidDays($values['days']); } if (!empty($languages)) { $subSection->setLanguage($issue->getLanguage()); } } } }