/**
  * 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();
 }
示例#2
0
 /**
  * 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'))) . "&nbsp;" . 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>&nbsp;" . htmlReady(StudipLitSearch::GetPluginDisplayName($plugin_name)) . "&nbsp;</b>";
                 if ($ret['found']) {
                     $content .= _("gefunden") . "&nbsp;";
                     $_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") . "&nbsp;";
                 }
                 $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;
 }