/** * Save Newsletter Story Task * * @return void */ public function saveTask($nid = 0) { //get story $story = Request::getVar("story", array(), 'post', 'ARRAY', JREQUEST_ALLOWHTML); $type = Request::getVar("type", "primary"); $id = !empty($story) && isset($story['nid']) ? $story['nid'] : $nid; // If autogenerated, use its handler if ($type == "autogen") { $this->saveAutoTask(); } //are we working with a primary or secondary story if ($type == "primary") { $newsletterStory = new PrimaryStory($this->database); } else { $newsletterStory = new SecondaryStory($this->database); } //check to make sure we have an order if (!isset($story['order']) || $story['order'] == '' || $story['order'] == 0) { $currentHighestOrder = $newsletterStory->_getCurrentHighestOrder($id); $newOrder = $currentHighestOrder + 1; $story['order'] = $newOrder; } //save the story if (!$newsletterStory->save($story)) { $this->setError($newsletterStory->getError()); $this->editTask(); return; } //inform and redirect App::redirect(Route::url('index.php?option=com_newsletter&controller=newsletter&task=edit&id=' . $newsletterStory->nid, false), Lang::txt('COM_NEWSLETTER_STORY_SAVED_SUCCESS')); }