From 7d0d4f01e604f88d0b287eab48acadfb4eead468 Mon Sep 17 00:00:00 2001
From: Robert Lange <robert.lange@uni-leipzig.de>
Date: Wed, 9 Oct 2019 11:21:17 +0200
Subject: [PATCH] refs #16031 [fid_adlr] add basic content for home page

* add basic structure for home page
* add de / en translations for home page texts
* import rss feed => todo: mv to myresearch controller
* fix some css bugs: remove transitions
* fix basic styling for xl screens
** keep home text centered
* fix display menu toggle for edge
** problem with transitions still exists - need to disable collaps-timing
* set z-index for header-links
* fix menu z-index for xs
* disable transitions to speed up main menu ecetera
* supplement to home page: xs and sm text sizes
* refactor texts on home page
** transform menu 1 and 2 uppercase
** lower line-height of Blog headline
** databases and new releases in ubuntu mono
** services sub headlines in ubuntu mono / separate div
* fix font color and offsets in headlines
* refactor blog import
** extract url data strings to main config
** rough catching of exceptions in rss helper
** set fallback = direct link to blog
* fix line-height of services headlines for md screen - use same as lg
---
 fid_adlr/config/vufind/config.ini           |  10 +-
 module/fid_adlr/config/module.config.php    |  10 +
 module/fid_adlr/src/Helper/Rss.php          |  70 ++++++
 themes/fid_adlr/languages/de.ini            |  17 ++
 themes/fid_adlr/languages/en.ini            |  17 +-
 themes/fid_adlr/scss/_customMixins.scss     |   8 +-
 themes/fid_adlr/scss/_customVariables.scss  |  18 +-
 themes/fid_adlr/scss/compiled.scss          | 211 +++++++++++++++--
 themes/fid_adlr/templates/header.phtml      |   3 +
 themes/fid_adlr/templates/search/home.phtml | 239 ++++++++++++++------
 10 files changed, 500 insertions(+), 103 deletions(-)
 create mode 100644 module/fid_adlr/src/Helper/Rss.php

diff --git a/fid_adlr/config/vufind/config.ini b/fid_adlr/config/vufind/config.ini
index f468c6d2d9a..bc880804a06 100644
--- a/fid_adlr/config/vufind/config.ini
+++ b/fid_adlr/config/vufind/config.ini
@@ -30,10 +30,6 @@ offcanvas = true
 method = fid
 recover_password = true
 
-[Authentication]
-method = fid
-recover_password = true
-
 [Catalog]
 driver = fid
 
@@ -105,5 +101,11 @@ FAZ = "https://zugangsproxy.ub.uni-leipzig.de/login?url=https://www.faz-corporat
 SZ = "https://zugangsproxy.ub.uni-leipzig.de/login?url=https://archiv.szarchiv.de"
 WISO = "https://zugangsproxy.ub.uni-leipzig.de/login?url=https://www.wiso-net.de/"
 
+[RssConsumer]
+base_url = "https://katalog.adlr.link"
+fallback_url = "https://blog.adlr.link"
+xml_doc = "blog_adlr_link_feed.xml"
+
+
 ;[RecordPermissions]
 ;WorldcatTab[] = "getSourceID:0"
diff --git a/module/fid_adlr/config/module.config.php b/module/fid_adlr/config/module.config.php
index ed35117f598..c291ff51dff 100644
--- a/module/fid_adlr/config/module.config.php
+++ b/module/fid_adlr/config/module.config.php
@@ -22,7 +22,9 @@ namespace fid_adlr\Module\Configuration;
 
 use fid_adlr\Controller\MyResearchController;
 use fid_adlr\Controller\MyResearchControllerFactory;
+use fid_adlr\Helper\Rss;
 use Zend\Router\Http\Regex;
+use Zend\ServiceManager\Factory\InvokableFactory;
 
 $config = [
     'controllers'        => [
@@ -33,6 +35,14 @@ $config = [
             'my-research' => MyResearchController::class,
         ],
     ],
+    'view_helpers' => [
+        'aliases' => [
+            'rss' => Rss::class,
+        ],
+        'factories' => [
+            Rss::class => InvokableFactory::class,
+        ],
+    ],
     'router'             => [
         'routes' => [
             'myresearch' => [
diff --git a/module/fid_adlr/src/Helper/Rss.php b/module/fid_adlr/src/Helper/Rss.php
new file mode 100644
index 00000000000..ba39b0ed4dc
--- /dev/null
+++ b/module/fid_adlr/src/Helper/Rss.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Copyright (C) 2019 Leipzig University Library
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * @author   Robert Lange <lange@ub.uni-leipzig.de>
+ * @license  http://opensource.org/licenses/gpl-2.0.php GNU GPLv2
+ */
+
+namespace fid_adlr\Helper;
+
+use DOMDocument;
+use Zend\View\Helper\AbstractHelper;
+
+class Rss extends AbstractHelper
+{
+    /**
+     * @param array of rss origin data
+     * @return array of rss feeds
+     */
+    public function load($rssOrigin)
+    {
+        $baseUrl    = $rssOrigin["base_url"] ?? "";
+        $fallback   = $rssOrigin["fallback_url"] ?? "";
+        $docPath    = $rssOrigin["xml_doc"] ?? "";
+
+        $rssDoc = new DOMDocument();
+        $feeds = array();
+        try {
+            if ($rssDoc->load($baseUrl . '/' . $docPath)) {
+                $limit = 3;
+                $n = 0;
+
+                foreach ($rssDoc->getElementsByTagName('item') as $node) {
+                    $item = array(
+                        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
+                        'link' => $node->getElementsByTagName('link')->item(0)->nodeValue
+                    );
+                    array_push($feeds, $item);
+
+                    if (++$n >= $limit) {
+                        break;
+                    }
+                }
+            }
+        } catch (\Exception $ex) {
+            if ($fallback) {
+                $item = array(
+                    'title' => $fallback,
+                    'link' => $fallback
+                );
+                array_push($feeds, $item);
+            }
+        }
+
+        return $feeds;
+    }
+}
diff --git a/themes/fid_adlr/languages/de.ini b/themes/fid_adlr/languages/de.ini
index c72d92d9611..6c2af50f7d6 100644
--- a/themes/fid_adlr/languages/de.ini
+++ b/themes/fid_adlr/languages/de.ini
@@ -5,6 +5,7 @@ Username = E-Mail-Adresse
 ; DBIS / Licenses
 dbis_hint = "Hinweis"
 dbis_licenses_name = "Zugang zu fachspezifischen und lizenzierten Datenbanken"
+dbis_licenses_name2 = "Zugang zu Pressedatenbanken, E-Books (adlr.link-Lizenzen)"
 dbis_name = "Fachdatenbanken"
 dbis_text = "Diese Übersicht zeigt Ihnen alle frei verfügbaren Datenbanken aus DBIS zum Fachgebiet der Kommunikations- und Medienwissenschaft an. Wenn Sie mit Ihrem Nutzerkonto eingeloggt sind, werden Ihnen zusätzlich die bei Ihrer Heimatbibliothek lizenzierten Datenbanken angezeigt. Diese sind i. d. R. nur über Ihr jeweiliges Universitätsnetz bzw. per VPN-Zugang abrufbar."
 licenses = "Zugang zu Pressedatenbanken, E-Books (Lizenzen)"
@@ -26,3 +27,19 @@ licenses_not_available = "Diese Lizenzen sind derzeit leider nicht verfügbar."
 licenses_notice = "<strong>Hinweis:</strong><br />Bitte nutzen Sie die Zeitungsarchive nur für Recherchen in üblichen Maßen. Die eingeräumten Lizenzen sind nicht für einen massenhaften Abruf von Zeitungsseiten ausgelegt (auch nicht für Textmining). Ein Abruf über das übliche Maß hinaus führt zu einem frühen Erschöpfen der lizenzierten Kontingente und geht zu Lasten Ihrer Kolleginnen und Kollegen.<br /><br />Bitte kontaktieren Sie uns immer vorab per E-Mail oder über unser <a data-lightbox href="../feedback">Kontaktformular</a>, wenn Sie für ein Forschungsprojekt eine größere Anzahl an Dokumenten abrufen bzw. Textmining nutzen möchten. Wir setzen uns dann mit Ihnen in Verbindung.<br /><br />Herzlichen Dank für Ihr Verständnis!"
 licenses_search = "Pressedatenbanken, E-Books"
 licenses_text = "Hier haben Sie Zugang zu Angeboten, die speziell lizenziert wurden. Die Kosten übernehmen wir für Sie."
+
+; Home Section
+Adlr Home Register Free = "Kostenlos registrieren"
+Adlr Home Research = "In über 1,5 Mio. Einträgen recherchieren"
+Adlr Home Info = "adlr.link ist der Fachinformationsdienst für die Medien-, Kommunikations- und Filmwissenschaft.<br />Alle, die in diesen Fächern forschen, lehren oder studieren, können hier in über 1,5 Mio. Einträgen nach Büchern, Zeitschriftenartikeln, AV-Medien und Onlineressourcen recherchieren. Unser Index besteht aus über 35 speziellen auf die Fächer zugeschnittenen Datenquellen, die ständig von uns aktualisiert und erweitert werden."
+Adlr Home Blog = "Neues aus unserem Blog"
+Adlr Home New Releases Text = "Verlags-Neuerscheinungen der letzten 30 Tage zum Bestellen"
+Adlr Home Services = "Services von adlr.link"
+Adlr Home Services Access Title = "adlr.link ermöglicht Zugang"
+Adlr Home Services Access Text = "Bei fast allen Büchern und Artikeln zeigt adlr.link Ihnen an, ob das Medium bereits im Bestand Ihrer eigenen Hochschulbibliothek ist. Sollte dies einmal nicht der Fall sein, dann können Sie den Artikel oder eine Teilkopie mit einem Klick bestellen. Wenn Sie eine Ressource einmal gar nicht finden sollten, schreiben Sie uns– und wir kümmern uns."
+Adlr Home Services Inform Title = "adlr.link informiert über Neues"
+Adlr Home Services Inform Text = "Jede Woche gibt es rund 40 fachrelevante Neuerscheinungen. Sie können neue Bücher mit einem Klick bestellen und wir liefern diese dann direkt an Sie, leihweise für 30 Tage."
+Adlr Home Services Open Access Title = "adlr.link fördert Open Access"
+Adlr Home Services Open Access Text = "Zahlreiche Ressourcen, die man über adlr.link findet, sind frei zugänglich. Wir kennzeichnen außerdem Open Access-Dokumente bei den Suchergebnissen besonders."
+Adlr Home Services Resources Title = "adlr.link lizenziert Ressourcen"
+Adlr Home Services Resources Text = "Über adlr.link haben alle Nutzerinnen und Nutzer, die hauptberuflich in der Wissenschaft arbeiten, Zugriff auf die spezielle FID-Lizenzen. Außerdem haben wir ein ständig wachsendes Angebot an eigens für adlr.link lizenzierten E-Books."
diff --git a/themes/fid_adlr/languages/en.ini b/themes/fid_adlr/languages/en.ini
index c2a15ba2246..86e12c7ff7f 100644
--- a/themes/fid_adlr/languages/en.ini
+++ b/themes/fid_adlr/languages/en.ini
@@ -2,7 +2,6 @@ Forgot Password = Forgot your password?
 Services for subject specialists = Services for subject specialists
 Username = E-Mail Address
 
-
 ; DBIS / Licenses
 dbis_hint = "Notice"
 dbis_licenses_name = "Subject-Specific and Licensed Databases"
@@ -25,3 +24,19 @@ licenses_not_available = "Licensed resources temporarily not available."
 licenses_notice = "<strong>Note:</strong><br />Please use the newspaper archives for normal searches only. The licences granted are not designed for mass retrieval of newspaper pages (e.g. for text mining). Downloads beyond the usual level will lead to premature expiry of the licensed quotas and is at the expense of your colleagues.<br /><br />Please always contact us in advance by e-mail or via our <a data-lightbox href="../feedback">contact form</a> if you would like to retrieve a larger number of documents for a research project or use text mining. We will then get in touch with you.<br /><br />Thank you for your understanding."
 licenses_search = "Press Databases, E-Books"
 licenses_text = "Here you have access to products, which were especially licensed for registered users. All costs are covered."
+
+; Home Section
+Adlr Home Register Free = "Register for free"
+Adlr Home Research = "Search in over 1.5 million entries"
+Adlr Home Info = "adlr.link is the Specialised Information Service for media, communication and film studies.<br /><br />Everyone who researches, teaches or studies in these disciplines can search in over 1.5 million entries for books, journal articles, AV media and online resources. Our index consists of more than 35 special data sources tailored to the individual subjects, which are constantly updated and expanded by us."
+Adlr Home Blog = "News from our blog"
+Adlr Home New Releases Text = "Publishing new releases of the last 30 days to order"
+Adlr Home Services = "Services of adlr.link"
+Adlr Home Services Access Title = "adlr.link enables access"
+Adlr Home Services Access Text = "For almost all books and articles, adlr.link shows you whether the medium is already in the holdings of your own university library. If this is not the case, you may order the article or a partial copy with one click. If you do not find a resource at all, write us and we will take care of it."
+Adlr Home Services Inform Title = "adlr.link informs about novelties"
+Adlr Home Services Inform Text = "Every week there are around 40 new publications of relevance to the field. You can order new books with one click and we will deliver them directly to you, on loan for 30 days."
+Adlr Home Services Open Access Title = "adlr.link promotes Open Access"
+Adlr Home Services Open Access Text = "Many of the resources found via adlr.link are freely accessible. We also mark Open Access documents specifically in the search results."
+Adlr Home Services Resources Title = "adlr.link licenses resources"
+Adlr Home Services Resources Text = "Via adlr.link, all users who work full-time in science have access to special FID licenses. In addition, we have a constantly growing range of e-books licensed specifically for adlr.link."
diff --git a/themes/fid_adlr/scss/_customMixins.scss b/themes/fid_adlr/scss/_customMixins.scss
index 14a2e632189..22b46c8434f 100644
--- a/themes/fid_adlr/scss/_customMixins.scss
+++ b/themes/fid_adlr/scss/_customMixins.scss
@@ -125,8 +125,8 @@
   z-index: z-index(navigation-overlay, 0);
   @media screen and (min-width: $screen-sm-min) {
     padding-top: 0;
-    top: calc(#{$navbar-header-height} - #{$content-top-padding});
-    transition: all .2s ease-out;
+    top: 60px;
+    transition: none !important;
   }
 
   a {
@@ -138,7 +138,7 @@
     margin-left: $navbar-margin-left;
     position: relative;
     text-decoration: none;
-    transition: all .2s ease-out;
+    transition: none !important;
     @media screen and (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
       font-size: $font-size-menu-sm;
       left: calc(#{$logo-max-width} / 2);
@@ -153,7 +153,7 @@
       letter-spacing: 2.87px;
       line-height: em(53px);
       top: 100px;
-      transition: all .2s ease-out;
+      transition: none !important;
     }
   }
   li {
diff --git a/themes/fid_adlr/scss/_customVariables.scss b/themes/fid_adlr/scss/_customVariables.scss
index d4074e1bdaf..6b987556069 100644
--- a/themes/fid_adlr/scss/_customVariables.scss
+++ b/themes/fid_adlr/scss/_customVariables.scss
@@ -193,8 +193,8 @@ $header-bg-color: $midnight;
 //// ALERTS (see states, above, and compiled.scss - Code needs to go there to overwrite defaults)
 
 //// ANIMATIONS
-$transition-delay: .5s;
-$transition-duration: .5s;
+$transition-delay: .1s;
+$transition-duration: .1s;
 //// ANIMATIONS - END
 
 //// FORM ELEMENTS
@@ -320,7 +320,9 @@ $home-text-box-height-lg: 470px;
 $home-text-bottom-padding-xs: 500px;
 $home-text-bottom-padding-sm: 400px;
 $home-text-bottom-padding-lg: 700px;
-$home-text-left-margin-lg: 150px;
+$home-text-left-margin-lg: 0;
+
+$home-services-sub-headline-offset: 50px;
 
 
 //// Breadcrumbs
@@ -423,12 +425,14 @@ $pagination-flexbox-basis-20-percent: 20%;
 //// Z-Index
 $z-index: (
   banner              : 200,
-    navbar-brand      :  10, // => 210
+    menubar           : 350,
+    search            : 100,
+    search affix      : 300,
+    sbox-dd-menu      :   0,
   filter-dropdown     : 500,
+  navbar-brand        : 500,
+  navbar-header-link  : 500,
   navigation-overlay  : 400,
-  search              : 100,
-  search affix        : 300,
-    sbox-dd-menu      :   0, // => 100
 );
 //// Z-Index - END
 
diff --git a/themes/fid_adlr/scss/compiled.scss b/themes/fid_adlr/scss/compiled.scss
index de050a02772..1e3e6fce155 100644
--- a/themes/fid_adlr/scss/compiled.scss
+++ b/themes/fid_adlr/scss/compiled.scss
@@ -318,13 +318,13 @@ a {
   min-width: 30px;
   vertical-align: bottom;
   @media screen and (max-width: $screen-md-max) {
-    font-size: calc(#{$font-size-base} * 1.7);
+    font-size: $font-size-h3;
     font-weight: 500;
     min-width: 35px;
   }
 }
 .icon.icon-settings {
-  font-size: calc(#{$font-size-base} * 1.2);
+  font-size: $font-size-large;
 }
 
 .btn-primary .icon {
@@ -403,6 +403,7 @@ header,
     display: inline-flex;
     justify-content: flex-end;
     width: 100%;
+    z-index: z-index(menubar, 0);
 
     // ++++++  disable transitions for menu
     .collapsed, &.collapsed {
@@ -559,6 +560,7 @@ header.collapse:not(.in) .menubar .text-open, header.collapsing .text-open, .dro
     outline: none;
     position: absolute;
     top: 31px;
+    z-index: z-index(navbar-brand, 1);
   }
 
   @media screen and (max-width: $screen-md-max) {
@@ -585,6 +587,7 @@ header.collapse:not(.in) .menubar .text-open, header.collapsing .text-open, .dro
   @extend .navbar-toggle;
   display: inherit;
   margin-right: 0;
+  z-index: z-index(navbar-header-link, 0);
   @media screen and (min-width: $screen-lg-min) {
     @include default-navbar-link-font;
   }
@@ -903,7 +906,7 @@ body:not(.template-name-home) {
 
   &.collapsing {
     display: none;
-    transition: unset;
+    transition: none !important;
   }
 
   .sbox-dd-menu {
@@ -1021,18 +1024,6 @@ body:not(.template-name-home) {
 }
 // ++++ SEARCH TABS - END
 
-
-// search (box) and elements in affix mode (on scrolling)
-.search.affix {
-  @include fixed-navbar-search;
-  @media screen and (min-width: $screen-sm-min) {
-    .searchbox {
-      background: transparent;
-    }
-  }
-}
-// search (box) and elements in affix mode - END
-
 // ++++ SEARCH BOX - END
 
 // ++++++ Search input field
@@ -1120,6 +1111,7 @@ input.searchForm_lookfor {
     }
 
     .find-label {
+      color: $black;
       display: inherit; // show find text as default, but not at fixed-navbar-search
     }
 
@@ -1567,7 +1559,7 @@ input.searchForm_lookfor {
   &.collapsing {
     height: 0;
     min-height: 0;
-    transition: unset;
+    transition: none !important;
   }
   @media screen and (max-width: $screen-xs-max) {
     .mainbody {
@@ -1821,6 +1813,193 @@ ul.pagination {
 // Pagination (multiple pages) - END
 // PAGE ELEMENTS (Top --> Down) - END
 
+// +++++ Home Page - START
+.home.container {
+  margin-bottom: 100px;
+  margin-top: 50px;
+
+  @media screen and (min-width: $screen-md-min) {
+    margin-top: 100px;
+  }
+
+  h1, h3 {
+    color: $azure;
+    @media screen and (max-width: $screen-xs-max) {
+      letter-spacing: 1.7px;
+      line-height: 50px;
+      padding-bottom: 10px;
+    }
+
+    @media screen and (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
+      letter-spacing: 1.7px;
+      line-height: 50px;
+      padding-bottom: 10px;
+    }
+  }
+
+  h1 {
+    @media screen and (max-width: $screen-sm-max) {
+      font-size: $font-size-menu-sm;
+    }
+  }
+
+  h3 {
+    @media screen and (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
+      font-size: 34px;
+    }
+    line-height: 34px;
+  }
+
+  .black {
+    color: $black;
+  }
+
+  .blog {
+    a {
+      font-family: $font-family-sans-serif;
+      font-size: $font-size-large;
+      text-decoration: underline;
+    }
+    h2 {
+      font-size: $font-size-menu-lg;
+      line-height: 50px;
+      padding-bottom: 30px;
+      @media screen and (max-width: $screen-md-max) {
+        font-size: 30px;
+      }
+    }
+  }
+
+  .box {
+    border: 8px solid $seafoam;
+    box-sizing: border-box;
+    margin-top: 30px;
+    padding: 30px;
+  }
+
+  .circle-outline {
+    background: $white;
+    border: 8px solid $azure;
+    border-radius: 50%;
+    color: $azure;
+    display: table-cell;
+    height: 75px;
+    text-align: center;
+    vertical-align: middle;
+    width: 75px;
+  }
+
+  .databases, .new-items {
+    a {
+      font-family: $font-family-monospace;
+      letter-spacing: 2px;
+      i {
+        font-size: 25px;
+      }
+      span {
+        // font-family: $font-family-monospace;
+        font-size: $font-size-base;
+        font-weight: bold;
+        letter-spacing: 2px;
+        text-transform: uppercase;
+      }
+    }
+    span {
+      font-size: $font-size-base;
+    }
+    &.box {
+      margin-bottom: 70px;
+      margin-left: 40px;
+      @media screen and (max-width: $screen-sm-max) {
+        margin-left: 0;
+        margin-top: 70px;
+      }
+    }
+  }
+
+  .info {
+    font-family: $font-family-sans-serif;
+    font-size: $font-size-large;
+    line-height: 45px;
+    @media screen and (max-width: $screen-xs-max) {
+      margin-top: 50px;
+    }
+  }
+
+  .services {
+    h3 {
+      font-size: 30px;
+      line-height: 30px;
+      margin-left: $home-services-sub-headline-offset;
+      .icon-check-circle {
+        margin-left: calc(-#{$home-services-sub-headline-offset});
+      }
+      @media screen and (max-width: $screen-md-max) {
+        font-size: 26px;
+        letter-spacing: normal;
+      }
+    }
+
+    @media screen and (min-width: $screen-md-max) {
+      padding-left: 80px;
+    }
+
+    .icon-check-circle {
+      font-size: 30px;
+      @media screen and (max-width: $screen-md-max) {
+        font-size: 26px;
+      }
+    }
+
+    > div {
+      margin-top: 40px;
+      @media screen and (max-width: $screen-sm-max) {
+        margin-bottom: 60px;
+      }
+    }
+    .item {
+      color: $asphalt;
+      font-family: $font-family-sans-serif;
+      line-height: 34px;
+      margin-left: $home-services-sub-headline-offset;
+      margin-top: 25px;
+      @media screen and (max-width: $screen-sm-max) {
+        font-size: 20px;
+        margin-right: 50px;
+        margin-top: 0;
+      }
+    }
+    .headline {
+      margin-left: 20px;
+      @media screen and (max-width: $screen-sm-max) {
+        margin-left: 13px;
+        margin-top: 2px;
+      }
+    }
+  }
+
+  .no-padding-l {
+    padding-left: 0;
+  }
+
+  .no-padding-sm-l {
+    @media screen and (max-width: $screen-sm-max) {
+      padding-left: 0;
+    }
+  }
+
+  .no-padding-r {
+    padding-right: 0;
+  }
+
+  .no-padding-sm-r {
+    @media screen and (max-width: $screen-sm-max) {
+      padding-right: 0;
+    }
+  }
+}
+// +++++ Home Page - END
+
 // +++++ Footer - START
 // styling follows mobile first principles
 
diff --git a/themes/fid_adlr/templates/header.phtml b/themes/fid_adlr/templates/header.phtml
index 1a27247a1db..feedbebe8d2 100644
--- a/themes/fid_adlr/templates/header.phtml
+++ b/themes/fid_adlr/templates/header.phtml
@@ -208,6 +208,9 @@
 
 <script type="text/javascript">
     $(document).ready(function(){
+        <?php /* disable transitions and delay while collapsing completely */ ?>
+        $.support.transition = false;
+
         <?php /* Bugfix for switching affix / affix-top on click */ ?>
         $( '#main-navigation' ).on( 'affix.bs.affix', function(){
             if( !$( window ).scrollTop() ) return false;
diff --git a/themes/fid_adlr/templates/search/home.phtml b/themes/fid_adlr/templates/search/home.phtml
index dc80575e754..66a4bc990a0 100644
--- a/themes/fid_adlr/templates/search/home.phtml
+++ b/themes/fid_adlr/templates/search/home.phtml
@@ -1,5 +1,8 @@
 <!-- fid_adlr: search - home -->
 <?php
+
+use fid_adlr\Helper\Rss;
+
 // Set page title.
 $this->headTitle($this->translate('Search Home'));
 
@@ -8,7 +11,7 @@ $this->headTitle($this->translate('Search Home'));
 
 // Set default value if necessary:
 if (!isset($this->searchClassId)) {
-  $this->searchClassId = 'Solr';
+    $this->searchClassId = 'Solr';
 }
 
 $this->layout()->breadcrumbs = false;
@@ -19,18 +22,19 @@ $this->layout()->breadcrumbs = false;
       <?= $this->transEsc("header_text") ?>
   </div>
   <div class="home-links">
-    <a class="navbar-header-link small" href="<?= "#" /* FIXME After merge of #15589 $this->url('myresearch/databases') */ ?>"><span
+    <a class="navbar-header-link small"
+       href="<?=$this->url('myresearch/databases')?>"><span
               class="icon icon-arrow-right"></span> <?= $this->transEsc('Press Databases') ?></a>
     <a class="navbar-header-link small"
-       href="<?php $this->currentPath()?>/Search/Results?filter%5B%5D=~de15fid_date%3A%5BNOW-30DAY%2FDAY+TO+NOW%5D&type=AllFields&filter%5B%5D=mega_collection%3A%22PDA+Print+VUB%22"><span
+       href="<?php $this->currentPath() ?>/Search/Results?filter%5B%5D=~de15fid_date%3A%5BNOW-30DAY%2FDAY+TO+NOW%5D&type=AllFields&filter%5B%5D=mega_collection%3A%22PDA+Print+VUB%22"><span
               class="icon icon-arrow-right"></span> <?= $this->transEsc('New Items') ?></a>
   </div>
 </div>
 
 <div class="searchHomeContent">
-  <?php /* finc-specific: #7187@89bb6e70; VF moved the original BS code to a separate template: helpers - ils-offline.phtml - CK */ ?>
-  <?php
-  $ilsStatusScript = <<<JS
+    <?php /* finc-specific: #7187@89bb6e70; VF moved the original BS code to a separate template: helpers - ils-offline.phtml - CK */ ?>
+    <?php
+    $ilsStatusScript = <<<JS
       $(document).ready(function() {
         $.ajax({
             dataType: 'json',
@@ -43,12 +47,12 @@ $this->layout()->breadcrumbs = false;
         });
       });
 JS;
-  ?>
-  <?php /* finc-specific: #7187 - END */ ?>
-  <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $ilsStatusScript, 'SET');?>
+    ?>
+    <?php /* finc-specific: #7187 - END */ ?>
+    <?= $this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $ilsStatusScript, 'SET'); ?>
 
-  <?php /* finc: Activate search box here if you want the old look -- otherwise we keep the consistent look with searchbox in header */ ?>
-  <?php /*
+    <?php /* finc: Activate search box here if you want the old look -- otherwise we keep the consistent look with searchbox in header */ ?>
+    <?php /*
  <?=$this->context($this)->renderInContext("search/searchbox.phtml", ['ignoreHiddenFilterMemory' => true])?>
   <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '$("#searchForm_lookfor").focus();', 'SET'); ?>
  */ ?>
@@ -56,77 +60,170 @@ JS;
 
 <?php if (!empty($facetList)): ?>
   <div class="search-home-facets">
-    <?php foreach ($facetList as $field => $details): ?>
-      <?php if ($isHierarchy = in_array($field, $this->hierarchicalFacets ?? [])):
-         $this->headScript()->appendFile('vendor/jsTree/jstree.min.js');
-        $this->headScript()->appendFile('facets.js');
-        $sort = $this->hierarchicalFacetSortOptions[$field] ?? '';
-        $script = <<<JS
+      <?php foreach ($facetList as $field => $details): ?>
+          <?php if ($isHierarchy = in_array($field, $this->hierarchicalFacets ?? [])):
+              $this->headScript()->appendFile('vendor/jsTree/jstree.min.js');
+              $this->headScript()->appendFile('facets.js');
+              $sort = $this->hierarchicalFacetSortOptions[$field] ?? '';
+              $script = <<<JS
 $(document).ready(function() {
   $('#facet_{$this->escapeHtml($field)}_container').removeClass('hide');
   initFacetTree($('#facet_{$this->escapeHtml($field)}'), false);
 });
 JS;
-          echo $this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET');
-        ?>
-        <div id="facet_<?=$this->escapeHtml($field)?>_container" class="home-facet <?=$this->escapeHtmlAttr($field)?> hide">
-          <h2><?=$this->transEsc('home_browse') . ' ' . $this->transEsc($details['label'])?></h2>
-          <div id="facet_<?=$this->escapeHtml($field)?>" class="jstree-facet"
-               data-facet="<?=$this->escapeHtml($field)?>"
-               data-path="<?=$this->url($basicSearch)?>"
-               data-exclude="0"
-               data-operator="AND"
-               data-exclude-title="<?=$this->transEsc('exclude_facet')?>"
-               data-sort="all">
-          </div>
-        </div>
-        <noscript>
-          <?php if (!$noJsSupport): ?>
-            <h2><?=$this->transEsc('home_browse') . ' ' . $this->transEsc($details['label'])?></h2>
-            <?=$this->transEsc('Please enable JavaScript.')?>
-      <?php endif; ?>
-      <?php endif; ?>
-      <?php if (!$isHierarchy || $noJsSupport): // do we need regular display? ?>
-      <?php $sortedList = $this->sortFacetList($this->results, $field, $details['list'], $basicSearch); ?>
-      <div class="home-facet <?=$this->escapeHtmlAttr($field)?>">
-        <h2><?=$this->transEsc('home_browse') . ' ' . $this->transEsc($details['label'])?></h2>
-        <div class="home-facet-container">
-          <ul class="home-facet-list">
-              <?php
-                // Special case: two columns for LC call numbers...
-                $maxListLength = $field == 'callnumber-first'
-                  ? $columnSize * 2 : $columnSize;
-
-                // Special case: custom URLs for collections...
-                $moreUrl = $field == 'hierarchy_top_title'
-                  ? $this->url('collections-home') : $this->url($advSearch);
-
-                // Convenience variable:
-                $currentListLength = count($sortedList);
+              echo $this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET');
               ?>
-              <?php $i = 0; foreach ($sortedList as $url => $value):
+          <div id="facet_<?= $this->escapeHtml($field) ?>_container"
+               class="home-facet <?= $this->escapeHtmlAttr($field) ?> hide">
+            <h2><?= $this->transEsc('home_browse') . ' ' . $this->transEsc($details['label']) ?></h2>
+            <div id="facet_<?= $this->escapeHtml($field) ?>" class="jstree-facet"
+                 data-facet="<?= $this->escapeHtml($field) ?>"
+                 data-path="<?= $this->url($basicSearch) ?>"
+                 data-exclude="0"
+                 data-operator="AND"
+                 data-exclude-title="<?= $this->transEsc('exclude_facet') ?>"
+                 data-sort="all">
+            </div>
+          </div>
+          <noscript>
+              <?php if (!$noJsSupport): ?>
+          <h2><?= $this->transEsc('home_browse') . ' ' . $this->transEsc($details['label']) ?></h2>
+              <?= $this->transEsc('Please enable JavaScript.') ?>
+          <?php endif; ?>
+          <?php endif; ?>
+          <?php if (!$isHierarchy || $noJsSupport): // do we need regular display? ?>
+              <?php $sortedList = $this->sortFacetList($this->results, $field, $details['list'], $basicSearch); ?>
+          <div class="home-facet <?= $this->escapeHtmlAttr($field) ?>">
+            <h2><?= $this->transEsc('home_browse') . ' ' . $this->transEsc($details['label']) ?></h2>
+            <div class="home-facet-container">
+              <ul class="home-facet-list">
+                  <?php
+                  // Special case: two columns for LC call numbers...
+                  $maxListLength = $field == 'callnumber-first'
+                      ? $columnSize * 2 : $columnSize;
+
+                  // Special case: custom URLs for collections...
+                  $moreUrl = $field == 'hierarchy_top_title'
+                      ? $this->url('collections-home') : $this->url($advSearch);
+
+                  // Convenience variable:
+                  $currentListLength = count($sortedList);
+                  ?>
+                  <?php $i = 0;
+                  foreach ($sortedList
+
+                  as $url => $value):
                   // Special case: custom URLs for collections...
                   if ($field == 'hierarchy_top_title') {
                       $url = $this->url('collections-bytitle') . '?title=' . urlencode($value);
                   }
-                ?>
-                <li><a href="<?=$url?>"><?=$this->escapeHtml(empty($value) ? '-' : $value)?></a></li>
-                <?php if (++$i >= $currentListLength) break; // end of list? bail out! ?>
-                <?php if ($i >= $maxListLength): // list too long? show more link! ?>
-                  <li><a href="<?=$moreUrl?>"><strong><?=$this->transEsc("More options")?>...</strong></a></li>
-                  <?php break; ?>
-                <?php elseif ($i % $columnSize === 0): // end of column? insert break! ?>
-                  </ul><ul class="home-facet-list">
-                <?php endif; ?>
-              <?php endforeach; ?>
-          </ul>
+                  ?>
+                <li><a href="<?= $url ?>"><?= $this->escapeHtml(empty($value) ? '-' : $value) ?></a></li>
+                  <?php if (++$i >= $currentListLength) break; // end of list? bail out!
+                  ?>
+                  <?php if ($i >= $maxListLength): // list too long? show more link! ?>
+                    <li><a href="<?= $moreUrl ?>"><strong><?= $this->transEsc("More options") ?>...</strong></a></li>
+                      <?php break; ?>
+                  <?php elseif ($i % $columnSize === 0): // end of column? insert break!  ?>
+              </ul>
+              <ul class="home-facet-list">
+                  <?php endif; ?>
+                  <?php endforeach; ?>
+              </ul>
+            </div>
+          </div>
+          <?php endif; ?>
+          <?php if ($isHierarchy): // close tag opened in matching if above ?>
+          </noscript>
+          <?php endif; ?>
+      <?php endforeach; ?>
+  </div>
+<?php endif; ?>
+
+<div class="home container">
+  <div class="row">
+    <div class="col-md-5">
+      <div class="row">
+        <div class="col-md-4 col-xs-4 no-padding-r">
+          <h4><span class="circle-outline">1<span></h4>
+        </div>
+        <div class="col-md-8 col-xs-8 margin-t no-padding-l">
+          <div><h3><?= $this->transEsc("Adlr Home Register Free") ?></h3></div>
+        </div>
+      </div>
+      <div class="row">
+        <div class="col-md-4 col-xs-4 no-padding-r">
+          <h4><span class="circle-outline">2</span></h4>
+        </div>
+        <div class="col-md-8 col-xs-8 margin-t no-padding-l">
+          <div><h3><?= $this->transEsc("Adlr Home Research") ?></h3></div>
         </div>
       </div>
-      <?php endif; ?>
-      <?php if ($isHierarchy): // close tag opened in matching if above ?>
-        </noscript>
-      <?php endif; ?>
-    <?php endforeach; ?>
+
+    </div>
+    <div class="col-md-7">
+      <div class="info"><?= $this->translate("Adlr Home Info") ?></div>
+    </div>
   </div>
-<?php endif; ?>
+</div>
+
+<div class="home container">
+  <div class="row margin-btm">
+    <div class="col-md-7 blog box">
+      <h2><?= $this->transEsc("Adlr Home Blog") ?></h2>
+        <?php
+        $feeds = null;
+
+        if($this->config()->get('config') && ($blog = $this->config()->get('config')->RssConsumer)) {
+          $rssHelper = $this->rss();
+          $feeds = $rssHelper->load($blog);
+        }
+
+        if ($feeds && count($feeds) > 0) {
+            foreach ($feeds as $feed) {
+                if(!empty($feed['link']) && !empty($feed['title'])) {
+                    echo '<p><a target= "_blank" href="' . $feed['link'] . '" title="' . $feed['title'] . '">' . $feed['title'] . '</a><br /><br />';
+                }
+            }
+        }
+        ?>
+    </div>
+
+    <div class="col-md-1"></div>
+    <div class="col-md-5 no-padding-sm-l no-padding-sm-r">
+      <div class="databases box">
+        <a href="<?= $this->url('myresearch/databases') ?>">
+          <span><i class="icon icon-arrow-right"></i><?= $this->transEsc('Press Databases') ?></span></a>
+        <div class="margin-t"><?=$this->transEsc('dbis_licenses_name')?></div>
+      </div>
+      <div class="new-items box">
+        <a href="<?php $this->currentPath() ?>/Search/Results?filter%5B%5D=~de15fid_date%3A%5BNOW-30DAY%2FDAY+TO+NOW%5D&type=AllFields&filter%5B%5D=mega_collection%3A%22PDA+Print+VUB%22">
+          <span><i class="icon icon-arrow-right"></i><?= $this->transEsc('New Items') ?></span></a>
+        <div class="margin-t"><?=$this->transEsc('Adlr Home New Releases Text')?></div>
+      </div>
+    </div>
+  </div>
+  <br /><br /><br />
+  <h1><?= $this->transEsc("Adlr Home Services") ?></h1>
+  <div class="row services">
+    <div class="col-md-6">
+      <h3 class="black"><i class="icon icon-check-circle" aria-hidden="true"></i><span class="headline"><?= $this->transEsc("Adlr Home Services Access Title") ?></span></h3>
+      <div class="item"><?= $this->transEsc("Adlr Home Services Access Text") ?></div>
+    </div>
+    <div class="col-md-6">
+      <h3 class="black"><i class="icon icon-check-circle" aria-hidden="true"></i><span class="headline"><?= $this->transEsc("Adlr Home Services Inform Title") ?></span></h3>
+      <div class="item"><?= $this->transEsc("Adlr Home Services Inform Text") ?></div>
+    </div>
+  </div>
+  <div class="row services">
+    <div class="col-md-6">
+      <h3 class="black"><i class="icon icon-check-circle" aria-hidden="true"></i><span class="headline"><?= $this->transEsc("Adlr Home Services Open Access Title") ?></span></h3>
+      <div class="item"><?= $this->transEsc("Adlr Home Services Open Access Text") ?></div>
+    </div>
+    <div class="col-md-6">
+      <h3 class="black"><i class="icon icon-check-circle" aria-hidden="true"></i><span class="headline"><?= $this->transEsc("Adlr Home Services Resources Title") ?></span></h3>
+      <div class="item"><?= $this->transEsc("Adlr Home Services Resources Text") ?></div>
+    </div>
+  </div>
+</div>
 <!-- fid_adlr: search - home - END -->
-- 
GitLab