/** * constructor * * calls the base class constructor * @access public */ function StudipLitListViewAdmin($range_id) { $this->use_aging = true; $this->format_info = _("Felder müssen in geschweiften Klammern (z.B. {dc_title}) angegeben werden.\n") . _("Felder und Text, der zwischen senkrechten Strichen steht, wird nur angezeigt, wenn das angegebene Feld nicht leer ist. (z.B. |Anmerkung: {note}|)\n") . _("Folgende Felder können angezeigt werden:\n") . _("Titel - dc_title\n") . _("Verfasser oder Urheber - dc_creator\n") . _("Thema und Stichwörter - dc_subject\n") . _("Inhaltliche Beschreibung - dc_description\n") . _("Verleger, Herausgeber - dc_publisher\n") . _("Weitere beteiligten Personen und Körperschaften - dc_contributor\n") . _("Datum - dc_date\n") . _("Ressourcenart - dc_type\n") . _("Format - dc_format\n") . _("Ressourcen-Identifikation - dc_identifier\n") . _("Quelle - dc_source\n") . _("Sprache - dc_language\n") . _("Beziehung zu anderen Ressourcen - dc_relation\n") . _("Räumliche und zeitliche Maßangaben - dc_coverage\n") . _("Rechtliche Bedingungen - dc_rights\n") . _("Zugriffsnummer - accession_number\n") . _("Jahr - year\n") . _("alle Autoren - authors\n") . _("Herausgeber mit Jahr - published\n") . _("Anmerkung - note\n") . _("link in externes Bibliothekssystem - external_link\n"); parent::TreeView("StudipLitList", $range_id); //calling the baseclass constructor $this->clip_board = StudipLitClipBoard::GetInstance(); }
/** * Displays page to add new or edit existing literature element */ public function edit_element_action() { if (Request::option('reload')) { $this->reload = true; } if (Request::option('cmd') == "new_entry") { $_catalog_id = "new_entry"; } else { $_catalog_id = Request::option('_catalog_id', "new_entry"); } if (Request::option('return_range')) { $this->return_range = Request::option('return_range'); URLHelper::addLinkParam('return_range', $this->return_range); } if ($_catalog_id == "new_entry") { $title = _("Literatureintrag anlegen"); } else { $title = _("Literatureintrag bearbeiten"); } PageLayout::setTitle($title); Navigation::activateItem('/tools/literature'); //dump data into db if $_catalog_id points to a search result if ($_catalog_id[0] == "_") { $parts = explode("__", $_catalog_id); if ($fields = $_SESSION[$parts[0]][$parts[1]]) { $cat_element = new StudipLitCatElement(); $cat_element->setValues($fields); $cat_element->setValue("catalog_id", "new_entry"); $cat_element->setValue("user_id", "studip"); if ($existing_element = $cat_element->checkElement()) { $cat_element->setValue('catalog_id', $existing_element); } $cat_element->insertData(); $_catalog_id = $cat_element->getValue("catalog_id"); $_SESSION[$parts[0]][$parts[1]]['catalog_id'] = $_catalog_id; unset($cat_element); } } if (Request::option('cmd') == 'clone_entry') { $_the_element = StudipLitCatElement::GetClonedElement($_catalog_id); if ($_the_element->isNewEntry()) { $_msg = "msg§" . _("Der Eintrag wurde kopiert, Sie können die Daten jetzt ändern.") . "§"; $_msg .= "info§" . _("Der kopierte Eintrag wurde noch nicht gespeichert.") . "§"; //$old_cat_id = $_catalog_id; $_catalog_id = $_the_element->getValue('catalog_id'); } else { $_msg = "error§" . _("Der Eintrag konnte nicht kopiert werden!.") . "§"; } } if (!is_object($_the_element)) { $_the_element = new StudipLitCatElement($_catalog_id, true); } $_the_form = $_the_element->getFormObject(); $_the_clipboard = StudipLitClipBoard::GetInstance(); $_the_clip_form = $_the_clipboard->getFormObject(); if (isset($old_cat_id) && $_the_clipboard->isInClipboard($old_cat_id)) { $_the_clipboard->deleteElement($old_cat_id); $_the_clipboard->insertElement($_catalog_id); } $_the_clip_form->form_fields['clip_cmd']['options'][] = array('name' => _("In Merkliste eintragen"), 'value' => 'ins'); $_the_clip_form->form_fields['clip_cmd']['options'][] = array('name' => _("Markierten Eintrag bearbeiten"), 'value' => 'edit'); if ($_the_form->IsClicked("reset") || Request::option('cmd') == "new_entry") { $_the_form->doFormReset(); } if ($_the_form->IsClicked("delete") && $_catalog_id != "new_entry" && $_the_element->isChangeable()) { if ($_the_element->reference_count) { $_msg = "info§" . sprintf(_("Sie können diesen Eintrag nicht löschen, da er noch in %s Literaturlisten referenziert wird."), $_the_element->reference_count) . "§"; } else { $_msg = "info§" . _("Wollen Sie diesen Eintrag wirklich löschen?") . "<br>" . LinkButton::createAccept(_('Ja'), URLHelper::getURL('?cmd=delete_element&_catalog_id=' . $_catalog_id), array('title' => _('löschen'))) . " " . LinkButton::createCancel(_('Abbrechen'), URLHelper::getURL('?_catalog_id=' . $_catalog_id), array('title' => _('abbrechen'))) . "§"; } } if (Request::option('cmd') == "delete_element" && $_the_element->isChangeable() && !$_the_element->reference_count) { $_the_element->deleteElement(); $this->reload = true; } if (Request::option('cmd') == "in_clipboard" && $_catalog_id != "new_entry") { $_the_clipboard->insertElement($_catalog_id); $this->reload = true; } if (Request::option('cmd') == "check_entry") { $lit_plugin_value = $_the_element->getValue('lit_plugin'); $check_result = StudipLitSearch::CheckZ3950($_the_element->getValue('accession_number')); $content = "<div style=\"font-size:70%\"<b>" . _("Verfügbarkeit in externen Katalogen:") . "</b><br>"; if (is_array($check_result)) { foreach ($check_result as $plugin_name => $ret) { $content .= "<b> " . htmlReady(StudipLitSearch::GetPluginDisplayName($plugin_name)) . " </b>"; if ($ret['found']) { $content .= _("gefunden") . " "; $_the_element->setValue('lit_plugin', $plugin_name); if ($link = $_the_element->getValue("external_link")) { $content .= formatReady(" [" . $_the_element->getValue("lit_plugin_display_name") . "]" . $link); } else { $content .= _("(Kein Link zum Katalog vorhanden.)"); } } elseif (count($ret['error'])) { $content .= '<span style="color:red;">' . htmlReady($ret['error'][0]['msg']) . '</span>'; } else { $content .= _("<u>nicht</u> gefunden") . " "; } $content .= "<br>"; } } $content .= "</div>"; $_the_element->setValue('lit_plugin', $lit_plugin_value); $_msg = "info§" . $content . "§"; } if ($_the_form->IsClicked("send")) { $_the_element->setValuesFromForm(); if ($_the_element->checkValues()) { $_the_element->insertData(); $this->reload = true; } } if ($_the_clip_form->isClicked("clip_ok")) { if ($_the_clip_form->getFormFieldValue("clip_cmd") == "ins" && $_catalog_id != "new_entry") { $_the_clipboard->insertElement($_catalog_id); } if ($_the_clip_form->getFormFieldValue("clip_cmd") == "edit") { $marked = $_the_clip_form->getFormFieldValue("clip_content"); if (count($marked) && $marked[0]) { $_the_element->getElementData($marked[0]); } } $_the_clipboard->doClipCmd(); } $_catalog_id = $_the_element->getValue("catalog_id"); if (!$_the_element->isChangeable()) { PageLayout::postMessage(MessageBox::info(_('Sie haben diesen Eintrag nicht selbst vorgenommen, und dürfen ihn daher nicht verändern! Wenn Sie mit diesem Eintrag arbeiten wollen, können Sie sich eine persönliche Kopie erstellen.'))); } $_msg .= $_the_element->msg; $_msg .= $_the_clipboard->msg; $this->msg = $_msg; $this->catalog_id = $_catalog_id; $this->element = $_the_element; $this->treeview = $_the_treeview; $this->tree = $_the_tree; $this->clipboard = $_the_clipboard; $this->clip_form = $_the_clip_form; $this->form = $_the_form; }