示例#1
0
 /**
  * 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);
 }