/** * Process the submission of the edit favorite form. * * @param \VuFind\Db\Row\User $user Logged-in user * @param \VuFind\RecordDriver\AbstractBase $driver Record driver for favorite * @param int $listID List being edited (null * if editing all favorites) * * @return object */ protected function processEditSubmit($user, $driver, $listID) { $lists = $this->params()->fromPost('lists'); $tagParser = $this->getServiceLocator()->get('VuFind\\Tags'); foreach ($lists as $list) { $tags = $this->params()->fromPost('tags' . $list); $driver->saveToFavorites(['list' => $list, 'mytags' => $tagParser->parse($tags), 'notes' => $this->params()->fromPost('notes' . $list)], $user); } // add to a new list? $addToList = $this->params()->fromPost('addToList'); if ($addToList > -1) { $driver->saveToFavorites(['list' => $addToList], $user); } $this->flashMessenger()->setNamespace('info')->addMessage('edit_list_success'); $newUrl = is_null($listID) ? $this->url()->fromRoute('myresearch-favorites') : $this->url()->fromRoute('userList', ['id' => $listID]); return $this->redirect()->toUrl($newUrl); }