From 588610fa3552cee9cd954357bd233525ca79f925 Mon Sep 17 00:00:00 2001
From: jpkanter <kanter@ub.uni-leipzig.de>
Date: Thu, 30 Nov 2023 11:01:49 +0100
Subject: [PATCH] refs #24276 [fid] Project 'Fernleihe' - FID Base

* added language tokens for specific words
* added RecordDriver Logic to enable extraction of left-over GVI-IDs in the solr source
* changed module config for FID to enable new structure
* added default interlibrary loan template for FID (doesnt do anything without actual notice.phtml that implements it
* wrote template comments
---
 fid/languages/fid/de.ini                      | 10 ++++++
 fid/languages/fid/en.ini                      |  5 ++-
 .../get-it-box/interlibraryloan.phtml         | 36 +++++++++++++++++++
 3 files changed, 50 insertions(+), 1 deletion(-)
 create mode 100644 themes/fid/templates/get-it-box/interlibraryloan.phtml

diff --git a/fid/languages/fid/de.ini b/fid/languages/fid/de.ini
index 0dfa316adca..34a6e70fbe1 100644
--- a/fid/languages/fid/de.ini
+++ b/fid/languages/fid/de.ini
@@ -228,3 +228,13 @@ export_orders = "Bestellungen"
 
 required_fields_note = Mit einem * markierte Felder müssen ausgefüllt werden.
 user_list_empty = Die Nutzerliste ist leer.
+
+#24276
+fern_url_swb = https://fernleihe.boss.bsz-bw.de/Record/%%gvi%%#interlibraryloan
+fern_url_bvb = https://sfx.bib-bvb.de/sfx_bvb?ctx_enc=info:ofi/enc:UTF-8&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:Amtx:ctx&rft_id=info:gvi/%%gvi%%&rft.isbn=%%isbn%%&req_dat=%%isil%%&svc.ill=yes
+fern_url_kobv = https://flbs.kobv.de/flbk/login?k2_doc_nr=%%gvi%%&isil=%%isil%%
+fern_url_gbv = https://kxpt.k10plus.de/DB=2.1/FIDILL?FID-ID=%%gvi%%
+fern_url_hebis = https://portal.hebis.de/fidfl/%%gvi%%/%%isil%%
+fern_url_hbz = https://openurlgw.hbz-nrw.de/gw?ctx_enc=info:ofi/enc:UTF-8&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:Amtx:ctx&rft_id=info:gvi/%%gvi%%&rft.isbn=%%isbn%%&req_dat=%%isil%%&svc.ill=yes
+fern_url_gen = https://primogvi.kobv.de/fidfl?ctx_ver=Z39.88-2004&svc.ill=yes&rft_id=info:gvi/%%gvi%%
+fern_txt_button = Fernleihe ihres Verbundes
diff --git a/fid/languages/fid/en.ini b/fid/languages/fid/en.ini
index 1024910e03f..5e57bcce8eb 100644
--- a/fid/languages/fid/en.ini
+++ b/fid/languages/fid/en.ini
@@ -223,4 +223,7 @@ export_data = "additional Data"
 export_orders = "Orders"
 
 required_fields_note = All fields marked with an asterisk * are required.
-user_list_empty = The user list is empty.
\ No newline at end of file
+user_list_empty = The user list is empty.
+
+#24276
+fern_txt_button = Interlibrary loan of your network
diff --git a/themes/fid/templates/get-it-box/interlibraryloan.phtml b/themes/fid/templates/get-it-box/interlibraryloan.phtml
new file mode 100644
index 00000000000..71878b1a4c4
--- /dev/null
+++ b/themes/fid/templates/get-it-box/interlibraryloan.phtml
@@ -0,0 +1,36 @@
+<!-- fid: get-it-box - interlibraryloan -->
+<?php
+/**
+ * origin: --
+ *
+ * called by view helper/controller: HoldingsILS->getTemplate() (RecordTab)
+ * enriched by GetIt.php, implemented by get-it-box/notice.phtml
+ *
+ * usage:
+ * - displays, if available, inter library loan links in logged in status
+ * - url: /Record/[id]
+ *
+ * parent template: --
+ *
+ * configured in: getitbox.yaml
+ */
+?>
+<?php if (isset($getitConfig['showFernleihe']) && $getitConfig['showFernleihe']): ?>
+  <?php
+  $userDetails = $getitConfig['client']->requestUserDetails();
+  $libdDetails = $getitConfig['client']->requestLibraryById($userDetails->getHomeLibrary());
+
+  $isil = $libdDetails->getIsil();
+  $isbn = implode($this->driver->getISBNs());
+  $net = $libdDetails->getNetwork();
+  $gvi = $this->driver->tryMethod('getGviId', [$net]);
+  ?>
+  <?php if ($gvi): ?>
+      <h3><?=$this->translate("Interlibrary Loans")?></h3>
+      <a href="<?=$this->translate("fid::fern_url_{$net}", ['%%isbn%%' => $isbn, '%%gvi%%' => $gvi, '%%isil%%' => $isil]);?>">
+          <?=$this->translate('fid::fern_txt_button')?>
+      </a>
+      <br>
+  <?php endif; ?>
+<?php endif; ?>
+<!-- fid: get-it-box - interlibraryloan - END -->
-- 
GitLab