/** * Displays the view. * * @param string $tpl the template name * * @return void * @since 1.0 */ public function display($tpl = null) { // Set the document $this->setDocument(); $this->addToolbar(); // Set main ID first $aid = JRequest::getInt('automailing_id'); $this->assignRef('automailingId', $aid); // Get automailing form $model = $this->getModel(); $automailing = $model->getItem(); $this->assignRef('automailing', $automailing); JavascriptHelper::addObject('automailing', $automailing); $this->assignRef('form', $this->get('form', 'automailing')); // Get item list (series) $itemsModel = JModel::getInstance('AutomailingItems', 'NewsletterModel'); $itemsModel->automailingId = $aid; $amList = (object) array('items' => $itemsModel->getNormalizedItems($aid), 'state' => $itemsModel->getState(), 'listOrder' => $itemsModel->getState('list.ordering'), 'listDirn' => $itemsModel->getState('list.direction'), 'pagination' => $itemsModel->getPagination()); $this->assignRef('automailingItems', $amList); // Get targets list $targetsModel = JModel::getInstance('AutomailingTargets', 'NewsletterModel'); $targetsModel->automailingId = $aid; if ($tpl != 'details') { // Get ids for all available lists $listsModel = JModel::getInstance('Lists', 'NewsletterModel'); $allLists = $listsModel->getAllActive(); // Find all used lists $usedLists = $targetsModel->getRelatedLists($aid); // Diff the records $usedListIds = DataHelper::getColumnData($usedLists, 'list_id'); foreach ($allLists as $idx => $item) { if (in_array($item->list_id, $usedListIds)) { unset($allLists[$idx]); } } $amTargets = (object) array('items' => $targetsModel->getRelatedLists($aid, 'usePagination'), 'state' => $targetsModel->getState(), 'listOrder' => $targetsModel->getState('list.ordering'), 'listDirn' => $targetsModel->getState('list.direction'), 'pagination' => $targetsModel->getPagination()); $this->assignRef('automailingTargets', $amTargets); $this->assignRef('unusedLists', $allLists); } if ($tpl == 'details') { $this->assignRef('automailingTargets', $targetsModel->getNames($aid)); } parent::display($tpl); }