/** * Save record * * @param boolean $redirect * @return void */ public function saveTask($redirect = false) { // Check for request forgeries Request::checkToken(); $fields = Request::getVar('fields', array(), 'post'); $fields = array_map('trim', $fields); $url = Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&task=edit&id=' . $fields['id'], false); // Initiate extended database class $row = new \Components\Publications\Tables\License($this->database); if (!$row->bind($fields)) { App::redirect($url, $row->getError(), 'error'); return; } $row->customizable = Request::getInt('customizable', 0, 'post'); $row->agreement = Request::getInt('agreement', 0, 'post'); $row->active = Request::getInt('active', 0, 'post'); $row->icon = $row->icon ? $row->icon : '/core/components/com_publications/site/assets/img/logos/license.gif'; if (!$row->id) { $row->ordering = $row->getNextOrder(); } // Check content if (!$row->check()) { $this->setError($row->getError()); $this->editTask($row); return; } // Store new content if (!$row->store()) { $this->setError($row->getError()); $this->editTask($row); return; } // Redirect to edit view? if ($redirect) { App::redirect($url, Lang::txt('COM_PUBLICATIONS_SUCCESS_LICENSE_SAVED')); } else { App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller, false), Lang::txt('COM_PUBLICATIONS_SUCCESS_LICENSE_SAVED')); } }