/** * Return data for the current newsletter * * @apiMethod GET * @apiUri /newsletters/current * @return void */ public function currentTask() { $result = array(); $database = \App::get('db'); $newsletterNewsletter = new Newsletter($database); // get the current newsletter $newsletter = $newsletterNewsletter->getCurrentNewsletter(); // build the newsletter based on campaign $result['id'] = $newsletter->issue; $result['title'] = $newsletter->name; $result['content'] = $newsletterNewsletter->buildNewsletter($newsletter); $obj = new stdClass(); $obj->newsletter = $result; $this->send($obj); }
/** * View Campaign Task * */ public function viewTask() { //set layout $this->view->setLayout('view'); //get the newsletter id $this->view->id = $this->id; //do we want to stip tags $stripTags = true; if (Request::getCmd('tmpl', '') == 'component') { $stripTags = false; } //instantiate campaign object $newsletterNewsletter = new Letter($this->database); //get the current campaign $currentNewsletter = $newsletterNewsletter->getCurrentNewsletter(); if (is_object($currentNewsletter)) { //do we have a newsletter id if ($this->view->id) { $newsletter = $newsletterNewsletter->getNewsletters($this->view->id); if (is_object($newsletter) && $newsletter->published) { $currentNewsletter = $newsletter; } } else { $this->view->id = $currentNewsletter->id; } //build newsletter $this->view->newsletter = $newsletterNewsletter->buildnewsletter($currentNewsletter, $stripTags); $this->view->newsletter = str_replace("{{UNSUBSCRIBE_LINK}}", '', $this->view->newsletter); } else { $this->view->newsletter = ''; } //are we trying to output the newsletter by itself? if (Request::getInt('no_html', 0)) { echo $this->view->newsletter; return; } //get list of campaigns $this->view->newsletters = $newsletterNewsletter->getNewsletters(); //build title $this->_buildTitle($currentNewsletter); //build pathway $this->_buildPathway($currentNewsletter); //set vars for view $this->view->title = $this->_title; //get errors if any if ($this->getError()) { $this->view->setError($this->getError()); } //display $this->view->display(); }