From 1da95c55b9a433d9c34997a1c788505ebf916c71 Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Tue, 13 Mar 2018 09:45:20 -0400
Subject: [PATCH] Stop using short open tags. (#1134)

- resolves VUFIND-1257
---
 config/vufind/httpd-vufind.conf               |   2 -
 .../View/Helper/Root/CitationTest.php         |  20 --
 .../Helper/Root/RecordDataFormatterTest.php   |  20 --
 tests/vufind_templates.php_cs                 |   2 +-
 .../templates/Auth/AbstractBase/login.phtml   |  18 +-
 .../Auth/AbstractBase/newpassword.phtml       |  14 +-
 .../templates/Auth/ChoiceAuth/login.phtml     |  12 +-
 .../templates/Auth/Database/create.phtml      |   6 +-
 .../templates/Auth/MultiILS/loginfields.phtml |   6 +-
 .../templates/Helpers/email-form-fields.phtml |  20 +-
 .../templates/Helpers/ils-offline.phtml       |   2 +-
 .../templates/Helpers/openurl.phtml           |  28 +--
 .../templates/Helpers/pagination.phtml        |  52 +++---
 .../templates/Recommend/AlphaBrowseLink.phtml |   2 +-
 .../templates/Recommend/AuthorFacets.phtml    |  24 +--
 .../templates/Recommend/AuthorInfo.phtml      |  10 +-
 .../Recommend/AuthorityRecommend.phtml        |  14 +-
 .../templates/Recommend/CatalogResults.phtml  |  28 +--
 .../templates/Recommend/Channels.phtml        |   2 +-
 .../Recommend/CollectionSideFacets.phtml      |  24 +--
 .../bootstrap3/templates/Recommend/DOI.phtml  |  12 +-
 .../templates/Recommend/DPLATerms.phtml       |  18 +-
 .../templates/Recommend/Deprecated.phtml      |   2 +-
 .../Recommend/EuropeanaResults.phtml          |  14 +-
 .../Recommend/EuropeanaResultsDeferred.phtml  |   2 +-
 .../templates/Recommend/ExpandFacets.phtml    |  14 +-
 .../templates/Recommend/FacetCloud.phtml      |  12 +-
 .../templates/Recommend/FavoriteFacets.phtml  |  30 +--
 .../templates/Recommend/MapSelection.phtml    |  12 +-
 .../Recommend/OpenLibrarySubjects.phtml       |  20 +-
 .../OpenLibrarySubjectsDeferred.phtml         |   2 +-
 .../templates/Recommend/PubDateVisAjax.phtml  |  14 +-
 .../templates/Recommend/RandomRecommend.phtml |  34 ++--
 .../templates/Recommend/RemoveFilters.phtml   |   4 +-
 .../templates/Recommend/SideFacets.phtml      |  64 +++----
 .../SideFacets/checkbox-filters.phtml         |  10 +-
 .../Recommend/SideFacets/cluster-list.phtml   |  80 ++++----
 .../Recommend/SideFacets/filter-list.phtml    |  14 +-
 .../SideFacets/hierarchical-facet.phtml       |  12 +-
 .../Recommend/SideFacets/range-slider.phtml   |  16 +-
 .../Recommend/SpellingSuggestions.phtml       |   6 +-
 .../templates/Recommend/SummonBestBets.phtml  |  14 +-
 .../Recommend/SummonBestBetsDeferred.phtml    |   2 +-
 .../templates/Recommend/SummonDatabases.phtml |   8 +-
 .../Recommend/SummonDatabasesDeferred.phtml   |   2 +-
 .../templates/Recommend/SummonResults.phtml   |  16 +-
 .../Recommend/SummonResultsDeferred.phtml     |   2 +-
 .../templates/Recommend/SummonTopics.phtml    |  18 +-
 .../templates/Recommend/SwitchQuery.phtml     |   8 +-
 .../templates/Recommend/SwitchTab.phtml       |  16 +-
 .../templates/Recommend/SwitchType.phtml      |   4 +-
 .../templates/Recommend/TopFacets.phtml       |  42 ++---
 .../templates/Recommend/VisualFacets.phtml    |   6 +-
 .../templates/Recommend/WebResults.phtml      |  18 +-
 .../Recommend/WorldCatIdentities.phtml        |  28 +--
 .../AbstractBase/previewdata.phtml            |   2 +-
 .../AbstractBase/previewlink.phtml            |   2 +-
 .../RecordDriver/BrowZine/result-grid.phtml   |   2 +-
 .../RecordDriver/BrowZine/result-list.phtml   |  24 +--
 .../DefaultRecord/collection-info.phtml       |  44 ++---
 .../DefaultRecord/collection-record.phtml     |  10 +-
 .../RecordDriver/DefaultRecord/core.phtml     |  54 +++---
 .../DefaultRecord/data-allRecordLinks.phtml   |  12 +-
 .../data-allSubjectHeadings.phtml             |  14 +-
 .../DefaultRecord/data-authorNotes.phtml      |  14 +-
 .../DefaultRecord/data-authors.phtml          |  16 +-
 .../DefaultRecord/data-containerTitle.phtml   |   2 +-
 .../DefaultRecord/data-onlineAccess.phtml     |  14 +-
 .../data-publicationDetails.phtml             |  16 +-
 .../DefaultRecord/data-series.phtml           |  20 +-
 .../DefaultRecord/data-summary.phtml          |  16 +-
 .../DefaultRecord/data-tags.phtml             |   8 +-
 .../DefaultRecord/format-list.phtml           |   4 +-
 .../DefaultRecord/list-entry.phtml            | 120 ++++++------
 .../DefaultRecord/result-grid.phtml           |  26 +--
 .../DefaultRecord/result-list.phtml           | 150 +++++++--------
 .../RecordDriver/DefaultRecord/toolbar.phtml  |  36 ++--
 .../templates/RecordDriver/EDS/core.phtml     |  58 +++---
 .../RecordDriver/EDS/result-list.phtml        |  86 ++++-----
 .../RecordDriver/LibGuides/result-list.phtml  |   2 +-
 .../RecordDriver/Pazpar2/result-list.phtml    |  68 +++----
 .../RecordDriver/Primo/format-class.phtml     |   2 +-
 .../RecordDriver/SolrAuth/result-list.phtml   |  18 +-
 .../RecordDriver/SolrWeb/result-list.phtml    |  16 +-
 .../RecordDriver/Summon/format-class.phtml    |   2 +-
 .../RecordTab/collectionhierarchytree.phtml   |  12 +-
 .../templates/RecordTab/collectionlist.phtml  |  20 +-
 .../templates/RecordTab/description.phtml     |  12 +-
 .../templates/RecordTab/excerpt.phtml         |  16 +-
 .../templates/RecordTab/hierarchytree.phtml   |  28 +--
 .../templates/RecordTab/holdingsils.phtml     | 176 +++++++++---------
 .../RecordTab/holdingsworldcat.phtml          |  26 +--
 .../bootstrap3/templates/RecordTab/map.phtml  |   8 +-
 .../templates/RecordTab/preview.phtml         |   2 +-
 .../templates/RecordTab/reviews.phtml         |  30 +--
 .../RecordTab/similaritemscarousel.phtml      |  40 ++--
 .../templates/RecordTab/staffviewarray.phtml  |  10 +-
 .../templates/RecordTab/staffviewmarc.phtml   |   2 +-
 .../bootstrap3/templates/RecordTab/toc.phtml  |  22 +--
 .../templates/RecordTab/usercomments.phtml    |  14 +-
 .../templates/Related/Channels.phtml          |   2 +-
 .../templates/Related/Deprecated.phtml        |   2 +-
 .../templates/Related/Similar.phtml           |  26 +--
 .../templates/admin/config/home.phtml         |   8 +-
 themes/bootstrap3/templates/admin/home.phtml  |  20 +-
 .../templates/admin/maintenance/home.phtml    |   6 +-
 .../templates/admin/socialstats/home.phtml    |   2 +-
 .../templates/admin/tags/home.phtml           |   2 +-
 .../templates/admin/tags/list.phtml           |  32 ++--
 .../templates/admin/tags/manage.phtml         |  26 +--
 .../templates/ajax/resolverLinks.phtml        |  42 ++---
 .../templates/ajax/resultgooglemapinfo.phtml  |  24 +--
 .../ajax/status-available-services.phtml      |   2 +-
 .../templates/ajax/status-full.phtml          |  32 ++--
 .../templates/alphabrowse/home.phtml          | 102 +++++-----
 themes/bootstrap3/templates/author/home.phtml |   2 +-
 .../bootstrap3/templates/author/results.phtml |   2 +-
 .../bootstrap3/templates/author/search.phtml  |   2 +-
 .../templates/authority/record.phtml          |   2 +-
 .../templates/authority/search.phtml          |   2 +-
 .../templates/breadcrumbs/default.phtml       |  12 +-
 .../templates/breadcrumbs/multi.phtml         |  14 +-
 themes/bootstrap3/templates/browse/home.phtml |  70 +++----
 .../templates/browzine/search.phtml           |   2 +-
 themes/bootstrap3/templates/cart/cart.phtml   |  16 +-
 .../bootstrap3/templates/cart/contents.phtml  |  10 +-
 themes/bootstrap3/templates/cart/email.phtml  |  18 +-
 .../templates/cart/export-success.phtml       |   6 +-
 themes/bootstrap3/templates/cart/export.phtml |  34 ++--
 themes/bootstrap3/templates/cart/save.phtml   |  38 ++--
 .../templates/channels/channelList.phtml      |  46 ++---
 .../bootstrap3/templates/channels/home.phtml  |   2 +-
 .../templates/channels/record.phtml           |   2 +-
 .../templates/channels/search.phtml           |   2 +-
 .../templates/collection/view.phtml           |  60 +++---
 .../templates/collections/bytitle.phtml       |  16 +-
 .../templates/collections/home.phtml          |  38 ++--
 .../templates/collections/list.phtml          |   4 +-
 .../templates/combined/results-ajax.phtml     |   2 +-
 .../templates/combined/results-list.phtml     |  58 +++---
 .../templates/combined/results.phtml          |  22 +--
 .../combined/stack-distributed.phtml          |  20 +-
 .../templates/combined/stack-left.phtml       |  24 +--
 .../templates/combined/stack-right.phtml      |  18 +-
 .../templates/confirm/confirm.phtml           |  20 +-
 .../templates/content/asklibrary.phtml        |   2 +-
 .../templates/content/asklibrary_en.phtml     |   2 +-
 themes/bootstrap3/templates/content/faq.phtml |   6 +-
 .../templates/devtools/deminify.phtml         |  36 ++--
 .../bootstrap3/templates/devtools/home.phtml  |   2 +-
 .../templates/devtools/language.phtml         |  14 +-
 .../bootstrap3/templates/eds/advanced.phtml   |  22 +--
 themes/bootstrap3/templates/eds/home.phtml    |   2 +-
 themes/bootstrap3/templates/eds/search.phtml  |   2 +-
 .../bootstrap3/templates/eit/advanced.phtml   |   2 +-
 themes/bootstrap3/templates/eit/search.phtml  |   2 +-
 themes/bootstrap3/templates/error/index.phtml |  26 +--
 .../templates/error/permissiondenied.phtml    |   8 +-
 .../templates/error/unavailable.phtml         |   4 +-
 .../templates/externalauth/ezproxylogin.phtml |   6 +-
 .../bootstrap3/templates/feedback/email.phtml |   2 +-
 themes/bootstrap3/templates/header.phtml      |  50 ++---
 themes/bootstrap3/templates/help/home.phtml   |  12 +-
 .../templates/install/disabled.phtml          |   2 +-
 .../bootstrap3/templates/install/done.phtml   |   2 +-
 .../templates/install/fixbasicconfig.phtml    |  14 +-
 .../templates/install/fixcache.phtml          |   8 +-
 .../templates/install/fixdatabase.phtml       |   4 +-
 .../templates/install/fixdependencies.phtml   |   4 +-
 .../bootstrap3/templates/install/fixils.phtml |  12 +-
 .../templates/install/fixsecurity.phtml       |   8 +-
 .../templates/install/fixsolr.phtml           |   2 +-
 .../templates/install/fixsslcerts.phtml       |   2 +-
 .../bootstrap3/templates/install/home.phtml   |  12 +-
 .../templates/install/showsql.phtml           |   2 +-
 .../bootstrap3/templates/layout/layout.phtml  |  38 ++--
 .../templates/libguides/results.phtml         |   2 +-
 .../templates/librarycards/editcard.phtml     |  10 +-
 .../templates/librarycards/home.phtml         |  28 +--
 .../templates/librarycards/selectcard.phtml   |  14 +-
 .../templates/myresearch/account.phtml        |   2 +-
 .../myresearch/bulk-action-buttons.phtml      |  18 +-
 .../templates/myresearch/cataloglogin.phtml   |  16 +-
 .../templates/myresearch/checkedout.phtml     | 162 ++++++++--------
 .../templates/myresearch/controls/sort.phtml  |   4 +-
 .../templates/myresearch/delete.phtml         |  14 +-
 .../templates/myresearch/edit.phtml           |  34 ++--
 .../templates/myresearch/editlist.phtml       |  14 +-
 .../templates/myresearch/fines.phtml          |  24 +--
 .../templates/myresearch/historicloans.phtml  |  86 ++++-----
 .../templates/myresearch/holds.phtml          | 142 +++++++-------
 .../templates/myresearch/illrequests.phtml    | 146 +++++++--------
 .../templates/myresearch/login.phtml          |  12 +-
 .../templates/myresearch/menu.phtml           |  64 +++----
 .../templates/myresearch/mylist.phtml         |  38 ++--
 .../templates/myresearch/newpassword.phtml    |  18 +-
 .../templates/myresearch/profile.phtml        |  16 +-
 .../templates/myresearch/recover.phtml        |   6 +-
 .../myresearch/storageretrievalrequests.phtml | 142 +++++++-------
 themes/bootstrap3/templates/oai/home.phtml    |   2 +-
 .../bootstrap3/templates/pazpar2/search.phtml |   2 +-
 .../bootstrap3/templates/primo/advanced.phtml |  48 ++---
 .../bootstrap3/templates/primo/search.phtml   |   2 +-
 .../bootstrap3/templates/record/addtag.phtml  |   2 +-
 .../bootstrap3/templates/record/ajaxtab.phtml |   2 +-
 .../templates/record/ajaxview-accordion.phtml |  44 ++---
 .../templates/record/ajaxview-tabs.phtml      |  62 +++---
 .../templates/record/cart-buttons.phtml       |  18 +-
 .../templates/record/checkbox.phtml           |   4 +-
 themes/bootstrap3/templates/record/cite.phtml |  12 +-
 .../templates/record/comments-list.phtml      |  16 +-
 .../bootstrap3/templates/record/cover.phtml   |  16 +-
 .../bootstrap3/templates/record/email.phtml   |   2 +-
 .../templates/record/export-menu.phtml        |  12 +-
 themes/bootstrap3/templates/record/hold.phtml |  60 +++---
 .../templates/record/illrequest.phtml         |  62 +++---
 themes/bootstrap3/templates/record/save.phtml |  44 ++---
 themes/bootstrap3/templates/record/sms.phtml  |  18 +-
 .../record/storageretrievalrequest.phtml      |  38 ++--
 .../bootstrap3/templates/record/taglist.phtml |  24 +--
 themes/bootstrap3/templates/record/view.phtml |  54 +++---
 .../bootstrap3/templates/records/home.phtml   |   2 +-
 .../templates/search/advanced.phtml           |   2 +-
 .../search/advanced/build_page.phtml          |  20 +-
 .../search/advanced/build_page_eds.phtml      |  20 +-
 .../search/advanced/checkbox-filters.phtml    |  10 +-
 .../templates/search/advanced/eds.phtml       |  52 +++---
 .../templates/search/advanced/layout.phtml    |  86 ++++-----
 .../templates/search/advanced/limit.phtml     |  10 +-
 .../templates/search/advanced/ranges.phtml    |  18 +-
 .../templates/search/advanced/solr.phtml      |  40 ++--
 .../templates/search/advanced/summon.phtml    |  20 +-
 .../search/bulk-action-buttons.phtml          |  32 ++--
 .../templates/search/controls/limit.phtml     |  10 +-
 .../templates/search/controls/showing.phtml   |  38 ++--
 .../templates/search/controls/sort.phtml      |   8 +-
 .../templates/search/controls/view.phtml      |  22 +--
 .../bootstrap3/templates/search/email.phtml   |   2 +-
 .../templates/search/facet-list.phtml         |  78 ++++----
 .../templates/search/history-table.phtml      |  38 ++--
 .../bootstrap3/templates/search/history.phtml |  16 +-
 themes/bootstrap3/templates/search/home.phtml |  80 ++++----
 .../templates/search/list-authorfacets.phtml  |   4 +-
 .../templates/search/list-grid.phtml          |  14 +-
 .../templates/search/list-list.phtml          |  14 +-
 .../bootstrap3/templates/search/newitem.phtml |  20 +-
 .../templates/search/newitemresults.phtml     |   2 +-
 .../templates/search/pagination.phtml         |  34 ++--
 .../templates/search/reserves.phtml           |  32 ++--
 .../templates/search/reservesresults.phtml    |   2 +-
 .../templates/search/reservessearch.phtml     |  44 ++---
 .../bootstrap3/templates/search/results.phtml |  76 ++++----
 .../templates/search/searchTabs.phtml         |  14 +-
 .../templates/search/searchbox.phtml          |  76 ++++----
 .../templates/summon/advanced.phtml           |   2 +-
 .../bootstrap3/templates/summon/search.phtml  |   2 +-
 themes/bootstrap3/templates/tag/home.phtml    |   2 +-
 .../bootstrap3/templates/upgrade/error.phtml  |   2 +-
 .../templates/upgrade/fixanonymoustags.phtml  |   2 +-
 .../templates/upgrade/fixduplicatetags.phtml  |   2 +-
 .../templates/upgrade/fixmetadata.phtml       |   2 +-
 .../templates/upgrade/getdbcredentials.phtml  |   2 +-
 .../upgrade/getdbencodingpreference.phtml     |   2 +-
 .../templates/upgrade/getsourcedir.phtml      |   6 +-
 .../bootstrap3/templates/upgrade/home.phtml   |   8 +-
 .../templates/upgrade/showsql.phtml           |   2 +-
 themes/bootstrap3/templates/web/results.phtml |   2 +-
 .../templates/worldcat/advanced.phtml         |   2 +-
 .../templates/worldcat/search.phtml           |   2 +-
 .../templates/search/home.phtml               |   2 +-
 .../root/templates/Citation/apa-article.phtml |  16 +-
 themes/root/templates/Citation/apa.phtml      |  10 +-
 .../root/templates/Citation/mla-article.phtml |   8 +-
 themes/root/templates/Citation/mla.phtml      |  10 +-
 themes/root/templates/Email/record-sms.phtml  |   2 +-
 themes/root/templates/Email/record.phtml      |   6 +-
 themes/root/templates/Email/share-link.phtml  |   6 +-
 .../AbstractBase/export-bibtex.phtml          |   2 +-
 .../AbstractBase/export-endnote.phtml         |   2 +-
 .../AbstractBase/export-endnoteweb.phtml      |   2 +-
 .../AbstractBase/export-refworks.phtml        |   2 +-
 .../AbstractBase/export-ris.phtml             |   2 +-
 .../RecordDriver/Primo/export-endnote.phtml   |   2 +-
 .../RecordDriver/Primo/export-refworks.phtml  |   2 +-
 .../RecordDriver/Summon/export-endnote.phtml  |   2 +-
 .../RecordDriver/Summon/export-refworks.phtml |   2 +-
 themes/root/templates/api/swagger.phtml       |   4 +-
 themes/root/templates/error/404.phtml         |   2 +-
 themes/root/templates/error/index.phtml       |  22 +--
 themes/root/templates/help/home.phtml         |  12 +-
 themes/root/templates/layout/help.phtml       |   2 +-
 .../search/opensearch-describe.phtml          |   4 +-
 themes/root/templates/searchapi/swagger.phtml |  18 +-
 293 files changed, 2996 insertions(+), 3038 deletions(-)

diff --git a/config/vufind/httpd-vufind.conf b/config/vufind/httpd-vufind.conf
index 31b94863c4e..ae94f69f351 100644
--- a/config/vufind/httpd-vufind.conf
+++ b/config/vufind/httpd-vufind.conf
@@ -38,8 +38,6 @@ Alias /vufind /usr/local/vufind/public
   </IfModule>
   AllowOverride All
 
-  php_value short_open_tag On
-
   # If you wish to use the Shibboleth authentication, uncomment the following lines
   # AND comment out the "Require all granted" line above. There must not be any other
   # "Require" lines in this configuration section for the "Require shibboleth"
diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CitationTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CitationTest.php
index 0eb43437580..50b702882f0 100644
--- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CitationTest.php
+++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CitationTest.php
@@ -310,26 +310,6 @@ class CitationTest extends \VuFindTest\Unit\ViewHelperTestCase
         // @codingStandardsIgnoreEnd
     ];
 
-    /**
-     * Setup test case.
-     *
-     * Mark test skipped if short_open_tag is not enabled. The partial
-     * uses short open tags. This directive is PHP_INI_PERDIR,
-     * i.e. can only be changed via php.ini or a per-directory
-     * equivalent. The testCitations() will fail if the test is run on
-     * a system with short_open_tag disabled in the system-wide php
-     * ini-file.
-     *
-     * @return void
-     */
-    protected function setup()
-    {
-        parent::setup();
-        if (!ini_get('short_open_tag')) {
-            $this->markTestSkipped('Test requires short_open_tag to be enabled');
-        }
-    }
-
     /**
      * Test citation generation
      *
diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/RecordDataFormatterTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/RecordDataFormatterTest.php
index ef8b0d1c07c..3f44c3c38c5 100644
--- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/RecordDataFormatterTest.php
+++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/RecordDataFormatterTest.php
@@ -41,26 +41,6 @@ use VuFind\View\Helper\Root\RecordDataFormatterFactory;
  */
 class RecordDataFormatterTest extends \VuFindTest\Unit\ViewHelperTestCase
 {
-    /**
-     * Setup test case.
-     *
-     * Mark test skipped if short_open_tag is not enabled. The partial
-     * uses short open tags. This directive is PHP_INI_PERDIR,
-     * i.e. can only be changed via php.ini or a per-directory
-     * equivalent. The test will fail if the test is run on
-     * a system with short_open_tag disabled in the system-wide php
-     * ini-file.
-     *
-     * @return void
-     */
-    protected function setup()
-    {
-        parent::setup();
-        if (!ini_get('short_open_tag')) {
-            $this->markTestSkipped('Test requires short_open_tag to be enabled');
-        }
-    }
-
     /**
      * Get view helpers needed by test.
      *
diff --git a/tests/vufind_templates.php_cs b/tests/vufind_templates.php_cs
index 3e492046281..c4524668439 100644
--- a/tests/vufind_templates.php_cs
+++ b/tests/vufind_templates.php_cs
@@ -16,7 +16,7 @@ $rules = [
     'elseif' => true,
     'encoding' => true,
     'ereg_to_preg' => true,
-    //'full_opening_tag' => true, // using full tags is best practice, but it detracts from readability; we should discuss
+    'full_opening_tag' => true,
     'function_declaration' => true,
     'function_typehint_space' => true,
     'indentation_type' => true,
diff --git a/themes/bootstrap3/templates/Auth/AbstractBase/login.phtml b/themes/bootstrap3/templates/Auth/AbstractBase/login.phtml
index 77b1f5caf4a..1b429535153 100644
--- a/themes/bootstrap3/templates/Auth/AbstractBase/login.phtml
+++ b/themes/bootstrap3/templates/Auth/AbstractBase/login.phtml
@@ -1,20 +1,20 @@
-<? $account = $this->auth()->getManager(); ?>
-<? $sessionInitiator = $account->getSessionInitiator($this->serverUrl($this->url('myresearch-home'))); ?>
-<? if (!$sessionInitiator): // display default login form if no login URL provided ?>
+<?php $account = $this->auth()->getManager(); ?>
+<?php $sessionInitiator = $account->getSessionInitiator($this->serverUrl($this->url('myresearch-home'))); ?>
+<?php if (!$sessionInitiator): // display default login form if no login URL provided ?>
   <form method="post" action="<?=$this->url('myresearch-home')?>" name="loginForm" class="form-login">
     <?=$this->auth()->getLoginFields()?>
     <input type="hidden" name="auth_method" value="<?=$account->getAuthMethod()?>">
     <input type="hidden" name="csrf" value="<?=$this->escapeHtmlAttr($account->getCsrfHash(true))?>" />
     <div class="form-group">
       <input class="btn btn-primary" type="submit" name="processLogin" value="<?=$this->transEsc('Login')?>">
-      <? if ($account->supportsCreation()): ?>
+      <?php if ($account->supportsCreation()): ?>
         <a class="btn btn-link createAccountLink" href="<?=$this->url('myresearch-account') ?>?auth_method=<?=$account->getAuthMethod()?>"><?=$this->transEsc('Create New Account')?></a>
-      <? endif; ?>
-      <? if ($account->supportsRecovery()): ?>
+      <?php endif; ?>
+      <?php if ($account->supportsRecovery()): ?>
         <a class="btn btn-link" href="<?=$this->url('myresearch-recover') ?>?auth_method=<?=$account->getAuthMethod()?>"><?=$this->transEsc('Forgot Password')?></a>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
   </form>
-<? else: ?>
+<?php else: ?>
   <a href="<?=$this->escapeHtmlAttr($sessionInitiator)?>" class="btn btn-link" data-lightbox-ignore><?=$this->transEsc("Institutional Login")?></a>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Auth/AbstractBase/newpassword.phtml b/themes/bootstrap3/templates/Auth/AbstractBase/newpassword.phtml
index 532e00b0c2e..b0183754b48 100644
--- a/themes/bootstrap3/templates/Auth/AbstractBase/newpassword.phtml
+++ b/themes/bootstrap3/templates/Auth/AbstractBase/newpassword.phtml
@@ -1,17 +1,17 @@
-<? if (isset($this->username)): ?>
+<?php if (isset($this->username)): ?>
   <div class="form-group">
     <label class="control-label"><?=$this->transEsc('Username') ?>:</label>
     <p class="form-control-static"><?=$this->username ?></p>
   </div>
-<? endif; ?>
-<? if (isset($this->verifyold) && $this->verifyold || isset($this->oldpwd)): ?>
+<?php endif; ?>
+<?php if (isset($this->verifyold) && $this->verifyold || isset($this->oldpwd)): ?>
   <div class="form-group">
     <label class="control-label"><?=$this->transEsc('old_password') ?>:</label>
     <input type="password" name="oldpwd" class="form-control"/>
     <div class="help-block with-errors"></div>
   </div>
-<? endif; ?>
-<?
+<?php endif; ?>
+<?php
   $pattern = '';
   if (isset($this->passwordPolicy['pattern'])) {
     if ($this->passwordPolicy['pattern'] == 'numeric') {
@@ -30,9 +30,9 @@
     <?=isset($this->passwordPolicy['maxLength']) ? ' maxlength="' . $this->passwordPolicy['maxLength'] . '"' : '' ?>
     <?=$pattern ? ' pattern="' . $pattern . '"' : '' ?>
   />
-  <? if ($this->passwordPolicy['hint']): ?>
+  <?php if ($this->passwordPolicy['hint']): ?>
     <div class="help-block"><?=$this->transEsc($this->passwordPolicy['hint']) ?></div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="help-block with-errors"></div>
 </div>
 <div class="form-group">
diff --git a/themes/bootstrap3/templates/Auth/ChoiceAuth/login.phtml b/themes/bootstrap3/templates/Auth/ChoiceAuth/login.phtml
index 6fdaf803424..afe453d569c 100644
--- a/themes/bootstrap3/templates/Auth/ChoiceAuth/login.phtml
+++ b/themes/bootstrap3/templates/Auth/ChoiceAuth/login.phtml
@@ -1,13 +1,13 @@
 <p><?=$this->transEsc('choose_login_method')?></p>
 <div id="authcontainer">
-<? $methods = $this->auth()->getManager()->getSelectableAuthOptions(); ?>
-<? $count = count($methods); ?>
-<? foreach ($methods as $loop => $method):?>
+<?php $methods = $this->auth()->getManager()->getSelectableAuthOptions(); ?>
+<?php $count = count($methods); ?>
+<?php foreach ($methods as $loop => $method):?>
   <div class="authmethod<?=$loop?> span<?=floor(12 / $count) ?>">
-    <? $this->auth()->getManager()->setAuthMethod($method) ?>
+    <?php $this->auth()->getManager()->setAuthMethod($method) ?>
     <?=$this->auth()->getLoginDesc() ?>
     <?=$this->auth()->getLogin() ?>
   </div>
-<? endforeach ?>
+<?php endforeach ?>
 </div>
-<? $this->auth()->getManager()->setAuthMethod('ChoiceAuth') ?>
+<?php $this->auth()->getManager()->setAuthMethod('ChoiceAuth') ?>
diff --git a/themes/bootstrap3/templates/Auth/Database/create.phtml b/themes/bootstrap3/templates/Auth/Database/create.phtml
index 8a5fbc4e9f6..69aede867fb 100644
--- a/themes/bootstrap3/templates/Auth/Database/create.phtml
+++ b/themes/bootstrap3/templates/Auth/Database/create.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $pattern = '';
   if (isset($this->passwordPolicy['pattern'])) {
     if ($this->passwordPolicy['pattern'] == 'numeric') {
@@ -35,9 +35,9 @@
     <?=isset($this->passwordPolicy['maxLength']) ? ' maxlength="' . $this->passwordPolicy['maxLength'] . '"' : ''?>
     <?=$pattern ? ' pattern="' . $pattern . '"' : '' ?>
   />
-  <? if ($this->passwordPolicy['hint']): ?>
+  <?php if ($this->passwordPolicy['hint']): ?>
     <div class="help-block"><?=$this->transEsc($this->passwordPolicy['hint']) ?></div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="help-block with-errors"></div>
 </div>
 <div class="form-group">
diff --git a/themes/bootstrap3/templates/Auth/MultiILS/loginfields.phtml b/themes/bootstrap3/templates/Auth/MultiILS/loginfields.phtml
index 9abc98faf11..e7136a43d32 100644
--- a/themes/bootstrap3/templates/Auth/MultiILS/loginfields.phtml
+++ b/themes/bootstrap3/templates/Auth/MultiILS/loginfields.phtml
@@ -1,10 +1,10 @@
 <div class="form-group">
   <label class="control-label" for="login_target"><?=$this->transEsc('login_target')?>:</label>
-  <? $currentTarget = $this->request->get('target'); if (!$currentTarget) $currentTarget = $this->auth()->getManager()->getDefaultLoginTarget();?>
+  <?php $currentTarget = $this->request->get('target'); if (!$currentTarget) $currentTarget = $this->auth()->getManager()->getDefaultLoginTarget();?>
   <select id="login_target" name="target" class="form-control">
-    <? foreach ($this->auth()->getManager()->getLoginTargets() as $target):?>
+    <?php foreach ($this->auth()->getManager()->getLoginTargets() as $target):?>
       <option value="<?=$this->escapeHtmlAttr($target)?>"<?=($target == $currentTarget ? ' selected="selected"' : '')?>><?=$this->transEsc("source_$target", null, $target)?></option>
-    <? endforeach ?>
+    <?php endforeach ?>
   </select>
 </div>
 <div class="form-group">
diff --git a/themes/bootstrap3/templates/Helpers/email-form-fields.phtml b/themes/bootstrap3/templates/Helpers/email-form-fields.phtml
index df938f40819..a672715edc4 100644
--- a/themes/bootstrap3/templates/Helpers/email-form-fields.phtml
+++ b/themes/bootstrap3/templates/Helpers/email-form-fields.phtml
@@ -1,31 +1,31 @@
 <div class="form-group">
   <label class="control-label" for="email_to"><?=$this->transEsc('To')?>:</label>
   <input type="<?=$this->maxRecipients != 1 ? 'text' : 'email'?>" id="email_to" class="form-control" oninvalid="$('#modal .fa-spinner').remove()" name="to" value="<?=isset($this->to) ? $this->to : ''?>"/>
-  <? if ($this->maxRecipients != 1): ?>
+  <?php if ($this->maxRecipients != 1): ?>
     <br />
     <?=$this->transEsc('email_multiple_recipients_note')?>
-    <? if ($this->maxRecipients > 1): ?>
+    <?php if ($this->maxRecipients > 1): ?>
       <?=$this->transEsc('email_maximum_recipients_note', ['%%max%%' => $this->maxRecipients])?>
-    <? endif; ?>
-  <? endif; ?>
+    <?php endif; ?>
+  <?php endif; ?>
 </div>
-<? if (!$this->disableFrom): ?>
+<?php if (!$this->disableFrom): ?>
   <div class="form-group">
     <label class="control-label" for="email_from"><?=$this->transEsc('From')?>:</label>
     <input type="email" id="email_from" oninvalid="$('#modal .fa-spinner').remove()" name="from" value="<?=isset($this->from) ? $this->from : ''?>" size="40" class="form-control"/>
   </div>
-<? endif; ?>
-<? if ($this->editableSubject): ?>
+<?php endif; ?>
+<?php if ($this->editableSubject): ?>
   <div class="form-group">
     <label class="control-label" for="email_subject"><?=$this->transEsc('email_subject')?>:</label>
     <input type="text" id="email_subject" oninvalid="$('#modal .fa-spinner').remove()" name="subject" value="<?=isset($this->subject) ? $this->subject : ''?>" size="40" class="form-control"/>
   </div>
-<? endif; ?>
+<?php endif; ?>
 <div class="form-group">
   <label class="control-label" for="email_message"><?=$this->transEsc('Message')?>:</label>
   <textarea id="email_message" class="form-control" name="message" rows="4"><?=isset($this->message) ? $this->message : ''?></textarea>
 </div>
-<? if ($this->disableFrom && $this->userEmailInFrom): ?>
+<?php if ($this->disableFrom && $this->userEmailInFrom): ?>
   <div class="form-group">
     <div class="checkbox">
       <label>
@@ -33,7 +33,7 @@
       </label>
     </div>
   </div>
-<? endif ?>
+<?php endif ?>
 <?=$this->recaptcha()->html($this->useRecaptcha) ?>
 <div class="form-group">
   <input type="submit" class="btn btn-primary" name="submit" value="<?=$this->transEsc('Send')?>"/>
diff --git a/themes/bootstrap3/templates/Helpers/ils-offline.phtml b/themes/bootstrap3/templates/Helpers/ils-offline.phtml
index 5dfceac17b4..17d08f65759 100644
--- a/themes/bootstrap3/templates/Helpers/ils-offline.phtml
+++ b/themes/bootstrap3/templates/Helpers/ils-offline.phtml
@@ -2,6 +2,6 @@
   <h2><?=$this->transEsc('ils_offline_title')?></h2>
   <p><strong><?=$this->transEsc('ils_offline_status')?></strong></p>
   <p><?=$this->transEsc($this->offlineModeMsg)?></p>
-  <? $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
+  <?php $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
   <p><a href="mailto:<?=$supportEmail?>"><?=$supportEmail?></a></p>
 </div>
diff --git a/themes/bootstrap3/templates/Helpers/openurl.phtml b/themes/bootstrap3/templates/Helpers/openurl.phtml
index 22d5cac3e2f..d192d79b626 100644
--- a/themes/bootstrap3/templates/Helpers/openurl.phtml
+++ b/themes/bootstrap3/templates/Helpers/openurl.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   echo $this->inlineScript(\Zend\View\Helper\HeadScript::FILE, 'openurl.js', 'SET');
   $classes = '';
   if ($this->openUrlEmbed) {
@@ -14,13 +14,13 @@
   }
 ?>
 
-<span class="openUrlControls<? if ($this->openUrlEmbed): ?> openUrlEmbed<? if ($this->openUrlEmbedAutoLoad): ?> openUrlEmbedAutoLoad<? endif; ?><? endif; ?>">
-  <? if (!$this->openUrlImageBasedSrc || $this->openUrlImageBasedMode == 'both'): ?>
+<span class="openUrlControls<?php if ($this->openUrlEmbed): ?> openUrlEmbed<?php if ($this->openUrlEmbedAutoLoad): ?> openUrlEmbedAutoLoad<?php endif; ?><?php endif; ?>">
+  <?php if (!$this->openUrlImageBasedSrc || $this->openUrlImageBasedMode == 'both'): ?>
   <a href="<?=$this->escapeHtmlAttr($this->resolverUrl)?>"<?=$class?> data-search-class-id="<?=$this->escapeHtmlAttr($this->searchClassId) ?>">
-    <? /* put the openUrl here in a span (COinS almost) so we can retrieve it later */ ?>
+    <?php /* put the openUrl here in a span (COinS almost) so we can retrieve it later */ ?>
     <span title="<?=$this->escapeHtmlAttr($this->openUrl)?>" class="openUrl"></span>
-    <? if ($this->openUrlGraphic): ?>
-      <?
+    <?php if ($this->openUrlGraphic): ?>
+      <?php
         $style = '';
         if ($this->openUrlGraphicWidth) {
           $style .= 'width:' . $this->escapeHtmlAttr($this->openUrlGraphicWidth) . 'px;';
@@ -30,21 +30,21 @@
         }
       ?>
       <img src="<?=$this->escapeHtmlAttr($this->openUrlGraphic)?>" alt="<?=$this->transEsc('Get full text')?>" style="<?=$style?>" />
-    <? else: ?>
+    <?php else: ?>
       <?=$this->transEsc('Get full text')?>
-    <? endif; ?>
+    <?php endif; ?>
   </a>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if ($this->openUrlImageBasedSrc): ?>
-    <? $ibOpenUrl = $this->openUrlImageBasedOverride ? $this->openUrlImageBasedOverride : $this->openUrl; ?>
+  <?php if ($this->openUrlImageBasedSrc): ?>
+    <?php $ibOpenUrl = $this->openUrlImageBasedOverride ? $this->openUrlImageBasedOverride : $this->openUrl; ?>
     <a href="<?=$this->escapeHtmlAttr($this->openUrlBase . '?' . $ibOpenUrl)?>"<?=$class_ib?>>
       <span title="<?=$this->escapeHtmlAttr($ibOpenUrl)?>" class="openUrl"></span>
       <img data-recordid="<?=$this->escapeHtmlAttr($this->driver->getUniqueId())?>" src="<?=$this->escapeHtmlAttr($this->openUrlImageBasedSrc)?>" alt="<?=$this->transEsc('Get full text')?>" />
     </a>
-  <? endif; ?>
+  <?php endif; ?>
 </span>
 
-<? if ($this->openUrlEmbed): ?>
+<?php if ($this->openUrlEmbed): ?>
   <div class="resolver hidden"><?=$this->transEsc('Loading')?>...</div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Helpers/pagination.phtml b/themes/bootstrap3/templates/Helpers/pagination.phtml
index 76fd7ba1079..e409ab7e55f 100644
--- a/themes/bootstrap3/templates/Helpers/pagination.phtml
+++ b/themes/bootstrap3/templates/Helpers/pagination.phtml
@@ -1,60 +1,60 @@
-<? if ($this->pageCount): ?>
+<?php if ($this->pageCount): ?>
   <ul class="pagination">
     <!-- Previous page link -->
-    <li<? if (isset($this->previous)): ?>>
-      <? $newParams = $this->params; $newParams['page'] = $this->previous; ?>
+    <li<?php if (isset($this->previous)): ?>>
+      <?php $newParams = $this->params; $newParams['page'] = $this->previous; ?>
       <a href="<?= $this->currentPath() . '?' . http_build_query($newParams); ?>">
         &laquo; <?=$this->translate('Prev')?>
       </a>
-    <? else: ?>
+    <?php else: ?>
        class="disabled"> <span>&laquo; <?=$this->translate('Prev')?></span>
-    <? endif; ?>
+    <?php endif; ?>
     </li>
 
     <!-- First page link -->
-    <li<? if (isset($this->first) && $this->first != $this->current): ?>>
-      <? $newParams = $this->params; $newParams['page'] = $this->first; ?>
+    <li<?php if (isset($this->first) && $this->first != $this->current): ?>>
+      <?php $newParams = $this->params; $newParams['page'] = $this->first; ?>
       <a href="<?= $this->currentPath() . '?' . http_build_query($newParams); ?>">
         <?=$this->translate('First')?>
       </a>
-    <? else: ?>
+    <?php else: ?>
        class="disabled"> <span><?=$this->translate('First')?></span>
-    <? endif; ?>
+    <?php endif; ?>
     </li>
 
     <!-- Numbered page links -->
-    <? foreach ($this->pagesInRange as $page): ?>
-      <li<? if ($page != $this->current): ?>>
-        <? $newParams = $this->params; $newParams['page'] = $page; ?>
+    <?php foreach ($this->pagesInRange as $page): ?>
+      <li<?php if ($page != $this->current): ?>>
+        <?php $newParams = $this->params; $newParams['page'] = $page; ?>
         <a href="<?= $this->currentPath() . '?' . http_build_query($newParams); ?>">
-            <? echo $page; ?>
+            <?php echo $page; ?>
         </a>
-      <? else: ?>
-         class="active"> <span><? echo $page; ?></span>
-      <? endif; ?>
+      <?php else: ?>
+         class="active"> <span><?php echo $page; ?></span>
+      <?php endif; ?>
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
 
     <!-- Last page link -->
-    <li<? if (isset($this->last) && $this->last != $this->current): ?>>
-      <? $newParams = $this->params; $newParams['page'] = $this->last; ?>
+    <li<?php if (isset($this->last) && $this->last != $this->current): ?>>
+      <?php $newParams = $this->params; $newParams['page'] = $this->last; ?>
       <a href="<?= $this->currentPath() . '?' . http_build_query($newParams); ?>">
         <?=$this->translate('Last')?>
       </a>
-    <? else: ?>
+    <?php else: ?>
        class="disabled"> <span><?=$this->translate('Last')?></span>
-    <? endif; ?>
+    <?php endif; ?>
     </li>
 
     <!-- Next page link -->
-    <li<? if (isset($this->next)): ?>>
-      <? $newParams = $this->params; $newParams['page'] = $this->next; ?>
+    <li<?php if (isset($this->next)): ?>>
+      <?php $newParams = $this->params; $newParams['page'] = $this->next; ?>
       <a href="<?= $this->currentPath() . '?' . http_build_query($newParams); ?>">
         <?=$this->translate('Next')?> >
       </a>
-    <? else: ?>
+    <?php else: ?>
        class="disabled"> <span><?=$this->translate('Next')?> &raquo;</span>
-    <? endif; ?>
+    <?php endif; ?>
     </li>
   </ul>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/AlphaBrowseLink.phtml b/themes/bootstrap3/templates/Recommend/AlphaBrowseLink.phtml
index 2a001e21854..e1c6819894d 100644
--- a/themes/bootstrap3/templates/Recommend/AlphaBrowseLink.phtml
+++ b/themes/bootstrap3/templates/Recommend/AlphaBrowseLink.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $index = $this->recommend->getIndex();
   $from = $this->recommend->getQuery();
   $link = $this->translate(
diff --git a/themes/bootstrap3/templates/Recommend/AuthorFacets.phtml b/themes/bootstrap3/templates/Recommend/AuthorFacets.phtml
index 529124856b7..fb1c6016d7e 100644
--- a/themes/bootstrap3/templates/Recommend/AuthorFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/AuthorFacets.phtml
@@ -1,22 +1,22 @@
-<? if ($this->recommend->getResults()->getResultTotal() > 0): ?>
-  <? $similarAuthors = $this->recommend->getSimilarAuthors(); ?>
-  <? if (!empty($similarAuthors['list'])): ?>
+<?php if ($this->recommend->getResults()->getResultTotal() > 0): ?>
+  <?php $similarAuthors = $this->recommend->getSimilarAuthors(); ?>
+  <?php if (!empty($similarAuthors['list'])): ?>
     <p class="author-label"><?=$this->transEsc('Author Results for')?> <strong><?=$this->escapeHtml($this->recommend->getSearchTerm()) ?></strong></p>
     <div class="author-facets">
       <div class="author-list">
-      <? foreach($similarAuthors['list'] as $i => $author): ?>
-        <? if ($i == 5): ?>
+      <?php foreach($similarAuthors['list'] as $i => $author): ?>
+        <?php if ($i == 5): ?>
             <a href="<?=$this->url('author-search') . '?lookfor=' . urlencode($this->recommend->getSearchTerm()) ?>"><strong><?=$this->transEsc("see all") ?> <?=(isset($similarAuthors['count']) && $similarAuthors['count']) ? $similarAuthors['count'] : ''?> &raquo;</strong></a>
           </div>
           <div class="author-list">
-        <? endif; ?>
-        <a href="<?=$this->url('author-home') . '?author=' . urlencode($author['value'])?>"><?=$author['value'] ?><? /* count disabled -- uncomment to add: echo ' - ' . $author['count']; */ ?></a>
-        <? if ($i + 1 < count($similarAuthors['list'])): ?>
+        <?php endif; ?>
+        <a href="<?=$this->url('author-home') . '?author=' . urlencode($author['value'])?>"><?=$author['value'] ?><?php /* count disabled -- uncomment to add: echo ' - ' . $author['count']; */ ?></a>
+        <?php if ($i + 1 < count($similarAuthors['list'])): ?>
           <br/>
-        <? endif; ?>
-      <? endforeach; ?>
+        <?php endif; ?>
+      <?php endforeach; ?>
       </div>
     </div>
     <br/>
-  <? endif; ?>
-<? endif; ?>
+  <?php endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/AuthorInfo.phtml b/themes/bootstrap3/templates/Recommend/AuthorInfo.phtml
index 32a87e6a628..d7fabadac00 100644
--- a/themes/bootstrap3/templates/Recommend/AuthorInfo.phtml
+++ b/themes/bootstrap3/templates/Recommend/AuthorInfo.phtml
@@ -1,14 +1,14 @@
-<? $this->info = $this->recommend->getAuthorInfo() ?>
-<? if (!(empty($this->info['description']) || empty($this->info))): ?>
+<?php $this->info = $this->recommend->getAuthorInfo() ?>
+<?php if (!(empty($this->info['description']) || empty($this->info))): ?>
 <div class="wikipedia well clearfix">
   <h2><?=$this->info['name'] ?></h2>
 
-  <? if (isset($this->info['image'])): ?>
+  <?php if (isset($this->info['image'])): ?>
     <img class="pull-left flip" src="<?=$this->info['image'] ?>" alt="<?=$this->escapeHtmlAttr($this->info['altimage']) ?>" width="150px"/>
-  <? endif; ?>
+  <?php endif; ?>
 
   <?=preg_replace('/___baseurl___/', $this->url('search-results'), $this->info['description']) ?>
 
   <a href="http://<?=$this->info['wiki_lang'] ?>.wikipedia.org/wiki/<?=$this->escapeHtmlAttr($this->info['name']/*url*/) ?>" target="new"><?=$this->transEsc('wiki_link') ?></a>
 </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/AuthorityRecommend.phtml b/themes/bootstrap3/templates/Recommend/AuthorityRecommend.phtml
index 6a277a43a4d..94e1dbcdee6 100644
--- a/themes/bootstrap3/templates/Recommend/AuthorityRecommend.phtml
+++ b/themes/bootstrap3/templates/Recommend/AuthorityRecommend.phtml
@@ -1,19 +1,19 @@
-<?
+<?php
     $data = $this->recommend->getRecommendations();
     $results = $this->recommend->getResults();
 ?>
-<? if (is_array($data) && !empty($data)): ?>
+<?php if (is_array($data) && !empty($data)): ?>
   <div class="authoritybox">
     <div><strong><?=$this->transEsc('See also')?>:</strong></div>
     <div>
-      <? for ($i = 0; $i < count($data); $i++): ?>
-        <?
+      <?php for ($i = 0; $i < count($data); $i++): ?>
+        <?php
             // Generate a new search URL that replaces the user's current term with the authority term:
             $url = $this->url($results->getOptions()->getSearchAction())
                 . $results->getUrlQuery()->replaceTerm($results->getParams()->getDisplayQuery(), $data[$i]['heading']);
         ?>
-        <a href="<?=$url?>"><?=$this->escapeHtml($data[$i]['heading'])?></a><? if ($i != count($data) - 1): ?>, <? endif; ?>
-      <? endfor; ?>
+        <a href="<?=$url?>"><?=$this->escapeHtml($data[$i]['heading'])?></a><?php if ($i != count($data) - 1): ?>, <?php endif; ?>
+      <?php endfor; ?>
     </div>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/CatalogResults.phtml b/themes/bootstrap3/templates/Recommend/CatalogResults.phtml
index 628900def89..86d48242bea 100644
--- a/themes/bootstrap3/templates/Recommend/CatalogResults.phtml
+++ b/themes/bootstrap3/templates/Recommend/CatalogResults.phtml
@@ -1,29 +1,29 @@
-<? $searchObject = $this->recommend->getResults(); $results = $searchObject->getResults(); if (!empty($results)): ?>
+<?php $searchObject = $this->recommend->getResults(); $results = $searchObject->getResults(); if (!empty($results)): ?>
   <h4><?=$this->transEsc('Catalog Results')?></h4>
   <ul class="list-group">
-    <? foreach ($results as $driver): ?>
+    <?php foreach ($results as $driver): ?>
       <li class="list-group-item catalog-result">
-        <? $formats = $driver->getFormats(); $format = isset($formats[0]) ? $formats[0] : ''; ?>
+        <?php $formats = $driver->getFormats(); $format = isset($formats[0]) ? $formats[0] : ''; ?>
         <a href="<?=$this->recordLink()->getUrl($driver)?>" class="title <?=$this->record($driver)->getFormatClass($format)?>">
           <?=$this->record($driver)->getTitleHtml()?>
         </a>
-        <? $summDate = $driver->getPublicationDates(); ?>
-        <? $summAuthors = $driver->getPrimaryAuthorsWithHighlighting(); ?>
-        <? if (!empty($summDate) || !empty($summAuthors)): ?>
-          <? if (!empty($summDate)): ?>
+        <?php $summDate = $driver->getPublicationDates(); ?>
+        <?php $summAuthors = $driver->getPrimaryAuthorsWithHighlighting(); ?>
+        <?php if (!empty($summDate) || !empty($summAuthors)): ?>
+          <?php if (!empty($summDate)): ?>
             <br/>
             <span class="small author">
               <?=$this->transEsc('Published')?>: (<?=$this->escapeHtml($summDate[0])?>)
             </span>
-          <? endif; ?>
-          <? if (!empty($summAuthors)): ?>
+          <?php endif; ?>
+          <?php if (!empty($summAuthors)): ?>
             <br/>
             <span class="small"><?=$this->transEsc('By')?></span>
-            <a class="small date" href="<?=$this->record($driver)->getLink('author', $this->highlight($summAuthors[0], null, true, false))?>"><?=$this->highlight($summAuthors[0])?></a><? if (count($summAuthors) > 1): ?><span class="small">, <?=$this->transEsc('more_authors_abbrev')?></span><? endif; ?>
-          <? endif; ?>
-        <? endif; ?>
+            <a class="small date" href="<?=$this->record($driver)->getLink('author', $this->highlight($summAuthors[0], null, true, false))?>"><?=$this->highlight($summAuthors[0])?></a><?php if (count($summAuthors) > 1): ?><span class="small">, <?=$this->transEsc('more_authors_abbrev')?></span><?php endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <a class="list-group-item" href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrlQuery()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('More catalog results')?>...</a>
   </ul>
-<? endif ?>
+<?php endif ?>
diff --git a/themes/bootstrap3/templates/Recommend/Channels.phtml b/themes/bootstrap3/templates/Recommend/Channels.phtml
index 8fb018c7e03..082f2a71faf 100644
--- a/themes/bootstrap3/templates/Recommend/Channels.phtml
+++ b/themes/bootstrap3/templates/Recommend/Channels.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $results = $this->recommend->getResults();
     $link = $this->url('channels-search')
         . $results->getUrlQuery()->getParams(false)
diff --git a/themes/bootstrap3/templates/Recommend/CollectionSideFacets.phtml b/themes/bootstrap3/templates/Recommend/CollectionSideFacets.phtml
index 45d8d347c1a..a0fc65e5833 100644
--- a/themes/bootstrap3/templates/Recommend/CollectionSideFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/CollectionSideFacets.phtml
@@ -1,8 +1,8 @@
-<?
+<?php
     $this->overrideSideFacetCaption = 'In This Collection';
 ?>
-<? if ($this->recommend->keywordFilterEnabled()): ?>
-  <?
+<?php if ($this->recommend->keywordFilterEnabled()): ?>
+  <?php
     $keywordFilter = $this->recommend->getKeywordFilter();
     if (!empty($keywordFilter)) {
       $this->extraSideFacetFilters = [
@@ -17,7 +17,7 @@
       ];
     }
   ?>
-  <? ob_start() ?>
+  <?php ob_start() ?>
   <div class="panel panel-default">
     <div class="panel-heading">
       <h4 class="panel-title">
@@ -27,17 +27,17 @@
     <div class="panel-body">
       <form class="form-inline" role="form" method="get" name="keywordFilterForm" id="keywordFilterForm">
         <input id="keywordFilter_lookfor" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($keywordFilter)?>" class="form-control"/>
-        <? foreach ($this->recommend->getResults()->getParams()->getFilterList(true) as $field => $filters): ?>
-          <? foreach ($filters as $filter): ?>
+        <?php foreach ($this->recommend->getResults()->getParams()->getFilterList(true) as $field => $filters): ?>
+          <?php foreach ($filters as $filter): ?>
             <input type="hidden" name="filter[]" value="<?=$this->escapeHtmlAttr($filter['field'])?>:&quot;<?=$this->escapeHtmlAttr($filter['value'])?>&quot;" />
-          <? endforeach; ?>
-        <? endforeach; ?>
+          <?php endforeach; ?>
+        <?php endforeach; ?>
         <input class="btn btn-default" type="submit" name="submit" value="<?=$this->transEsc('Set')?>"/>
       </form>
     </div>
   </div>
-  <? $this->sideFacetExtraControls = ob_get_contents(); ?>
-  <? ob_end_clean(); ?>
-<? endif; ?>
-<? $this->baseUriExtra = $this->recommend->getResults()->getParams()->getCollectionId(); ?>
+  <?php $this->sideFacetExtraControls = ob_get_contents(); ?>
+  <?php ob_end_clean(); ?>
+<?php endif; ?>
+<?php $this->baseUriExtra = $this->recommend->getResults()->getParams()->getCollectionId(); ?>
 <?=$this->render('Recommend/SideFacets.phtml')?>
diff --git a/themes/bootstrap3/templates/Recommend/DOI.phtml b/themes/bootstrap3/templates/Recommend/DOI.phtml
index f15e2a6b06a..384d32735b6 100644
--- a/themes/bootstrap3/templates/Recommend/DOI.phtml
+++ b/themes/bootstrap3/templates/Recommend/DOI.phtml
@@ -1,10 +1,10 @@
-<? $doi = $this->recommend->getDOI(); if (!empty($doi)): ?>
-  <? $url = $this->recommend->getURL(); ?>
+<?php $doi = $this->recommend->getDOI(); if (!empty($doi)): ?>
+  <?php $url = $this->recommend->getURL(); ?>
   <div class="alert alert-info">
     <?=$this->translate('doi_detected_html', ['%%url%%' => $url, '%%doi%%' => $doi])?>
   </div>
-  <? if ($this->recommend->isFullMatch()): ?>
-    <? $redirect = 'document.location.href = "' . $this->escapeJs($url) . '";'; ?>
+  <?php if ($this->recommend->isFullMatch()): ?>
+    <?php $redirect = 'document.location.href = "' . $this->escapeJs($url) . '";'; ?>
     <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $redirect, 'SET')?>
-  <? endif; ?>
-<? endif; ?>
+  <?php endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/DPLATerms.phtml b/themes/bootstrap3/templates/Recommend/DPLATerms.phtml
index 267c561a9ce..17a72bc3818 100644
--- a/themes/bootstrap3/templates/Recommend/DPLATerms.phtml
+++ b/themes/bootstrap3/templates/Recommend/DPLATerms.phtml
@@ -1,18 +1,18 @@
-<? $results = $this->recommend->getResults(); ?>
-<? if(!empty($results)): ?>
+<?php $results = $this->recommend->getResults(); ?>
+<?php if(!empty($results)): ?>
   <ul class="list-group" id="side-panel-dpla">
-    <li class="list-group-item title<? if($this->recommend->isCollapsed()): ?> collapsed<? endif ?>" data-toggle="collapse" href="#side-collapse-dpla">
+    <li class="list-group-item title<?php if($this->recommend->isCollapsed()): ?> collapsed<?php endif ?>" data-toggle="collapse" href="#side-collapse-dpla">
       DPLA
     </li>
-    <div id="side-collapse-dpla" class="collapse<? if(!$this->recommend->isCollapsed()): ?> in<? endif ?>">
-    <? foreach($results as $item): ?>
+    <div id="side-collapse-dpla" class="collapse<?php if(!$this->recommend->isCollapsed()): ?> in<?php endif ?>">
+    <?php foreach($results as $item): ?>
       <li class="list-group-item">
         <a href="<?=$item['link'] ?>" target="new"><?=$this->escapeHtml($item['title']) ?></a><br/>
-        <? if(!empty($item['desc'])): ?>
+        <?php if(!empty($item['desc'])): ?>
           <span class="desc" title="<?=$item['desc'] ?>"><?=$this->escapeHtml($this->truncate($item['desc'], 50)) ?></span><br/>
-        <? endif; ?>
+        <?php endif; ?>
         (<span class="from"><?=$this->transEsc('Provider') ?>: <?=$this->escapeHtml($item['provider']) ?></span>)
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/Deprecated.phtml b/themes/bootstrap3/templates/Recommend/Deprecated.phtml
index ff8266ef2c7..69cb7c76ea6 100644
--- a/themes/bootstrap3/templates/Recommend/Deprecated.phtml
+++ b/themes/bootstrap3/templates/Recommend/Deprecated.phtml
@@ -1,2 +1,2 @@
-<? /* do nothing -- this module is a placeholder for old deprecated features
+<?php /* do nothing -- this module is a placeholder for old deprecated features
       to prevent legacy configurations from causing fatal errors. */ ?>
diff --git a/themes/bootstrap3/templates/Recommend/EuropeanaResults.phtml b/themes/bootstrap3/templates/Recommend/EuropeanaResults.phtml
index 0b23e82cfb2..c52272607c9 100644
--- a/themes/bootstrap3/templates/Recommend/EuropeanaResults.phtml
+++ b/themes/bootstrap3/templates/Recommend/EuropeanaResults.phtml
@@ -1,4 +1,4 @@
-<? $data = $this->recommend->getResults(); if (is_array($data)): ?>
+<?php $data = $this->recommend->getResults(); if (is_array($data)): ?>
   <div class="sidegroup rssResults">
     <div class="suggestionHeader">
     <a href="http://www.europeana.eu/portal/" title="Europeana.eu" target="_blank">
@@ -7,18 +7,18 @@
     </div>
     <div>
       <ul class="list-group">
-        <? $i = 0; foreach ($data['worksArray'] as $workKey => $work): ?>
-          <li class="list-group-item suggestedResult <? (++$i % 2) ? 'alt ' : ''?>record<?=$i?>">
+        <?php $i = 0; foreach ($data['worksArray'] as $workKey => $work): ?>
+          <li class="list-group-item suggestedResult <?php (++$i % 2) ? 'alt ' : ''?>record<?=$i?>">
             <div class="resultitem clearfix">
-              <? if (isset($work['enclosure'])): ?>
+              <?php if (isset($work['enclosure'])): ?>
                 <span class="europeanaImg"><img src="<?=$this->escapeHtmlAttr($work['enclosure'])?>" id="europeanaImage<?=$this->escapeHtmlAttr($workKey)?>"/></span>
-              <? endif; ?>
+              <?php endif; ?>
               <a href="<?=$this->escapeHtmlAttr($work['link'])?>" target="_blank">
                 <span><?=$this->escapeHtml($this->truncate($work['title'], 90))?></span>
               </a>
             </div>
           </li>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </ul>
       <p class="olSubjectMore">
         <a href="<?=$this->escapeHtmlAttr($data['sourceLink'])?>" title="<?=$this->escapeHtmlAttr($data['feedTitle'])?>" target="_blank">
@@ -28,4 +28,4 @@
     </div>
   </div>
   <div class="clearfix"></div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/EuropeanaResultsDeferred.phtml b/themes/bootstrap3/templates/Recommend/EuropeanaResultsDeferred.phtml
index df193c4f4b7..71299f87d89 100644
--- a/themes/bootstrap3/templates/Recommend/EuropeanaResultsDeferred.phtml
+++ b/themes/bootstrap3/templates/Recommend/EuropeanaResultsDeferred.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up Javascript for use below:
     $loadJs = 'var url = VuFind.path + "/AJAX/Recommend?' . $this->recommend->getUrlParams() . '";'
         . "\$('#EuropeanaDeferredRecommend').load(url);";
diff --git a/themes/bootstrap3/templates/Recommend/ExpandFacets.phtml b/themes/bootstrap3/templates/Recommend/ExpandFacets.phtml
index 959dd28c01c..285e8628faf 100644
--- a/themes/bootstrap3/templates/Recommend/ExpandFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/ExpandFacets.phtml
@@ -1,17 +1,17 @@
-<?
+<?php
   $expandFacetSet = $this->recommend->getExpandedSet();
   // Get empty search object to use as basis for parameter generation below:
   $blankResults = $this->recommend->getEmptyResults();
 ?>
-<? if ($expandFacetSet): ?>
+<?php if ($expandFacetSet): ?>
   <div class="sidegroup">
- <? foreach ($expandFacetSet as $title => $cluster): ?>
+ <?php foreach ($expandFacetSet as $title => $cluster): ?>
     <h4><?=$this->transEsc($cluster['label']) ?></h4>
     <div class="list-group">
-      <? foreach ($cluster['list'] as $thisFacet): ?>
+      <?php foreach ($cluster['list'] as $thisFacet): ?>
         <a class="list-group-item" href="<?=$this->url('search-results') . $blankResults->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
- <? endforeach; ?>
+ <?php endforeach; ?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/FacetCloud.phtml b/themes/bootstrap3/templates/Recommend/FacetCloud.phtml
index c71334d4d57..19581cb55a4 100644
--- a/themes/bootstrap3/templates/Recommend/FacetCloud.phtml
+++ b/themes/bootstrap3/templates/Recommend/FacetCloud.phtml
@@ -1,15 +1,15 @@
-<?
+<?php
     $expandFacetSet = $this->recommend->getExpandedSet();
     // Get empty search object to use as basis for parameter generation below:
     $blankResults = $this->recommend->getEmptyResults();
     $cloudLimit = $this->recommend->getFacetLimit();
 ?>
-<? if ($expandFacetSet): ?>
+<?php if ($expandFacetSet): ?>
   <div class="sidegroup">
-    <? foreach ($expandFacetSet as $title => $facets): ?>
+    <?php foreach ($expandFacetSet as $title => $facets): ?>
       <dl class="narrowList navmenu">
         <dt><?=$this->transEsc($facets['label']) ?></dt>
-        <?
+        <?php
         foreach ($facets['list'] as $i => $facetItem) {
             if ($i < $cloudLimit) {
                 echo(($i == 0) ? '' : ', ')
@@ -23,6 +23,6 @@
         }
         ?>
       </dl>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/FavoriteFacets.phtml b/themes/bootstrap3/templates/Recommend/FavoriteFacets.phtml
index 5b940b1d7df..1a071eb425b 100644
--- a/themes/bootstrap3/templates/Recommend/FavoriteFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/FavoriteFacets.phtml
@@ -1,28 +1,28 @@
-<? $results = $this->recommend->getResults(); ?>
-<? $sideFacetSet = $this->recommend->getFacetSet(); ?>
+<?php $results = $this->recommend->getResults(); ?>
+<?php $sideFacetSet = $this->recommend->getFacetSet(); ?>
 
-<? if (isset($sideFacetSet['tags']) && !empty($sideFacetSet['tags']['list'])): ?>
+<?php if (isset($sideFacetSet['tags']) && !empty($sideFacetSet['tags']['list'])): ?>
   <h4 class="tag"><?=$this->transEsc($sideFacetSet['tags']['label'])?></h4>
   <ul class="list-group">
-  <? $filterList = $results->getParams()->getFilterList(true);
+  <?php $filterList = $results->getParams()->getFilterList(true);
      $tagFilterList = isset($filterList[$sideFacetSet['tags']['label']]) ? $filterList[$sideFacetSet['tags']['label']] : null; ?>
-    <? if (!empty($tagFilterList)): ?>
-      <? $field = $sideFacetSet['tags']['label']; ?>
-      <? foreach ($tagFilterList as $filter): ?>
-        <? $removeLink = $this->currentPath() . $results->getUrlQuery()->removeFacet($filter['field'], $filter['value']); ?>
+    <?php if (!empty($tagFilterList)): ?>
+      <?php $field = $sideFacetSet['tags']['label']; ?>
+      <?php foreach ($tagFilterList as $filter): ?>
+        <?php $removeLink = $this->currentPath() . $results->getUrlQuery()->removeFacet($filter['field'], $filter['value']); ?>
         <a class="list-group-item active" href="<?=$removeLink?>">
           <span class="pull-right flip"><i class="fa fa-minus-circle" aria-hidden="true"></i></span>
           <?=$this->escapeHtml($filter['displayText'])?>
         </a>
-      <? endforeach; ?>
-    <? endif; ?>
-    <? foreach($sideFacetSet['tags']['list'] as $thisFacet): ?>
-      <? if(!$thisFacet['isApplied']): ?>
+      <?php endforeach; ?>
+    <?php endif; ?>
+    <?php foreach($sideFacetSet['tags']['list'] as $thisFacet): ?>
+      <?php if(!$thisFacet['isApplied']): ?>
         <a class="list-group-item" href="<?=$this->currentPath() . $results->getUrlQuery()->addFacet('tags', $thisFacet['value'])?>">
           <span class="badge"><?=$this->escapeHtml($thisFacet['count'])?></span>
           <?=$this->escapeHtml($thisFacet['displayText'])?>
         </a>
-      <? endif ?>
-    <? endforeach; ?>
+      <?php endif ?>
+    <?php endforeach; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/MapSelection.phtml b/themes/bootstrap3/templates/Recommend/MapSelection.phtml
index da4ed90b09b..af3c9eca9ff 100644
--- a/themes/bootstrap3/templates/Recommend/MapSelection.phtml
+++ b/themes/bootstrap3/templates/Recommend/MapSelection.phtml
@@ -1,5 +1,5 @@
-<? if ($this->recommend->getSearchResultCoordinates()) :?>
-<?
+<?php if ($this->recommend->getSearchResultCoordinates()) :?>
+<?php
   $this->headScript()->appendFile('vendor/ol/ol.js');
   $this->headScript()->appendFile('map_selection.js');
   $this->headLink()->appendStylesheet('vendor/ol/ol.css');
@@ -35,10 +35,10 @@ EOF;
       <div id="popup"></div>
     </div>
   </div>
-  <? if ($showSelection) :?>
+  <?php if ($showSelection) :?>
     <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $jsLoad, 'SET');?>
-  <? else: ?>
+  <?php else: ?>
     <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $addSearchOption, 'SET');?>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/OpenLibrarySubjects.phtml b/themes/bootstrap3/templates/Recommend/OpenLibrarySubjects.phtml
index d1ad292c9e9..d9a900ec170 100644
--- a/themes/bootstrap3/templates/Recommend/OpenLibrarySubjects.phtml
+++ b/themes/bootstrap3/templates/Recommend/OpenLibrarySubjects.phtml
@@ -1,26 +1,26 @@
-<? $data = $this->recommend->getResult(); if (is_array($data)): ?>
+<?php $data = $this->recommend->getResult(); if (is_array($data)): ?>
 <div class="sidegroup">
-  <h4>Open Library <? /* Intentionally not translated -- this is a site name, not a phrase */ ?></h4>
+  <h4>Open Library <?php /* Intentionally not translated -- this is a site name, not a phrase */ ?></h4>
   <div><?=$this->transEsc('Results for')?> <?=$this->escapeHtmlAttr($data['subject'])?> ...</div>
   <ul class="similar">
-    <? foreach ($data['worksArray'] as $work): ?>
+    <?php foreach ($data['worksArray'] as $work): ?>
       <li>
         <a href="http://openlibrary.org<?=$work['key']?>" title="<?=$this->transEsc('Get full text')?>" target="_blank">
           <span class="olSubjectCover">
-          <? if (isset($work['cover_id']) && !empty($work['cover_id'])): ?>
+          <?php if (isset($work['cover_id']) && !empty($work['cover_id'])): ?>
             <img src="http://covers.openlibrary.org/b/<?=$this->escapeHtmlAttr($work['cover_id_type'])?>/<?=$this->escapeHtmlAttr($work['cover_id'])?>-S.jpg" class="olSubjectImage" alt="<?=$this->escapeHtmlAttr($work['title'])?>" />
-          <? else: ?>
+          <?php else: ?>
             <img src="<?=$this->imageLink('noCover2.gif')?>" class="olSubjectImage" alt="<?=$this->escapeHtmlAttr($work['title'])?>" />
-          <? endif; ?>
+          <?php endif; ?>
           </span>
           <span><?=$this->escapeHtmlAttr($this->truncate($work['title'], 50))?></span>
-          <? if (isset($work['mainAuthor'])): ?>
+          <?php if (isset($work['mainAuthor'])): ?>
             <span class="olSubjectAuthor"><?=$this->transEsc('by')?> <?=$this->escapeHtmlAttr($this->truncate($work['mainAuthor'], 40))?></span>
-          <? endif; ?>
+          <?php endif; ?>
         </a>
         <div class="clearfix"></div>
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </ul>
   <p class="olSubjectMore">
     <a href="http://openlibrary.org/subjects" title="Open Library" target="_blank">
@@ -28,4 +28,4 @@
     </a>
   </p>
 </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/OpenLibrarySubjectsDeferred.phtml b/themes/bootstrap3/templates/Recommend/OpenLibrarySubjectsDeferred.phtml
index 0e54681e661..0ab09b0806f 100644
--- a/themes/bootstrap3/templates/Recommend/OpenLibrarySubjectsDeferred.phtml
+++ b/themes/bootstrap3/templates/Recommend/OpenLibrarySubjectsDeferred.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up Javascript for use below:
     $loadJs = 'var url = VuFind.path + "/AJAX/Recommend?' . $this->recommend->getUrlParams() . '";'
         . "\$('#openLibraryDeferredRecommend').load(url);";
diff --git a/themes/bootstrap3/templates/Recommend/PubDateVisAjax.phtml b/themes/bootstrap3/templates/Recommend/PubDateVisAjax.phtml
index 6f8f54ac2f0..542e4b60e81 100644
--- a/themes/bootstrap3/templates/Recommend/PubDateVisAjax.phtml
+++ b/themes/bootstrap3/templates/Recommend/PubDateVisAjax.phtml
@@ -1,5 +1,5 @@
-<? if ($visFacets = $this->recommend->getVisFacets()): ?>
-  <?
+<?php if ($visFacets = $this->recommend->getVisFacets()): ?>
+  <?php
     // load jQuery flot:
     $this->headScript()->appendFile('vendor/flot/excanvas.min.js', null, ['conditional' => 'IE']);
     $this->headScript()->appendFile('vendor/flot/jquery.flot.min.js');
@@ -7,22 +7,22 @@
     $this->headScript()->appendFile('vendor/flot/jquery.flot.selection.min.js');
     $this->headScript()->appendFile('pubdate_vis.js');
   ?>
-  <? foreach ($visFacets as $facetField => $facetRange): ?>
+  <?php foreach ($visFacets as $facetField => $facetRange): ?>
     <div class="authorbox">
       <div id="datevis<?=$this->escapeHtml($facetField)?>xWrapper" class="hidden">
         <strong><?=$this->transEsc($facetRange['label']) ?></strong>
-        <? /* space the flot visualisation */ ?>
+        <?php /* space the flot visualisation */ ?>
         <div id="datevis<?=$facetField ?>x" style="margin:0 10px;width:auto;height:80px;cursor:crosshair;"></div>
         <div id="clearButtonText" style="display: none"><?=$this->transEsc('Clear') ?></div>
       </div>
     </div>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <div id="dateVisColorSettings"><!-- do not delete! used for passing CSS to Javascript --></div>
-  <?
+  <?php
     $js = "loadVis('" . $this->recommend->getFacetFields() . "', '"
         . $this->recommend->getSearchParams() . "', VuFind.path, "
         . $this->recommend->getZooming() . ");";
     echo $this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $js, 'SET');
   ?>
 
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/RandomRecommend.phtml b/themes/bootstrap3/templates/Recommend/RandomRecommend.phtml
index c5c1b3e4bfa..f083a9bd648 100644
--- a/themes/bootstrap3/templates/Recommend/RandomRecommend.phtml
+++ b/themes/bootstrap3/templates/Recommend/RandomRecommend.phtml
@@ -1,35 +1,35 @@
-<? $recommend = $this->recommend->getResults(); if (count($recommend) > 0): ?>
+<?php $recommend = $this->recommend->getResults(); if (count($recommend) > 0): ?>
   <ul class="list-group random <?=$this->recommend->getDisplayMode()?>">
     <li class="list-group-item title" data-toggle="collapse" href="#side-collapse-randomrecommend">
       <?=$this->transEsc("random_recommendation_title")?>
     </li>
-    <div id="side-collapse-randomrecommend" class="collapse<? if(!in_array('RandomRecommend', $collapsedFacets)): ?> in<? endif ?>">
-    <? foreach ($recommend as $driver): ?>
+    <div id="side-collapse-randomrecommend" class="collapse<?php if(!in_array('RandomRecommend', $collapsedFacets)): ?> in<?php endif ?>">
+    <?php foreach ($recommend as $driver): ?>
       <li class="list-group-item">
-        <? if ($this->recommend->getDisplayMode() === "images" || $this->recommend->getDisplayMode() === "mixed"): ?>
-          <? /* Display thumbnail if appropriate: */ ?>
+        <?php if ($this->recommend->getDisplayMode() === "images" || $this->recommend->getDisplayMode() === "mixed"): ?>
+          <?php /* Display thumbnail if appropriate: */ ?>
           <?=$this->record($driver)->getCover('RandomRecommend', 'small:medium', $this->recordLink()->getUrl($driver)); ?>
-        <? endif; ?>
+        <?php endif; ?>
 
-        <? $formats = $driver->getFormats(); $format = isset($formats[0]) ? $formats[0] : ''; ?>
+        <?php $formats = $driver->getFormats(); $format = isset($formats[0]) ? $formats[0] : ''; ?>
         <a href="<?=$this->recordLink()->getUrl($driver)?>" class="title <?=$this->record($driver)->getFormatClass($format)?> clearfix">
           <?=$this->record($driver)->getTitleHtml()?>
-          <? $summAuthors = $driver->getPrimaryAuthors(); ?>
-          <span class="small<? if (!empty($summAuthors)): ?> pull-right flip<? endif; ?>">
-            <? $summDate = $driver->getPublicationDates(); ?>
-            <? if (!empty($summDate)): ?>
+          <?php $summAuthors = $driver->getPrimaryAuthors(); ?>
+          <span class="small<?php if (!empty($summAuthors)): ?> pull-right flip<?php endif; ?>">
+            <?php $summDate = $driver->getPublicationDates(); ?>
+            <?php if (!empty($summDate)): ?>
               <?=$this->transEsc('Published')?>: (<?=$this->escapeHtml($summDate[0])?>)
-            <? endif; ?>
+            <?php endif; ?>
           </span>
         </a>
-        <? if (!empty($summAuthors)): ?>
+        <?php if (!empty($summAuthors)): ?>
           <span class="small text-right">
             <?=$this->transEsc('By')?>
-            <a href="<?=$this->record($driver)->getLink('author', $summAuthors[0])?>"><?=$this->escapeHtml($summAuthors[0])?></a><? if (count($summAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?>
+            <a href="<?=$this->record($driver)->getLink('author', $summAuthors[0])?>"><?=$this->escapeHtml($summAuthors[0])?></a><?php if (count($summAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?>
           </span>
-        <? endif; ?>
+        <?php endif; ?>
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     </div>
   </ul>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/RemoveFilters.phtml b/themes/bootstrap3/templates/Recommend/RemoveFilters.phtml
index 124f3dc28a7..06168da8dfa 100644
--- a/themes/bootstrap3/templates/Recommend/RemoveFilters.phtml
+++ b/themes/bootstrap3/templates/Recommend/RemoveFilters.phtml
@@ -1,6 +1,6 @@
-<? if ($this->recommend->hasFilters()): ?>
+<?php if ($this->recommend->hasFilters()): ?>
   <div class="alert alert-info">
     <?=$this->transEsc('nohit_active_filters')?> 
     <a href="<?=$this->recommend->getFilterlessUrl()?>"><?=$this->transEsc('nohit_query_without_filters')?></a>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SideFacets.phtml b/themes/bootstrap3/templates/Recommend/SideFacets.phtml
index 4cbe8467a75..56c2dc4d051 100644
--- a/themes/bootstrap3/templates/Recommend/SideFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/SideFacets.phtml
@@ -1,16 +1,16 @@
-<?
+<?php
   $this->headScript()->appendFile('facets.js');
 
   // Save results/options to $this so they are available to sub-templates:
   $this->results = $results = $this->recommend->getResults();
   $this->options = $options = $results->getOptions();
 ?>
-<? if ($results->getResultTotal() > 0): ?>
+<?php if ($results->getResultTotal() > 0): ?>
   <h4><?=$this->transEsc(isset($this->overrideSideFacetCaption) ? $this->overrideSideFacetCaption : 'Narrow Search')?></h4>
-<? endif; ?>
-<? $checkboxFilters = $results->getParams()->getCheckboxFacets(); ?>
-<? $checkboxesShown = false; ?>
-<? if (count($checkboxFilters) > 0):
+<?php endif; ?>
+<?php $checkboxFilters = $results->getParams()->getCheckboxFacets(); ?>
+<?php $checkboxesShown = false; ?>
+<?php if (count($checkboxFilters) > 0):
     foreach ($checkboxFilters as $current) {
       if ($results->getResultTotal() > 0 || $current['selected'] || $current['alwaysVisible']) {
         $checkboxesShown = true;
@@ -18,58 +18,58 @@
       }
     }
   ?>
-  <? if ($checkboxesShown): ?>
+  <?php if ($checkboxesShown): ?>
     <div class="checkboxFilter">
       <?=$this->context($this)->renderInContext('Recommend/SideFacets/checkbox-filters.phtml', ['checkboxFilters' => $checkboxFilters, 'results' => $results]); ?>
     </div>
-  <? endif; ?>
-<? endif; ?>
-<? $extraFilters = isset($this->extraSideFacetFilters) ? $this->extraSideFacetFilters : []; ?>
-<? $collapsedFacets = $this->recommend->getCollapsedFacets() ?>
-<? $filterList = array_merge($results->getParams()->getFilterList(true), $extraFilters); ?>
-<? if (!empty($filterList)): ?>
+  <?php endif; ?>
+<?php endif; ?>
+<?php $extraFilters = isset($this->extraSideFacetFilters) ? $this->extraSideFacetFilters : []; ?>
+<?php $collapsedFacets = $this->recommend->getCollapsedFacets() ?>
+<?php $filterList = array_merge($results->getParams()->getFilterList(true), $extraFilters); ?>
+<?php if (!empty($filterList)): ?>
   <?=$this->context($this)->renderInContext('Recommend/SideFacets/filter-list.phtml', [
     'collapsedFacets' => $collapsedFacets,
     'extraFilters' => $extraFilters,
     'filterList' => $filterList,
   ]); ?>
-<? endif; ?>
+<?php endif; ?>
 <?= isset($this->sideFacetExtraControls) ? $this->sideFacetExtraControls : '' ?>
-<? $sideFacetSet = $this->recommend->getFacetSet(); $rangeFacets = $this->recommend->getAllRangeFacets(); ?>
-<? $hierarchicalFacets = $this->recommend->getHierarchicalFacets() ?>
-<? $hierarchicalFacetSortOptions = $this->recommend->getHierarchicalFacetSortOptions() ?>
-<? if (!empty($sideFacetSet) && $results->getResultTotal() > 0): ?>
-  <? foreach ($sideFacetSet as $title => $cluster): ?>
+<?php $sideFacetSet = $this->recommend->getFacetSet(); $rangeFacets = $this->recommend->getAllRangeFacets(); ?>
+<?php $hierarchicalFacets = $this->recommend->getHierarchicalFacets() ?>
+<?php $hierarchicalFacetSortOptions = $this->recommend->getHierarchicalFacetSortOptions() ?>
+<?php if (!empty($sideFacetSet) && $results->getResultTotal() > 0): ?>
+  <?php foreach ($sideFacetSet as $title => $cluster): ?>
     <div class="facet-group" id="side-panel-<?=$this->escapeHtmlAttr($title) ?>">
-      <button class="title<? if(in_array($title, $collapsedFacets)): ?> collapsed<? endif ?>" data-toggle="collapse" href="#side-collapse-<?=$this->escapeHtmlAttr($title) ?>" >
+      <button class="title<?php if(in_array($title, $collapsedFacets)): ?> collapsed<?php endif ?>" data-toggle="collapse" href="#side-collapse-<?=$this->escapeHtmlAttr($title) ?>" >
         <?=$this->transEsc($cluster['label'])?>
       </button>
-      <div id="side-collapse-<?=$this->escapeHtmlAttr($title) ?>" class="collapse<? if(!in_array($title, $collapsedFacets)): ?> in<? endif ?>">
-        <? if (isset($rangeFacets[$title])): ?>
+      <div id="side-collapse-<?=$this->escapeHtmlAttr($title) ?>" class="collapse<?php if(!in_array($title, $collapsedFacets)): ?> in<?php endif ?>">
+        <?php if (isset($rangeFacets[$title])): ?>
           <?=$this->context($this)->renderInContext('Recommend/SideFacets/range-slider.phtml', ['title' => $title, 'facet' => $rangeFacets[$title]]); ?>
-        <? else: ?>
-          <? $contextVars = [
+        <?php else: ?>
+          <?php $contextVars = [
             'allowExclude' => $this->recommend->excludeAllowed($title),
             'title' => $title,
             'sortOptions' => isset($hierarchicalFacetSortOptions[$title]) ? $hierarchicalFacetSortOptions[$title] : '',
             'collapsedFacets' => $collapsedFacets
           ]; ?>
-          <? if (in_array($title, $hierarchicalFacets)): ?>
+          <?php if (in_array($title, $hierarchicalFacets)): ?>
             <?=$this->context($this)->renderInContext('Recommend/SideFacets/hierarchical-facet.phtml', $contextVars); ?>
             <noscript>
-          <? endif; ?>
-          <? $contextVars = [
+          <?php endif; ?>
+          <?php $contextVars = [
             'options' => $options,
             'allowExclude' => $this->recommend->excludeAllowed($title),
             'facets_before_more' => $this->recommend->getShowMoreSetting($title),
             'showMoreInLightbox' => $this->recommend->getShowInLightboxSetting($title)
           ]; ?>
           <?=$this->context($this)->renderInContext('Recommend/SideFacets/cluster-list.phtml', array_merge($contextVars, ['title' => $title, 'cluster' => $cluster])); ?>
-          <? if (in_array($title, $hierarchicalFacets)): ?>
+          <?php if (in_array($title, $hierarchicalFacets)): ?>
             </noscript>
-          <? endif; ?>
-        <? endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
       </div>
     </div>
-  <? endforeach; ?>
-<? endif; ?>
+  <?php endforeach; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SideFacets/checkbox-filters.phtml b/themes/bootstrap3/templates/Recommend/SideFacets/checkbox-filters.phtml
index c9b9a7e0b11..3290f56bb4c 100644
--- a/themes/bootstrap3/templates/Recommend/SideFacets/checkbox-filters.phtml
+++ b/themes/bootstrap3/templates/Recommend/SideFacets/checkbox-filters.phtml
@@ -1,9 +1,9 @@
-<? foreach ($checkboxFilters as $current): ?>
-  <a class="checkbox-filter<? if(!($results->getResultTotal() > 0 || $current['selected'] || $current['alwaysVisible'])): ?> hidden<? endif; ?>" href="<?=$current['selected'] ? $results->getUrlQuery()->removeFilter($current['filter']) : $results->getUrlQuery()->addFilter($current['filter']);?>">
-    <? if ($current['selected']): ?>
+<?php foreach ($checkboxFilters as $current): ?>
+  <a class="checkbox-filter<?php if(!($results->getResultTotal() > 0 || $current['selected'] || $current['alwaysVisible'])): ?> hidden<?php endif; ?>" href="<?=$current['selected'] ? $results->getUrlQuery()->removeFilter($current['filter']) : $results->getUrlQuery()->addFilter($current['filter']);?>">
+    <?php if ($current['selected']): ?>
       <span class="sr-only"><?=$this->transEsc('clear_tag_filter') ?></span>
-    <? endif; ?>
+    <?php endif; ?>
     <i class="fa fa-<?=$current['selected'] ? 'check-square-o' : 'square-o' ?>"></i>
     <?=$this->transEsc($current['desc']) ?>
   </a>
-<? endforeach; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SideFacets/cluster-list.phtml b/themes/bootstrap3/templates/Recommend/SideFacets/cluster-list.phtml
index b3e281e4dc9..2353917ecb1 100644
--- a/themes/bootstrap3/templates/Recommend/SideFacets/cluster-list.phtml
+++ b/themes/bootstrap3/templates/Recommend/SideFacets/cluster-list.phtml
@@ -1,78 +1,78 @@
-<? $idAndClass = 'id="more-narrowGroupHidden-' . $this->escapeHtmlAttr($this->title) . '" class="facet narrow-toggle"'; ?>
-<? $moreClass = 'narrowGroupHidden-' . $this->escapeHtmlAttr($this->title) . ' hidden'; ?>
-<? foreach ($this->cluster['list'] as $i => $thisFacet): ?>
-  <?
+<?php $idAndClass = 'id="more-narrowGroupHidden-' . $this->escapeHtmlAttr($this->title) . '" class="facet narrow-toggle"'; ?>
+<?php $moreClass = 'narrowGroupHidden-' . $this->escapeHtmlAttr($this->title) . ' hidden'; ?>
+<?php foreach ($this->cluster['list'] as $i => $thisFacet): ?>
+  <?php
     if(empty($thisFacet['displayText'])) {
       $thisFacet['displayText'] = "-";
     }
   ?>
-  <? /* MORE link */ ?>
-  <? if ($i == $this->facets_before_more): ?>
-    <? if ($facetLightbox = $this->options->getFacetListAction()): ?>
-      <? $moreUrl = $this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . $this->title . '&amp;facetop=' . $thisFacet['operator'] . '&amp;facetexclude=' . ($this->allowExclude ? 1 : 0); ?>
-    <? else: ?>
-      <? $moreUrl = '#'; ?>
-    <? endif; ?>
-    <? if (($this->showMoreInLightbox && $this->showMoreInLightbox !== 'more') && $facetLightbox): ?>
+  <?php /* MORE link */ ?>
+  <?php if ($i == $this->facets_before_more): ?>
+    <?php if ($facetLightbox = $this->options->getFacetListAction()): ?>
+      <?php $moreUrl = $this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . $this->title . '&amp;facetop=' . $thisFacet['operator'] . '&amp;facetexclude=' . ($this->allowExclude ? 1 : 0); ?>
+    <?php else: ?>
+      <?php $moreUrl = '#'; ?>
+    <?php endif; ?>
+    <?php if (($this->showMoreInLightbox && $this->showMoreInLightbox !== 'more') && $facetLightbox): ?>
       <a <?=$idAndClass ?> data-lightbox href="<?=$moreUrl ?>" rel="nofollow"><?=$this->transEsc('more')?> ...</a>
-      <? break; ?>
-    <? endif; ?>
+      <?php break; ?>
+    <?php endif; ?>
     <a <?=$idAndClass ?> href="<?=$moreUrl ?>" onclick="return moreFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')" rel="nofollow"><?=$this->transEsc('more')?> ...</a>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <?
+  <?php
     $affectiveURL = $thisFacet['isApplied']
       ? $this->currentPath() . $results->getUrlQuery()->removeFacet($this->title, $thisFacet['value'], $thisFacet['operator'])
       : $this->currentPath() . $results->getUrlQuery()->addFacet($this->title, $thisFacet['value'], $thisFacet['operator']);
   ?>
-  <? if (!$thisFacet['isApplied'] && $this->allowExclude): ?>
-    <div class="facet excludable facet<?=$thisFacet['operator'] ?><? if ($thisFacet['isApplied']): ?> active<? endif; ?><? if ($i >= $this->facets_before_more): ?> <?=$moreClass ?><? endif; ?>">
-      <? $excludeURL = $thisFacet['isApplied']
+  <?php if (!$thisFacet['isApplied'] && $this->allowExclude): ?>
+    <div class="facet excludable facet<?=$thisFacet['operator'] ?><?php if ($thisFacet['isApplied']): ?> active<?php endif; ?><?php if ($i >= $this->facets_before_more): ?> <?=$moreClass ?><?php endif; ?>">
+      <?php $excludeURL = $thisFacet['isApplied']
         ? $this->currentPath() . $results->getUrlQuery()->removeFacet($this->title, $thisFacet['value'], $thisFacet['operator'])->addFacet($this->title, $thisFacet['value'], 'NOT')
         : $this->currentPath() . $results->getUrlQuery()->addFacet($this->title, $thisFacet['value'], 'NOT');
       ?>
       <a href="<?=$excludeURL ?>" title="<?=$this->transEsc('exclude_facet') ?>" class="exclude"><i class="fa fa-times" aria-hidden="true"></i></a>
-  <? else: ?>
-    <a href="<?=$affectiveURL ?>" class="facet facet<?=$thisFacet['operator'] ?><? if ($thisFacet['isApplied']): ?> active<? endif; ?><? if ($i >= $this->facets_before_more): ?> <?=$moreClass ?><? endif; ?>">
-  <? endif; ?>
+  <?php else: ?>
+    <a href="<?=$affectiveURL ?>" class="facet facet<?=$thisFacet['operator'] ?><?php if ($thisFacet['isApplied']): ?> active<?php endif; ?><?php if ($i >= $this->facets_before_more): ?> <?=$moreClass ?><?php endif; ?>">
+  <?php endif; ?>
 
-  <? if ($thisFacet['isApplied']): ?>
+  <?php if ($thisFacet['isApplied']): ?>
     <span class="status"><i class="fa fa-check" aria-hidden="true"></i></span>
-  <? else: ?>
+  <?php else: ?>
     <span class="badge"><?=$this->localizedNumber($thisFacet['count'])?></span>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (!$thisFacet['isApplied'] && $this->allowExclude): ?>
+  <?php if (!$thisFacet['isApplied'] && $this->allowExclude): ?>
     <a href="<?=$affectiveURL ?>" class="text">
-  <? else: ?>
+  <?php else: ?>
     <span class="text">
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if ($thisFacet['operator'] == 'OR'): ?>
+  <?php if ($thisFacet['operator'] == 'OR'): ?>
     <i class="fa <?=$thisFacet['isApplied'] ? 'fa-check-square-o' : 'fa-square-o' ?>" aria-hidden="true"></i>
-  <? endif; ?>
+  <?php endif; ?>
 
   <?=$this->escapeHtml($thisFacet['displayText'])?>
 
-  <? if (!$thisFacet['isApplied'] && $this->allowExclude): ?>
+  <?php if (!$thisFacet['isApplied'] && $this->allowExclude): ?>
       </a>
     </div>
-  <? else: ?>
+  <?php else: ?>
       </span>
     </a>
-  <? endif; ?>
-<? endforeach; ?>
+  <?php endif; ?>
+<?php endforeach; ?>
 
-<? /* LESS and SEE MORE links */ ?>
-<? if (isset($i) && $i >= $this->facets_before_more): ?>
-  <? if ($this->showMoreInLightbox === 'more' && $facetLightbox = $options->getFacetListAction()): ?>
-    <?
+<?php /* LESS and SEE MORE links */ ?>
+<?php if (isset($i) && $i >= $this->facets_before_more): ?>
+  <?php if ($this->showMoreInLightbox === 'more' && $facetLightbox = $options->getFacetListAction()): ?>
+    <?php
       $moreUrl = $this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . $this->title . '&amp;facetop=' . $thisFacet['operator'] . '&amp;facetexclude=' . ($this->allowExclude ? 1 : 0);
       if (!empty($this->baseUriExtra)) {
         $moreUrl .= '&amp;baseUriExtra=' . urlencode($this->baseUriExtra);
       }
     ?>
     <a class="facet narrow-toggle <?=$moreClass ?>" data-lightbox href="<?=$moreUrl ?>" rel="nofollow"><?=$this->transEsc('see all')?> ...</a>
-  <? endif; ?>
+  <?php endif; ?>
   <a class="facet narrow-toggle <?=$moreClass ?>" href="#" onclick="return lessFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')"><?=$this->transEsc('less')?> ...</a>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SideFacets/filter-list.phtml b/themes/bootstrap3/templates/Recommend/SideFacets/filter-list.phtml
index e6d09c844bf..9f8ec1405e2 100644
--- a/themes/bootstrap3/templates/Recommend/SideFacets/filter-list.phtml
+++ b/themes/bootstrap3/templates/Recommend/SideFacets/filter-list.phtml
@@ -1,8 +1,8 @@
 <div class="facet-group active-filters">
   <div class="title"><?=$this->transEsc('Remove Filters')?></div>
-  <? foreach ($filterList as $field => $filters): ?>
-    <? foreach ($filters as $i => $filter): ?>
-      <?
+  <?php foreach ($filterList as $field => $filters): ?>
+    <?php foreach ($filters as $i => $filter): ?>
+      <?php
         $index = isset($filter['field']) ? array_search($filter['field'], $collapsedFacets) : false;
         if ($index !== false) {
           unset($collapsedFacets[$index]); // Open if we have a match
@@ -19,10 +19,10 @@
       <a class="facet" href="<?=$removeLink ?>" title="<?=$this->transEsc('clear_tag_filter') ?>">
         <span class="sr-only"><?=$this->transEsc('clear_tag_filter') ?></span>
         <span class="status"><i class="fa fa-times" aria-hidden="true"></i></span>
-        <? if ($filter['operator'] == 'NOT'): ?><?=$this->transEsc('NOT') ?><? endif; ?>
-        <? if ($filter['operator'] == 'OR' && $i > 0): ?><?=$this->transEsc('OR') ?><? endif; ?>
+        <?php if ($filter['operator'] == 'NOT'): ?><?=$this->transEsc('NOT') ?><?php endif; ?>
+        <?php if ($filter['operator'] == 'OR' && $i > 0): ?><?=$this->transEsc('OR') ?><?php endif; ?>
         <?=$this->transEsc($field) ?>: <?=$this->escapeHtml($filter['displayText']) ?>
       </a>
-    <? endforeach; ?>
-  <? endforeach; ?>
+    <?php endforeach; ?>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/Recommend/SideFacets/hierarchical-facet.phtml b/themes/bootstrap3/templates/Recommend/SideFacets/hierarchical-facet.phtml
index cf26f37cad7..df5d6691cdd 100644
--- a/themes/bootstrap3/templates/Recommend/SideFacets/hierarchical-facet.phtml
+++ b/themes/bootstrap3/templates/Recommend/SideFacets/hierarchical-facet.phtml
@@ -1,6 +1,6 @@
-<? $this->headScript()->appendFile('vendor/jsTree/jstree.min.js'); ?>
-<? if (!in_array($this->title, $this->collapsedFacets)): ?>
-  <?
+<?php $this->headScript()->appendFile('vendor/jsTree/jstree.min.js'); ?>
+<?php if (!in_array($this->title, $this->collapsedFacets)): ?>
+  <?php
     $script = <<<JS
 $(document).ready(function() {
   initFacetTree($('#facet_{$this->escapeHtml($this->title)}'), true);
@@ -8,8 +8,8 @@ $(document).ready(function() {
 JS;
   ?>
   <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
-<? else: ?>
-  <?
+<?php else: ?>
+  <?php
   $script = <<<JS
 $('#side-collapse-{$this->escapeHtmlAttr($this->title)}').on('show.bs.collapse', function() {
   initFacetTree($('#facet_{$this->escapeHtml($this->title)}'), true);
@@ -17,7 +17,7 @@ $('#side-collapse-{$this->escapeHtmlAttr($this->title)}').on('show.bs.collapse',
 JS;
   ?>
   <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
-<? endif; ?>
+<?php endif; ?>
 <li id="facet_<?=$this->escapeHtml($this->title)?>" class="jstree-facet"
     data-facet="<?=$this->escapeHtmlAttr($this->title)?>"
     data-path="<?=$this->currentPath()?>"
diff --git a/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml b/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml
index da7e61e6b00..35f3de7c543 100644
--- a/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml
+++ b/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml
@@ -3,7 +3,7 @@
     <?=$results->getUrlQuery()->asHiddenFields(['page' => "/./", 'filter' => "/^{$this->title}:.*/"])?>
     <input type="hidden" name="<?=$this->escapeHtmlAttr($this->facet['type'])?>range[]" value="<?=$this->escapeHtmlAttr($this->title)?>"/>
     <div class="date-fields">
-      <? $extraInputAttribs = ($this->facet['type'] == 'date') ? 'maxlength="4" ' : ''; ?>
+      <?php $extraInputAttribs = ($this->facet['type'] == 'date') ? 'maxlength="4" ' : ''; ?>
       <div class="date-from">
         <label for="<?=$this->escapeHtmlAttr($this->title)?>from">
           <?=$this->transEsc('date_from')?>:
@@ -17,16 +17,16 @@
         <input type="text" class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>to" id="<?=$this->escapeHtmlAttr($this->title)?>to" value="<?=isset($this->facet['values'][1])?$this->escapeHtmlAttr($this->facet['values'][1]):''?>" <?=$extraInputAttribs?>/>
       </div>
     </div>
-    <? if ($this->facet['type'] == 'date'): ?>
+    <?php if ($this->facet['type'] == 'date'): ?>
       <div class="slider-container"><input type="text" class="hidden" id="<?=$this->escapeHtmlAttr($this->title)?><?=$this->escapeHtml($this->facet['type'])?>Slider"/></div>
-    <? endif; ?>
+    <?php endif; ?>
     <input class="btn btn-default" type="submit" value="<?=$this->transEsc('Set')?>"/>
   </form>
 </div>
-<? if ($this->facet['type'] == 'date'): ?>
-  <? $this->headScript()->appendFile('vendor/bootstrap-slider.min.js'); ?>
-  <? $this->headLink()->appendStylesheet('vendor/bootstrap-slider.min.css'); ?>
-  <?
+<?php if ($this->facet['type'] == 'date'): ?>
+  <?php $this->headScript()->appendFile('vendor/bootstrap-slider.min.js'); ?>
+  <?php $this->headLink()->appendStylesheet('vendor/bootstrap-slider.min.css'); ?>
+  <?php
     $min = !empty($this->facet['values'][0]) ? min($this->facet['values'][0], 1400) : 1400;
     $future = date('Y', time() + 31536000); // next year
     $max = !empty($this->facet['values'][1]) ? max($future, $this->facet['values'][1]) : $future;
@@ -66,4 +66,4 @@ $('#{$this->escapeHtmlAttr($this->title)}from, #{$this->escapeHtmlAttr($this->ti
 JS;
   ?>
   <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SpellingSuggestions.phtml b/themes/bootstrap3/templates/Recommend/SpellingSuggestions.phtml
index 16c1c7b9a2e..5a69ac101d5 100644
--- a/themes/bootstrap3/templates/Recommend/SpellingSuggestions.phtml
+++ b/themes/bootstrap3/templates/Recommend/SpellingSuggestions.phtml
@@ -1,10 +1,10 @@
-<?
+<?php
     $results = $this->recommend->getResults();
     $label = $results->getResultTotal() > 0
         ? '<strong>' . $this->transEsc('spell_suggest') . '</strong>:'
         : $this->transEsc('nohit_spelling') . ':';
     $suggestions = $this->search()->renderSpellingSuggestions($label, $results, $this);
 ?>
-<? if (!empty($suggestions)): ?>
+<?php if (!empty($suggestions)): ?>
   <?=$suggestions?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SummonBestBets.phtml b/themes/bootstrap3/templates/Recommend/SummonBestBets.phtml
index 3302226bb5a..27733561fb5 100644
--- a/themes/bootstrap3/templates/Recommend/SummonBestBets.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonBestBets.phtml
@@ -1,14 +1,14 @@
-<? $summonBestBets = $this->recommend->getResults(); if (!empty($summonBestBets)): ?>
+<?php $summonBestBets = $this->recommend->getResults(); if (!empty($summonBestBets)): ?>
 <div class="authorbox">
-  <? foreach ($summonBestBets as $current): ?>
+  <?php foreach ($summonBestBets as $current): ?>
     <p>
-      <? if (isset($current['link']) && !empty($current['link'])):?>
+      <?php if (isset($current['link']) && !empty($current['link'])):?>
         <a href="<?=$this->escapeHtmlAttr($current['link'])?>"><?=$this->escapeHtml($current['title'])?></a>
-      <? else: ?>
+      <?php else: ?>
         <b><?=$this->escapeHtml($current['title'])?></b>
-      <? endif; ?>
+      <?php endif; ?>
       <br/><?=$current['description']?>
     </p>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SummonBestBetsDeferred.phtml b/themes/bootstrap3/templates/Recommend/SummonBestBetsDeferred.phtml
index 276d1da69e9..7a2e2490f3a 100644
--- a/themes/bootstrap3/templates/Recommend/SummonBestBetsDeferred.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonBestBetsDeferred.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up Javascript for use below:
   $loadJs = 'var url = VuFind.path + "/AJAX/Recommend?' . $this->recommend->getUrlParams() . '";'
     . "\$('#SummonDeferredBestBets').load(url);";
diff --git a/themes/bootstrap3/templates/Recommend/SummonDatabases.phtml b/themes/bootstrap3/templates/Recommend/SummonDatabases.phtml
index 2888ef723ef..c6834fb7d75 100644
--- a/themes/bootstrap3/templates/Recommend/SummonDatabases.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonDatabases.phtml
@@ -1,8 +1,8 @@
-<? $summonDatabases = $this->recommend->getResults(); if (!empty($summonDatabases)): ?>
+<?php $summonDatabases = $this->recommend->getResults(); if (!empty($summonDatabases)): ?>
 <div class="authorbox">
   <p><?=$this->transEsc('summon_database_recommendations')?></p>
-  <? foreach ($summonDatabases as $current): ?>
+  <?php foreach ($summonDatabases as $current): ?>
     <p><a href="<?=$this->escapeHtmlAttr($current['link'])?>"><?=$this->escapeHtml($current['title'])?></a><br/><?=$this->escapeHtml($current['description'])?></p>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SummonDatabasesDeferred.phtml b/themes/bootstrap3/templates/Recommend/SummonDatabasesDeferred.phtml
index 6d5270d3954..2c0f150f487 100644
--- a/themes/bootstrap3/templates/Recommend/SummonDatabasesDeferred.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonDatabasesDeferred.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up Javascript for use below:
   $loadJs = 'var url = VuFind.path + "/AJAX/Recommend?' . $this->recommend->getUrlParams() . '";'
     . "\$('#SummonDeferredDatabases').load(url);";
diff --git a/themes/bootstrap3/templates/Recommend/SummonResults.phtml b/themes/bootstrap3/templates/Recommend/SummonResults.phtml
index 0a539c4edf8..4e7ac74d3aa 100644
--- a/themes/bootstrap3/templates/Recommend/SummonResults.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonResults.phtml
@@ -1,22 +1,22 @@
-<? $searchObject = $this->recommend->getResults(); $results = $searchObject->getResults(); if (!empty($results)): ?>
+<?php $searchObject = $this->recommend->getResults(); $results = $searchObject->getResults(); if (!empty($results)): ?>
   <h4><?=$this->transEsc('Summon Results')?></h4>
   <div class="list-group">
-    <? foreach ($results as $driver): ?>
+    <?php foreach ($results as $driver): ?>
       <div class="list-group-item">
         <span>
-          <? $formats = $driver->getFormats(); $format = isset($formats[0]) ? $formats[0] : ''; ?>
+          <?php $formats = $driver->getFormats(); $format = isset($formats[0]) ? $formats[0] : ''; ?>
           <a href="<?=$this->recordLink()->getUrl($driver)?>" class="title <?=$this->record($driver)->getFormatClass($format)?>">
             <?=$this->record($driver)->getTitleHtml()?>
           </a>
-          <? $summAuthors = $driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
+          <?php $summAuthors = $driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
           <span class="small">
             <?=$this->transEsc('by')?>
-            <a href="<?=$this->record($driver)->getLink('author', $this->highlight($summAuthors[0], null, true, false))?>"><?=$this->highlight($summAuthors[0])?></a><? if (count($summAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?>
+            <a href="<?=$this->record($driver)->getLink('author', $this->highlight($summAuthors[0], null, true, false))?>"><?=$this->highlight($summAuthors[0])?></a><?php if (count($summAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?>
           </span>
-          <? endif; ?>
+          <?php endif; ?>
         </span>
       </div>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <a class="list-group-item" href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrlQuery()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('More Summon results')?>...</a>
   </div>
-<? endif ?>
+<?php endif ?>
diff --git a/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml b/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml
index 49fff6ea945..72c4ce280d3 100644
--- a/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up Javascript for use below:
   $loadJs = 'var url = VuFind.path + "/AJAX/Recommend?' . $this->recommend->getUrlParams() . '";'
     . "\$('#SummonDeferredRecommend').load(url);";
diff --git a/themes/bootstrap3/templates/Recommend/SummonTopics.phtml b/themes/bootstrap3/templates/Recommend/SummonTopics.phtml
index de7de6adfb9..988dd1f7688 100644
--- a/themes/bootstrap3/templates/Recommend/SummonTopics.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonTopics.phtml
@@ -1,18 +1,18 @@
-<? $summonTopics = $this->recommend->getResults(); if (!empty($summonTopics)): $summonTopics = current($summonTopics); ?>
+<?php $summonTopics = $this->recommend->getResults(); if (!empty($summonTopics)): $summonTopics = current($summonTopics); ?>
 <div class="authorbox">
   <p><b><?=$this->transEsc('Suggested Topics')?></b></p>
-  <? if (isset($summonTopics['title'])): ?>
+  <?php if (isset($summonTopics['title'])): ?>
     <p>
       <a href="<?=$this->url('summon-search')?>?lookfor=%22<?=urlencode($summonTopics['title'])?>%22"><?=$this->escapeHtml($summonTopics['title'])?></a><br />
-      <? if (isset($summonTopics['snippet'])): ?><?=$this->escapeHtml($summonTopics['snippet'])?><? endif; ?>
-      <? if (isset($summonTopics['sourceLink'])): ?><a href="<?=$this->escapeHtmlAttr($summonTopics['sourceLink'])?>"><?=$this->transEsc('more')?>...</a><? endif; ?>
+      <?php if (isset($summonTopics['snippet'])): ?><?=$this->escapeHtml($summonTopics['snippet'])?><?php endif; ?>
+      <?php if (isset($summonTopics['sourceLink'])): ?><a href="<?=$this->escapeHtmlAttr($summonTopics['sourceLink'])?>"><?=$this->transEsc('more')?>...</a><?php endif; ?>
     </p>
-  <? endif; ?>
-  <? if (isset($summonTopics['relatedTopics']) && !empty($summonTopics['relatedTopics'])): ?>
+  <?php endif; ?>
+  <?php if (isset($summonTopics['relatedTopics']) && !empty($summonTopics['relatedTopics'])): ?>
     <p>
       <b><?=$this->transEsc('wcterms_exact')?>:</b>
-      <? foreach ($summonTopics['relatedTopics'] as $i => $topic): ?><? if ($i > 0): ?>, <? endif; ?><a href="<?=$this->url('summon-search')?>?lookfor=%22<?=urlencode($topic['title'])?>%22"><?=$this->escapeHtml($topic['title'])?></a><? endforeach; ?>
+      <?php foreach ($summonTopics['relatedTopics'] as $i => $topic): ?><?php if ($i > 0): ?>, <?php endif; ?><a href="<?=$this->url('summon-search')?>?lookfor=%22<?=urlencode($topic['title'])?>%22"><?=$this->escapeHtml($topic['title'])?></a><?php endforeach; ?>
     </p>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SwitchQuery.phtml b/themes/bootstrap3/templates/Recommend/SwitchQuery.phtml
index ea7bb52c81e..5060ee838ac 100644
--- a/themes/bootstrap3/templates/Recommend/SwitchQuery.phtml
+++ b/themes/bootstrap3/templates/Recommend/SwitchQuery.phtml
@@ -1,10 +1,10 @@
-<? $suggestions = $this->recommend->getSuggestions(); if (!empty($suggestions)): ?>
+<?php $suggestions = $this->recommend->getSuggestions(); if (!empty($suggestions)): ?>
   <div class="alert alert-info">
     <p><?=$this->transEsc('switchquery_intro')?></p>
     <ul>
-      <? foreach ($suggestions as $desc => $query): ?>
+      <?php foreach ($suggestions as $desc => $query): ?>
         <li><?=$this->transEsc($desc)?>: <a href="<?=$this->recommend->getResults()->getUrlQuery()->setSearchTerms($query)?>"><?=$this->escapeHtml($query)?></a>.</li>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </ul>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SwitchTab.phtml b/themes/bootstrap3/templates/Recommend/SwitchTab.phtml
index e04632f53f2..a141ae55cf4 100644
--- a/themes/bootstrap3/templates/Recommend/SwitchTab.phtml
+++ b/themes/bootstrap3/templates/Recommend/SwitchTab.phtml
@@ -1,19 +1,19 @@
-<?
+<?php
   $tabConfig = is_object($this->params)
     ? $this->searchTabs()->getTabConfigForParams($this->params) : [];
 ?>
-<? if (count($tabConfig) > 0): ?>
+<?php if (count($tabConfig) > 0): ?>
   <div class="alert alert-info">
     <?=$this->transEsc('nohit_change_tab', ['%%activeTab%%' => $this->translate($this->recommend->getActiveTab($tabConfig)['label'])])?>
     <ul>
-    <? $inactiveTabs = $this->recommend->getInactiveTabs($tabConfig); ?>
-    <? foreach ($inactiveTabs as $tab): ?>
+    <?php $inactiveTabs = $this->recommend->getInactiveTabs($tabConfig); ?>
+    <?php foreach ($inactiveTabs as $tab): ?>
       <li>
-        <? if (!$tab['selected']): ?><a href="<?=$this->escapeHtmlAttr($tab['url'])?>"><? endif; ?>
+        <?php if (!$tab['selected']): ?><a href="<?=$this->escapeHtmlAttr($tab['url'])?>"><?php endif; ?>
           <?=$this->transEsc($tab['label']); ?>
-        <? if (!$tab['selected']): ?></a><? endif; ?>
+        <?php if (!$tab['selected']): ?></a><?php endif; ?>
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     </ul>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/SwitchType.phtml b/themes/bootstrap3/templates/Recommend/SwitchType.phtml
index 5c174ca1adc..d0d79784e90 100644
--- a/themes/bootstrap3/templates/Recommend/SwitchType.phtml
+++ b/themes/bootstrap3/templates/Recommend/SwitchType.phtml
@@ -1,6 +1,6 @@
-<? if ($handler = $this->recommend->getNewHandler()): ?>
+<?php if ($handler = $this->recommend->getNewHandler()): ?>
   <div class="alert alert-info">
     <?=$this->transEsc('widen_prefix')?>
     <a href="<?=$this->recommend->getResults()->getUrlQuery()->setHandler($handler)?>"><?=$this->transEsc($this->recommend->getNewHandlerName())?></a>.
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/TopFacets.phtml b/themes/bootstrap3/templates/Recommend/TopFacets.phtml
index 94f75f0d110..789ce06224a 100644
--- a/themes/bootstrap3/templates/Recommend/TopFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/TopFacets.phtml
@@ -1,24 +1,24 @@
-<?
+<?php
   // TODO: This file needs love
   $topFacetSet = $this->recommend->getTopFacetSet();
   $topFacetSettings = $this->recommend->getTopFacetSettings();
   $results = $this->recommend->getResults();
 ?>
-<? if (isset($topFacetSet)): ?>
-  <? foreach($topFacetSet as $title => $cluster): ?>
-    <? $moreClass = ' NarrowGroupHidden_' . $this->escapeHtml($title) . ' hidden'; ?>
-    <? $allowExclude = $this->recommend->excludeAllowed($title); ?>
+<?php if (isset($topFacetSet)): ?>
+  <?php foreach($topFacetSet as $title => $cluster): ?>
+    <?php $moreClass = ' NarrowGroupHidden_' . $this->escapeHtml($title) . ' hidden'; ?>
+    <?php $allowExclude = $this->recommend->excludeAllowed($title); ?>
     <div class="top-facets">
       <!--Toggle for mobile collapse -->
-      <? $topLabel = $this->transEsc('top_facet_label', ['%%label%%' => $this->translate($cluster['label'])]); ?>
+      <?php $topLabel = $this->transEsc('top_facet_label', ['%%label%%' => $this->translate($cluster['label'])]); ?>
       <a class="top-title js-toggle visible-xs" data-toggle="collapse" data-target="#top_<?=$this->escapeHtml($title) ?>"><i class="fa fa-caret-right"></i> <?=$topLabel ?></a>
       <!--Regular title for non-mobile -->
       <strong class="top-title hidden-xs"><?=$topLabel ?></strong>
       <div class="collapse in" id="top_<?=$this->escapeHtml($title) ?>">
-        <? $limit = $topFacetSettings['rows'] * $topFacetSettings['cols']; ?>
-        <? foreach($cluster['list'] as $index => $thisFacet): ?>
+        <?php $limit = $topFacetSettings['rows'] * $topFacetSettings['cols']; ?>
+        <?php foreach($cluster['list'] as $index => $thisFacet): ?>
           <span class="facet <?=$index > $limit ? $moreClass : '' ?>">
-            <? if ($thisFacet['isApplied']):
+            <?php if ($thisFacet['isApplied']):
               if (isset($thisFacet['specialType']) && $thisFacet['specialType'] == 'keyword') {
                 $removeLink = $this->currentPath() . $results->getUrlQuery()->replaceTerm($thisFacet['value'], '');
               } else {
@@ -27,34 +27,34 @@
               <a href="<?=$removeLink ?>" class="applied">
                 <?=$this->escapeHtml($thisFacet['displayText'])?> <i class="fa fa-check" aria-hidden="true"></i><!--
            --></a>
-            <? else: ?>
+            <?php else: ?>
               <a href="<?=$this->currentPath() . $results->getUrlQuery()->addFacet($title, $thisFacet['value'], $thisFacet['operator'])?>">
                 <?=$this->escapeHtml($thisFacet['displayText'])?><!--
            --></a>
               <span class="badge"><?=$this->localizedNumber($thisFacet['count']) ?>
-                <? if ($allowExclude): ?>
+                <?php if ($allowExclude): ?>
                   <a href="<?=$this->currentPath() . $results->getUrlQuery()->addFacet($title, $thisFacet['value'], 'NOT')?>" title="<?=$this->transEsc('exclude_facet')?>"><i class="fa fa-times" aria-hidden="true"></i></a>
-                <? endif; ?>
+                <?php endif; ?>
               </span>
-            <? endif; ?>
+            <?php endif; ?>
           </span>
-          <? /* More link */ ?>
-          <? if ($index == $limit): ?>
+          <?php /* More link */ ?>
+          <?php if ($index == $limit): ?>
             <span id="more-NarrowGroupHidden_<?=$this->escapeHtml($title)?>" class="narrow-toggle">
               <a href="#" onclick="moreFacets('NarrowGroupHidden_<?=$this->escapeHtml($title)?>'); return false;">
                 <?=$this->transEsc('more') ?> ...
               </a>
             </span>
-          <? endif; ?>
-        <? endforeach; ?>
-        <? if (count($cluster['list']) > $limit): ?>
+          <?php endif; ?>
+        <?php endforeach; ?>
+        <?php if (count($cluster['list']) > $limit): ?>
           <a class="narrow-toggle <?=$moreClass ?>" href="#" onclick="lessFacets('NarrowGroupHidden_<?=$title ?>'); return false;">
             <?=$this->transEsc('less') ?> ...
           </a>
-        <? endif; ?>
+        <?php endif; ?>
       </div>
     </div>
-  <? endforeach; ?>
-<? endif; ?>
+  <?php endforeach; ?>
+<?php endif; ?>
 
 <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, 'collapseTopFacets()', 'SET')?>
diff --git a/themes/bootstrap3/templates/Recommend/VisualFacets.phtml b/themes/bootstrap3/templates/Recommend/VisualFacets.phtml
index a250ef53528..a72eeadd523 100644
--- a/themes/bootstrap3/templates/Recommend/VisualFacets.phtml
+++ b/themes/bootstrap3/templates/Recommend/VisualFacets.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $this->headScript()->appendFile("vendor/d3.min.js");
 
   $visualFacetSet = $this->recommend->getPivotFacetSet();
@@ -30,7 +30,7 @@
   }
 ?>
 
-<? if (isset($visualFacetSet)): ?>
+<?php if (isset($visualFacetSet)): ?>
   <script type="text/javascript">
   var pivotdata = <?=json_encode($visualFacetSet);?>;
   jQuery(document).ready(function(data) {
@@ -263,4 +263,4 @@ function settitle() {
 
 </script>
 
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/Recommend/WebResults.phtml b/themes/bootstrap3/templates/Recommend/WebResults.phtml
index e72f1f5ed1c..ba7a75bfd32 100644
--- a/themes/bootstrap3/templates/Recommend/WebResults.phtml
+++ b/themes/bootstrap3/templates/Recommend/WebResults.phtml
@@ -1,23 +1,23 @@
-<? $searchObject = $this->recommend->getResults(); $results = $searchObject->getResults(); if (!empty($results)): ?>
+<?php $searchObject = $this->recommend->getResults(); $results = $searchObject->getResults(); if (!empty($results)): ?>
 <div class="sidegroup">
   <h4><?=$this->transEsc('Library Web Search')?></h4>
 
   <ul class="similar">
-    <? foreach ($results as $driver): ?>
+    <?php foreach ($results as $driver): ?>
     <li>
       <a href="<?=$this->escapeHtmlAttr($driver->getUrl())?>" class="title">
         <?=$this->record($driver)->getTitleHtml()?>
       </a>
-      <? $snippet = $driver->getHighlightedSnippet(); ?>
-      <? $summary = $driver->getSummary(); ?>
-      <? if (!empty($snippet)): ?>
+      <?php $snippet = $driver->getHighlightedSnippet(); ?>
+      <?php $summary = $driver->getSummary(); ?>
+      <?php if (!empty($snippet)): ?>
         <br /><?=$this->highlight($snippet['snippet'])?>
-      <? elseif (!empty($summary)): ?>
+      <?php elseif (!empty($summary)): ?>
         <br /><?=$this->escapeHtml($summary[0])?>
-      <? endif; ?>
+      <?php endif; ?>
     </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </ul>
   <p><a href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrlQuery()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('Find More')?>...</a></p>
 </div>
-<? endif ?>
+<?php endif ?>
diff --git a/themes/bootstrap3/templates/Recommend/WorldCatIdentities.phtml b/themes/bootstrap3/templates/Recommend/WorldCatIdentities.phtml
index 934d9b7e483..50af892e97c 100644
--- a/themes/bootstrap3/templates/Recommend/WorldCatIdentities.phtml
+++ b/themes/bootstrap3/templates/Recommend/WorldCatIdentities.phtml
@@ -1,29 +1,29 @@
-<? $worldCatIdentities = $this->recommend->getIdentities(); if (!empty($worldCatIdentities)): ?>
+<?php $worldCatIdentities = $this->recommend->getIdentities(); if (!empty($worldCatIdentities)): ?>
   <div>
     <h3><?=$this->transEsc('Authors Related to Your Search')?></h3>
     <dl>
-      <? $i = 0; foreach ($worldCatIdentities as $author => $subjects): ?>
-        <? if (++$i == 4): ?>
+      <?php $i = 0; foreach ($worldCatIdentities as $author => $subjects): ?>
+        <?php if (++$i == 4): ?>
           <dd id="moreWCIdents"><a href="#" onclick="moreFacets('WCIdents'); return false;"><?=$this->transEsc('more')?> ...</a></dd>
           <span class="hidden" id="narrowGroupHidden_WCIdents">
-        <? endif; ?>
+        <?php endif; ?>
         <dd>
         <a href="<?=$this->url('search-results')?>?lookfor=%22<?=urlencode($author)?>%22&amp;type=Author"><?=$this->escapeHtml($author)?></a>
-        <? if (count($subjects) > 0): ?>
+        <?php if (count($subjects) > 0): ?>
           <dl>
           <dd><?=$this->transEsc('Related Subjects')?>:</dd>
-          <? $j = 0; foreach ($subjects as $subj): ?>
-            <? if (++$j == 3): ?>
+          <?php $j = 0; foreach ($subjects as $subj): ?>
+            <?php if (++$j == 3): ?>
               <dd id="moreWCIdents<?=$i?>"><a href="#" onclick="moreFacets('WCIdents<?=$i?>'); return false;"><?=$this->transEsc('more')?> ...</a></dd>
-            <? endif; ?>
+            <?php endif; ?>
             <dd>&bull; <a href="<?=$this->url('search-results')?>?lookfor=%22<?=urlencode($subj)?>%22&amp;type=Subject"><?=$this->escapeHtml($subj)?></a></dd>
-          <? endforeach; ?>
-          <? if ($j > 2): ?><dd><a href="#" onclick="lessFacets('WCIdents<?=$i?>'); return false;"><?=$this->transEsc('less')?> ...</a></dd></span><? endif; ?>
+          <?php endforeach; ?>
+          <?php if ($j > 2): ?><dd><a href="#" onclick="lessFacets('WCIdents<?=$i?>'); return false;"><?=$this->transEsc('less')?> ...</a></dd></span><?php endif; ?>
           </dl>
-        <? endif; ?>
+        <?php endif; ?>
         </dd>
-      <? endforeach; ?>
-      <? if ($i > 3): ?><dd><a href="#" onclick="lessFacets('WCIdents'); return false;"><?=$this->transEsc('less')?> ...</a></dd></span><? endif; ?>
+      <?php endforeach; ?>
+      <?php if ($i > 3): ?><dd><a href="#" onclick="lessFacets('WCIdents'); return false;"><?=$this->transEsc('less')?> ...</a></dd></span><?php endif; ?>
     </dl>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewdata.phtml b/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewdata.phtml
index e28ab77d162..a360769b9c8 100644
--- a/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewdata.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewdata.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $previews = isset($this->config->Content->previews)
         ? explode(',', $this->config->Content->previews) : [];
     if (!empty($previews)) {
diff --git a/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewlink.phtml b/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewlink.phtml
index f1fdf1e62cc..d77cc7ad6ce 100644
--- a/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewlink.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/AbstractBase/previewlink.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $previews = isset($this->config->Content->previews)
         ? explode(',', $this->config->Content->previews) : [];
     if (!empty($previews)) {
diff --git a/themes/bootstrap3/templates/RecordDriver/BrowZine/result-grid.phtml b/themes/bootstrap3/templates/RecordDriver/BrowZine/result-grid.phtml
index 729eb90437f..55e2215dd74 100644
--- a/themes/bootstrap3/templates/RecordDriver/BrowZine/result-grid.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/BrowZine/result-grid.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $urls = $this->driver->getURLs();
   $url = isset($urls[0]) ? $urls[0]['url'] : null;
   $coverDetails = $this->record($this->driver)->getCoverDetails('result-list', 'medium', $url);
diff --git a/themes/bootstrap3/templates/RecordDriver/BrowZine/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/BrowZine/result-list.phtml
index 2c891b4fbb0..51180c6b566 100644
--- a/themes/bootstrap3/templates/RecordDriver/BrowZine/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/BrowZine/result-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $urls = $this->driver->getURLs();
   $url = isset($urls[0]) ? $urls[0]['url'] : null;
   $coverDetails = $this->record($this->driver)->getCoverDetails('result-list', 'medium', $url);
@@ -10,28 +10,28 @@
     <div class="browzine media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
       <?=$cover ?>
     </div>
-    <? $thumbnail = ob_get_contents(); ?>
-  <? ob_end_clean(); ?>
-<? endif; ?>
+    <?php $thumbnail = ob_get_contents(); ?>
+  <?php ob_end_clean(); ?>
+<?php endif; ?>
 <div class="media">
-  <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
     <?=$thumbnail ?>
-  <? endif ?>
+  <?php endif ?>
   <div class="media-body">
     <div class="resultItemLine1">
-      <? if ($url): ?><a href="<?=$this->escapeHtmlAttr($url)?>" class="title"><? endif; ?>
+      <?php if ($url): ?><a href="<?=$this->escapeHtmlAttr($url)?>" class="title"><?php endif; ?>
         <?=$this->record($this->driver)->getTitleHtml()?>
-      <? if ($url): ?></a><? endif; ?>
+      <?php if ($url): ?></a><?php endif; ?>
     </div>
-    <? if (($sjr = $this->driver->getSjrValue()) && ($issn = $this->driver->getCleanISSN())): ?>
+    <?php if (($sjr = $this->driver->getSjrValue()) && ($issn = $this->driver->getCleanISSN())): ?>
       <div class="resultItemLine2">
         <a class="label label-default" href="http://www.scimagojr.com/journalsearch.php?q=<?=urlencode($issn)?>&amp;tip=iss">
           SJR: <?=$this->escapeHtml($sjr)?>
         </a>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
-  <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
     <?=$thumbnail ?>
-  <? endif ?>
+  <?php endif ?>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-info.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-info.phtml
index 68dbcd0ecfb..070f62df0b0 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-info.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-info.phtml
@@ -1,56 +1,56 @@
-<? $this->headScript()->appendFile('collection_record.js'); ?>
+<?php $this->headScript()->appendFile('collection_record.js'); ?>
 <div class="media">
-  <?
+  <?php
     $QRCode = $this->record($this->driver)->getQRCode("core");
     $coverDetails = $this->record($this->driver)->getCoverDetails('collection-info', 'medium', $this->record($this->driver)->getThumbnail('large'));
     $cover = $coverDetails['html'];
     $preview = $this->record($this->driver)->getPreviews();
   ?>
-  <? if ($QRCode || $cover || $preview): ?>
+  <?php if ($QRCode || $cover || $preview): ?>
     <div class="media-left <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
-      <? /* Display thumbnail if appropriate: */ ?>
-      <? if($cover): ?>
+      <?php /* Display thumbnail if appropriate: */ ?>
+      <?php if($cover): ?>
         <?=$cover?>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? /* Display qrcode if appropriate: */ ?>
-      <? if($QRCode): ?>
+      <?php /* Display qrcode if appropriate: */ ?>
+      <?php if($QRCode): ?>
         <span class="hidden-xs">
           <br/><img alt="<?=$this->transEsc('QR Code')?>" class="qrcode" src="<?=$this->escapeHtmlAttr($QRCode);?>"/>
         </span>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($preview): ?><?=$preview?><? endif; ?>
+      <?php if ($preview): ?><?=$preview?><?php endif; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="media-body">
 
     <h2><?=$this->escapeHtml($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection())?></h2>
 
-    <? $summary = $this->driver->getSummary(); $summary = isset($summary[0]) ? $summary[0] : false; ?>
-    <? if ($summary): ?>
+    <?php $summary = $this->driver->getSummary(); $summary = isset($summary[0]) ? $summary[0] : false; ?>
+    <?php if ($summary): ?>
       <p><?=$this->escapeHtml($summary)?></p>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? /* Display the lists that this record is saved to */ ?>
+    <?php /* Display the lists that this record is saved to */ ?>
     <div class="savedLists" id="savedLists">
       <strong><?=$this->transEsc("Saved in")?>:</strong>
     </div>
 
     <a id="moreInfoToggle" href="#" class="hidden"><?=$this->transEsc('more_info_toggle')?></a>
-    <? /* Display Main Details */ ?>
-    <?
+    <?php /* Display Main Details */ ?>
+    <?php
       $formatter = $this->recordDataFormatter();
       $fields = $formatter->getData($driver, $formatter->getDefaults('collection-info'));
     ?>
-    <? if (!empty($fields)): ?>
+    <?php if (!empty($fields)): ?>
       <table id="collectionInfo" class="table table-striped">
         <caption class="sr-only"><?=$this->transEsc('Bibliographic Details')?></caption>
-        <? foreach ($fields as $key => $current): ?>
+        <?php foreach ($fields as $key => $current): ?>
           <tr><th><?=$this->transEsc($key)?>:</th><td><?=$current['value']?></td></tr>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </table>
-    <? endif; ?>
-    <? /* End Main Details */ ?>
+    <?php endif; ?>
+    <?php /* End Main Details */ ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-record.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-record.phtml
index f5df49d4560..993e19f0d9a 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-record.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/collection-record.phtml
@@ -1,15 +1,15 @@
 <h2><?=$this->escapeHtml($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection())?></h2>
 <a href="<?=$this->recordLink()->getUrl($this->driver)?>"><?=$this->transEsc('View Full ' . ($this->driver->isCollection() ? 'Collection' : 'Record'))?></a>
 
-<?
+<?php
   $formatter = $this->recordDataFormatter();
   $fields = $formatter->getData($driver, $formatter->getDefaults('collection-record'));
 ?>
-<? if (!empty($fields)): ?>
+<?php if (!empty($fields)): ?>
   <table class="table table-striped">
     <caption class="sr-only"><?=$this->transEsc('Bibliographic Details')?></caption>
-    <? foreach ($fields as $key => $current): ?>
+    <?php foreach ($fields as $key => $current): ?>
       <tr><th><?=$this->transEsc($key)?>:</th><td><?=$current['value']?></td></tr>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </table>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/core.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/core.phtml
index 27a9e15591b..024820810d9 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/core.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/core.phtml
@@ -1,68 +1,68 @@
 <div class="media" vocab="http://schema.org/" resource="#record" typeof="<?=$this->driver->getSchemaOrgFormats()?> Product">
-  <?
+  <?php
     $QRCode = $this->record($this->driver)->getQRCode("core");
     $coverDetails = $this->record($this->driver)->getCoverDetails('core', 'medium', $this->record($this->driver)->getThumbnail('large'));
     $cover = $coverDetails['html'];
     $preview = $this->record($this->driver)->getPreviews();
   ?>
-  <? if ($QRCode || $cover || $preview): ?>
+  <?php if ($QRCode || $cover || $preview): ?>
     <div class="media-left <?=$this->escapeHtmlAttr($coverDetails['size'])?> img-col">
-      <? /* Display thumbnail if appropriate: */ ?>
-      <? if($cover): ?>
+      <?php /* Display thumbnail if appropriate: */ ?>
+      <?php if($cover): ?>
         <?=$cover?>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? /* Display qrcode if appropriate: */ ?>
-      <? if($QRCode): ?>
+      <?php /* Display qrcode if appropriate: */ ?>
+      <?php if($QRCode): ?>
         <span class="hidden-xs">
           <br/><img alt="<?=$this->transEsc('QR Code')?>" class="qrcode" src="<?=$this->escapeHtmlAttr($QRCode);?>"/>
         </span>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? // if you have a preview tab but want to move or remove the preview link
+      <?php // if you have a preview tab but want to move or remove the preview link
          // from this area of the record view, this can be split into
          // getPreviewData() (should stay here) and
          // getPreviewLink() (can go in your desired tab) ?>
-      <? if ($preview): ?>
+      <?php if ($preview): ?>
         <div class="record-previews">
           <?=$preview?>
         </div>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="media-body">
 
     <h3 property="name"><?=$this->escapeHtml($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection())?></h3>
 
-    <? $summary = $this->driver->getSummary(); $summary = isset($summary[0]) ? $this->escapeHtml($summary[0]) : false; ?>
-    <? if ($summary): ?>
+    <?php $summary = $this->driver->getSummary(); $summary = isset($summary[0]) ? $this->escapeHtml($summary[0]) : false; ?>
+    <?php if ($summary): ?>
       <p><?=$this->truncate($summary, 300)?></p>
 
-      <? if(strlen($summary) > 300): ?>
+      <?php if(strlen($summary) > 300): ?>
         <p><a href='<?=$this->recordLink()->getTabUrl($this->driver, 'Description')?>#tabnav'><?=$this->transEsc('Full description')?></a></p>
-      <? endif; ?>
-    <? endif; ?>
+      <?php endif; ?>
+    <?php endif; ?>
 
-    <? if ($this->userlist()->getMode() !== 'disabled'): ?>
-      <? /* Display the lists that this record is saved to */ ?>
+    <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
+      <?php /* Display the lists that this record is saved to */ ?>
       <div class="savedLists">
         <strong><?=$this->transEsc("Saved in")?>:</strong>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? /* Display Main Details */ ?>
-    <?
+    <?php /* Display Main Details */ ?>
+    <?php
       $formatter = $this->recordDataFormatter();
       $coreFields = $formatter->getData($driver, $formatter->getDefaults('core'));
     ?>
-    <? if (!empty($coreFields)): ?>
+    <?php if (!empty($coreFields)): ?>
       <table class="table table-striped">
         <caption class="sr-only"><?=$this->transEsc('Bibliographic Details')?></caption>
-        <? foreach ($coreFields as $key => $current): ?>
+        <?php foreach ($coreFields as $key => $current): ?>
           <tr><th><?=$this->transEsc($key)?>:</th><td><?=$current['value']?></td></tr>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </table>
-    <? endif; ?>
-    <? /* End Main Details */ ?>
+    <?php endif; ?>
+    <?php /* End Main Details */ ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allRecordLinks.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allRecordLinks.phtml
index f2a8dfd4007..8c7f13ca194 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allRecordLinks.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allRecordLinks.phtml
@@ -1,11 +1,11 @@
-<? foreach ($data as $recordLink): ?>
+<?php foreach ($data as $recordLink): ?>
   <?=$this->transEsc($recordLink['title'])?>:
   <a href="<?=$this->recordLink()->related($recordLink['link'])?>"><?=$this->escapeHtml($recordLink['value'])?></a><br />
-<? endforeach; ?>
-<? /* if we have record links, display relevant explanatory notes */
+<?php endforeach; ?>
+<?php /* if we have record links, display relevant explanatory notes */
   $related = $this->driver->getRelationshipNotes();
   if (!empty($related)): ?>
-    <? foreach ($related as $field): ?>
+    <?php foreach ($related as $field): ?>
       <?=$this->escapeHtml($field)?><br/>
-    <? endforeach; ?>
-<? endif; ?>
+    <?php endforeach; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allSubjectHeadings.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allSubjectHeadings.phtml
index 2ab86fa7b88..0b2fd5960fa 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allSubjectHeadings.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-allSubjectHeadings.phtml
@@ -1,11 +1,11 @@
-<? foreach ($data as $field): ?>
+<?php foreach ($data as $field): ?>
   <div class="subject-line" property="keywords">
-    <? $subject = ''; ?>
-    <? if(count($field) == 1) $field = explode('--', $field[0]); ?>
-    <? $i = 0; foreach ($field as $subfield): ?>
+    <?php $subject = ''; ?>
+    <?php if(count($field) == 1) $field = explode('--', $field[0]); ?>
+    <?php $i = 0; foreach ($field as $subfield): ?>
       <?=($i++ == 0) ? '' : ' &gt; '?>
-      <? $subject = trim($subject . ' ' . $subfield); ?>
+      <?php $subject = trim($subject . ' ' . $subfield); ?>
       <a title="<?=$this->escapeHtmlAttr($subject)?>" href="<?=$this->record($this->driver)->getLink('subject', $subject)?>" rel="nofollow"><?=trim($this->escapeHtml($subfield))?></a>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
-<? endforeach; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authorNotes.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authorNotes.phtml
index 1d58594cea1..13ece014662 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authorNotes.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authorNotes.phtml
@@ -1,8 +1,8 @@
-<? $isbn = $this->driver->getCleanISBN(); ?>
-<? $authorNotes = empty($isbn) ? [] : $this->authorNotes($isbn); if (!empty($authorNotes)): ?>
-  <? foreach ($authorNotes as $provider => $list): ?>
-    <? foreach ($list as $field): ?>
+<?php $isbn = $this->driver->getCleanISBN(); ?>
+<?php $authorNotes = empty($isbn) ? [] : $this->authorNotes($isbn); if (!empty($authorNotes)): ?>
+  <?php foreach ($authorNotes as $provider => $list): ?>
+    <?php foreach ($list as $field): ?>
       <?=$field['Content']?><br />
-    <? endforeach; ?>
-  <? endforeach; ?>
-<? endif; ?>
+    <?php endforeach; ?>
+  <?php endforeach; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authors.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authors.phtml
index bbc3a63584b..a5500a7a3b8 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authors.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-authors.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 $formatProperty = function ($datafield, $name, $label) {
     if (count($datafield) == 0) {
         return '';
@@ -11,14 +11,14 @@ $formatProperty = function ($datafield, $name, $label) {
 };
 $formattedAuthors = [];
 ?>
-<? if (!empty($data[$type])): ?>
-  <? foreach ($data[$type] as $author => $dataFields): ?>
-    <? ob_start(); ?>
+<?php if (!empty($data[$type])): ?>
+  <?php foreach ($data[$type] as $author => $dataFields): ?>
+    <?php ob_start(); ?>
     <span class="author-data" property="<?=$this->escapeHtml($schemaLabel)?>">
       <a href="<?=$this->record($this->driver)->getLink('author', $author)?>">
         <?=$this->escapeHtml($author)?>
       </a>
-      <?
+      <?php
         // Display additional data using the appropriate translation prefix
         // (for example, to render author roles correctly):
         if (!empty($requiredDataFields)) {
@@ -32,11 +32,11 @@ $formattedAuthors = [];
         }
       ?>
     </span>
-    <?
+    <?php
       // Strip whitespace before close tags to avoid spaces in front of commas:
       $formattedAuthors[] = trim(preg_replace('/\s+<\//', '</', ob_get_contents()));
       ob_end_clean();
     ?>
-  <? endforeach; ?>
-<? endif; ?>
+  <?php endforeach; ?>
+<?php endif; ?>
 <?=implode(', ', $formattedAuthors)?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-containerTitle.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-containerTitle.phtml
index ff678db3e45..368bbd5ecd0 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-containerTitle.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-containerTitle.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $containerSource = $this->driver->getSourceIdentifier();
   $containerID = $this->driver->getContainerRecordID();
   $ref = $this->driver->getContainerReference();
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-onlineAccess.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-onlineAccess.phtml
index 2ddb8a1bddf..4a545667a7a 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-onlineAccess.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-onlineAccess.phtml
@@ -1,14 +1,14 @@
-<?
+<?php
   $openUrl = $this->openUrl($this->driver, 'record');
   $openUrlActive = $openUrl->isActive();
   // Account for replace_other_urls setting
   $urls = $this->record($this->driver)->getLinkDetails($openUrlActive);
 ?>
-<? if (!empty($urls) || $openUrlActive): ?>
-  <? foreach ($urls as $current): ?>
+<?php if (!empty($urls) || $openUrlActive): ?>
+  <?php foreach ($urls as $current): ?>
     <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>"><?=$this->escapeHtml($current['desc'])?></a><br/>
-  <? endforeach; ?>
-  <? if ($openUrlActive): ?>
+  <?php endforeach; ?>
+  <?php if ($openUrlActive): ?>
     <?=$openUrl->renderTemplate()?><br/>
-  <? endif; ?>
-<? endif; ?>
+  <?php endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-publicationDetails.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-publicationDetails.phtml
index c8b7a78a2eb..782054e0da9 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-publicationDetails.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-publicationDetails.phtml
@@ -1,14 +1,14 @@
-<? foreach ($data as $field): ?>
+<?php foreach ($data as $field): ?>
   <span property="publisher" typeof="Organization">
-  <? $pubPlace = $field->getPlace(); if (!empty($pubPlace)): ?>
+  <?php $pubPlace = $field->getPlace(); if (!empty($pubPlace)): ?>
     <span property="location"><?=$this->escapeHtml($pubPlace)?></span>
-  <? endif; ?>
-  <? $pubName = $field->getName(); if (!empty($pubName)): ?>
+  <?php endif; ?>
+  <?php $pubName = $field->getName(); if (!empty($pubName)): ?>
     <span property="name"><?=$this->escapeHtml($pubName)?></span>
-  <? endif; ?>
+  <?php endif; ?>
   </span>
-  <? $pubDate = $field->getDate(); if (!empty($pubDate)): ?>
+  <?php $pubDate = $field->getDate(); if (!empty($pubDate)): ?>
     <span property="publicationDate"><?=$this->escapeHtml($pubDate)?></span>
-  <? endif; ?>
+  <?php endif; ?>
   <br/>
-<? endforeach; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-series.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-series.phtml
index a0eb1ec1ce9..1d123855397 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-series.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-series.phtml
@@ -1,16 +1,16 @@
-<? foreach ($data as $field): ?>
-  <? /* Depending on the record driver, $field may either be an array with
+<?php foreach ($data as $field): ?>
+  <?php /* Depending on the record driver, $field may either be an array with
      "name" and "number" keys or a flat string containing only the series
      name.  We should account for both cases to maximize compatibility. */ ?>
-  <? if (is_array($field)): ?>
-    <? if (!empty($field['name'])): ?>
+  <?php if (is_array($field)): ?>
+    <?php if (!empty($field['name'])): ?>
       <a href="<?=$this->record($this->driver)->getLink('series', $field['name'])?>"><?=$this->escapeHtml($field['name'])?></a>
-      <? if (!empty($field['number'])): ?>
+      <?php if (!empty($field['number'])): ?>
         <?=$this->escapeHtml($field['number'])?>
-      <? endif; ?>
+      <?php endif; ?>
       <br/>
-    <? endif; ?>
-  <? else: ?>
+    <?php endif; ?>
+  <?php else: ?>
     <a href="<?=$this->record($this->driver)->getLink('series', $field)?>"><?=$this->escapeHtml($field)?></a><br/>
-  <? endif; ?>
-<? endforeach; ?>
+  <?php endif; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml
index ccc42e787fa..4d34b160042 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml
@@ -1,10 +1,10 @@
-<? foreach ($this->driver->getSummary() as $summary): ?>
+<?php foreach ($this->driver->getSummary() as $summary): ?>
   <?=$this->escapeHtml($summary) ?><br />
-<? endforeach; ?>
-<? $isbn = $this->driver->getCleanISBN(); ?>
-<? foreach ($this->summaries($isbn) as $provider => $content): ?>
-  <? foreach ($content as $summary): ?>
-    <? $htmlContent = substr($summary, 0, 1) == '<' && substr($summary, -1) == '>'; ?>
+<?php endforeach; ?>
+<?php $isbn = $this->driver->getCleanISBN(); ?>
+<?php foreach ($this->summaries($isbn) as $provider => $content): ?>
+  <?php foreach ($content as $summary): ?>
+    <?php $htmlContent = substr($summary, 0, 1) == '<' && substr($summary, -1) == '>'; ?>
     <?=$htmlContent ? $summary : ($this->escapeHtml($summary) . '<br />')?>
-  <? endforeach; ?>
-<? endforeach; ?>
+  <?php endforeach; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-tags.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-tags.phtml
index 2c4718c2eb1..86e870ae58c 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-tags.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-tags.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   if($loggedin = $this->auth()->isLoggedIn()) {
     $user_id = $loggedin->id;
     $loggedin = true;
@@ -6,10 +6,10 @@
     $user_id = false;
   }
 ?>
-<? if ($this->usertags()->getMode() !== 'disabled'): ?>
-  <? $tagList = $this->driver->getTags(null, null, 'count', $user_id); ?>
+<?php if ($this->usertags()->getMode() !== 'disabled'): ?>
+  <?php $tagList = $this->driver->getTags(null, null, 'count', $user_id); ?>
     <a class="tag-record btn btn-link pull-right flip" href="<?=$this->recordLink()->getActionUrl($this->driver, 'AddTag')?>" data-lightbox>
       <i class="fa fa-plus" aria-hidden="true"></i> <?=$this->transEsc('Add Tag')?>
     </a>
     <?=$this->context($this)->renderInContext('record/taglist', ['tagList' => $tagList, 'loggedin' => $loggedin]) ?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/format-list.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/format-list.phtml
index 2b9a07e77b1..086cd3fab1c 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/format-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/format-list.phtml
@@ -1,3 +1,3 @@
-<? foreach ($this->driver->getFormats() as $format): ?>
+<?php foreach ($this->driver->getFormats() as $format): ?>
   <span class="format <?=$this->record($this->driver)->getFormatClass($format) ?>"><?=$this->transEsc($format) ?></span>
-<? endforeach; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/list-entry.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/list-entry.phtml
index 233050c58a1..323229a2109 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/list-entry.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/list-entry.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up some convenience variables:
   $id = $this->driver->getUniqueId();
   $source = $this->driver->getSourceIdentifier();
@@ -19,61 +19,61 @@
     <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
       <?=$cover ?>
     </div>
-    <? $thumbnail = ob_get_contents(); ?>
-  <? ob_end_clean(); ?>
-<? endif; ?>
-<div class="result<? if($this->driver->supportsAjaxStatus()): ?> ajaxItem<? endif ?>">
+    <?php $thumbnail = ob_get_contents(); ?>
+  <?php ob_end_clean(); ?>
+<?php endif; ?>
+<div class="result<?php if($this->driver->supportsAjaxStatus()): ?> ajaxItem<?php endif ?>">
   <input type="hidden" value="<?=$this->escapeHtmlAttr($id) ?>" class="hiddenId"/>
   <input type="hidden" value="<?=$this->escapeHtmlAttr($source) ?>" class="hiddenSource"/>
   <?=$this->record($this->driver)->getCheckbox()?>
   <div class="media">
-    <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+    <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
       <?=$thumbnail ?>
-    <? endif; ?>
+    <?php endif; ?>
     <div class="media-body">
       <div class="result-body">
         <div class="resultItemLine1">
-          <? $missing = $this->driver instanceof \VuFind\RecordDriver\Missing; ?>
-          <? if (!$missing): ?><a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="getFull" data-view="<?=$this->params->getOptions()->getListViewOption() ?>"><? endif; ?>
+          <?php $missing = $this->driver instanceof \VuFind\RecordDriver\Missing; ?>
+          <?php if (!$missing): ?><a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="getFull" data-view="<?=$this->params->getOptions()->getListViewOption() ?>"><?php endif; ?>
             <span class="title"><?=$this->record($this->driver)->getTitleHtml()?></span>
-          <? if (!$missing): ?></a><? endif; ?>
+          <?php if (!$missing): ?></a><?php endif; ?>
         </div>
 
         <div class="resultItemLine2">
-          <? if($this->driver->isCollection()): ?>
+          <?php if($this->driver->isCollection()): ?>
             <?=implode('<br>', array_map([$this, 'escapeHtml'], $this->driver->getSummary())); ?>
-          <? else: ?>
-            <? $summAuthors = $this->driver->getPrimaryAuthors(); if (!empty($summAuthors)): ?>
+          <?php else: ?>
+            <?php $summAuthors = $this->driver->getPrimaryAuthors(); if (!empty($summAuthors)): ?>
               <?=$this->transEsc('by')?>
-              <? $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
+              <?php $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
                 <a href="<?=$this->record($this->driver)->getLink('author', $summAuthor)?>"><?=$this->escapeHtml($summAuthor)?></a><?=($i + 1 < $authorCount ? ';' : '') ?>
-              <? endforeach; ?>
-            <? endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
 
-            <? $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
-            <? if (!empty($journalTitle)): ?>
+            <?php $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
+            <?php if (!empty($journalTitle)): ?>
               <?=!empty($summAuthor) ? '<br/>' : ''?>
               <?=/* TODO: handle highlighting more elegantly here */ $this->transEsc('Published in') . ' <a href="' . $this->record($this->driver)->getLink('journaltitle', str_replace(['{{{{START_HILITE}}}}', '{{{{END_HILITE}}}}'], '', $journalTitle)) . '">' . $this->highlight($journalTitle) . '</a>';?>
               <?=!empty($summDate) ? ' (' . $this->escapeHtml($summDate[0]) . ')' : ''?>
-            <? elseif (!empty($summDate)): ?>
+            <?php elseif (!empty($summDate)): ?>
               <?=!empty($summAuthor) ? '<br/>' : ''?>
               <?=$this->transEsc('Published') . ' ' . $this->escapeHtml($summDate[0])?>
-            <? endif; ?>
-            <? $summInCollection = $this->driver->getContainingCollections(); if (false && !empty($summInCollection)): ?>
-              <? foreach ($summInCollection as $collId => $collText): ?>
+            <?php endif; ?>
+            <?php $summInCollection = $this->driver->getContainingCollections(); if (false && !empty($summInCollection)): ?>
+              <?php foreach ($summInCollection as $collId => $collText): ?>
                 <div>
                   <b><?=$this->transEsc("in_collection_label")?></b>
                   <a class="collectionLinkText" href="<?=$this->url('collection', ['id' => $collId])?>?recordID=<?=urlencode($this->driver->getUniqueID())?>">
                     <?=$this->escapeHtml($collText)?>
                   </a>
                 </div>
-              <? endforeach; ?>
-            <? endif; ?>
-          <? endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
+          <?php endif; ?>
         </div>
 
         <div class="last">
-          <? if(!$this->driver->isCollection()) {
+          <?php if(!$this->driver->isCollection()) {
               if ($snippet = $this->driver->getHighlightedSnippet()) {
                 if (!empty($snippet['caption'])) {
                   echo '<strong>' . $this->transEsc($snippet['caption']) . ':</strong> ';
@@ -84,37 +84,37 @@
               }
             } ?>
 
-          <? $listTags = ($this->usertags()->getMode() !== 'disabled') ? $this->driver->getTags(
+          <?php $listTags = ($this->usertags()->getMode() !== 'disabled') ? $this->driver->getTags(
               null === $list_id ? true : $list_id, // get tags for all lists if no single list is selected
               $user_id, 'tag'
              ) : [];
           ?>
-          <? if (count($listTags) > 0): ?>
+          <?php if (count($listTags) > 0): ?>
             <strong><?=$this->transEsc('Your Tags')?>:</strong>
-            <? foreach ($listTags as $tag): ?>
+            <?php foreach ($listTags as $tag): ?>
               <a href="<?=$this->currentPath() . $results->getUrlQuery()->addFacet('tags', $tag->tag)?>"><?=$this->escapeHtml($tag->tag)?></a>
-            <? endforeach; ?>
+            <?php endforeach; ?>
             <br/>
-          <? endif; ?>
-          <? $listNotes = $this->driver->getListNotes($list_id, $user_id); ?>
-          <? if (count($listNotes) > 0): ?>
+          <?php endif; ?>
+          <?php $listNotes = $this->driver->getListNotes($list_id, $user_id); ?>
+          <?php if (count($listNotes) > 0): ?>
             <strong><?=$this->transEsc('Notes')?>:</strong>
-            <? if (count($listNotes) > 1): ?><br/><? endif; ?>
-            <? foreach ($listNotes as $note): ?>
+            <?php if (count($listNotes) > 1): ?><br/><?php endif; ?>
+            <?php foreach ($listNotes as $note): ?>
               <?=$this->escapeHtml($note)?><br/>
-            <? endforeach; ?>
-          <? endif; ?>
+            <?php endforeach; ?>
+          <?php endif; ?>
 
-          <? if (count($this->lists) > 0): ?>
+          <?php if (count($this->lists) > 0): ?>
               <strong><?=$this->transEsc('Saved in')?>:</strong>
-              <? $i = 0;foreach($this->lists as $current): ?>
-                  <a href="<?=$this->url('userList', ['id' => $current->id])?>"><?=$this->escapeHtml($current->title)?></a><? if($i++ < count($this->lists) - 1): ?>,<? endif; ?>
-              <? endforeach; ?>
+              <?php $i = 0;foreach($this->lists as $current): ?>
+                  <a href="<?=$this->url('userList', ['id' => $current->id])?>"><?=$this->escapeHtml($current->title)?></a><?php if($i++ < count($this->lists) - 1): ?>,<?php endif; ?>
+              <?php endforeach; ?>
               <br/>
-          <? endif; ?>
+          <?php endif; ?>
 
           <div class="callnumAndLocation ajax-availability hidden">
-            <? if ($this->driver->supportsAjaxStatus()): ?>
+            <?php if ($this->driver->supportsAjaxStatus()): ?>
               <strong class="hideIfDetailed"><?=$this->transEsc('Call Number')?>:</strong>
               <span class="callnumber ajax-availability hidden">
                 <?=$this->transEsc('Loading')?>...<br/>
@@ -124,14 +124,14 @@
                 <?=$this->transEsc('Loading')?>...
               </span>
               <div class="locationDetails"></div>
-            <? else: ?>
-              <? $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
+            <?php else: ?>
+              <?php $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
                 <strong><?=$this->transEsc('Call Number')?>:</strong> <?=$this->escapeHtml($summCallNo)?>
-              <? endif; ?>
-            <? endif; ?>
+              <?php endif; ?>
+            <?php endif; ?>
           </div>
 
-          <? /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
+          <?php /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
                 but even if we don't plan to display the link, we still want to get the $openUrl
                 value for use in generating a COinS (Z3988) tag -- see bottom of file.
               */
@@ -142,33 +142,33 @@
 
             if ($openUrlActive || !empty($urls)):
           ?>
-            <? if ($openUrlActive): ?>
+            <?php if ($openUrlActive): ?>
               <br/>
               <?=$openUrl->renderTemplate()?>
-            <? endif;?>
+            <?php endif;?>
 
-            <? if (!is_array($urls)) { $urls = []; }
+            <?php if (!is_array($urls)) { $urls = []; }
               if(!$this->driver->isCollection()):
                 foreach ($urls as $current): ?>
                   <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>" class="fulltext" target="new"><i class="fa fa-external-link" aria-hidden="true"></i> <?=($current['url'] == $current['desc']) ? $this->transEsc('Get full text') : $this->escapeHtml($current['desc'])?></a>
-                <? endforeach; ?>
-              <? endif; ?>
-            <? endif; ?>
+                <?php endforeach; ?>
+              <?php endif; ?>
+            <?php endif; ?>
           <br/>
 
           <?=$this->record($this->driver)->getFormatList() ?>
 
-          <? if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
+          <?php if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
             <span class="status ajax-availability hidden"><?=$this->transEsc('Loading')?>...</span>
             <br/><br/>
-          <? endif; ?>
+          <?php endif; ?>
           <?=$this->record($this->driver)->getPreviews()?>
         </div>
       </div>
 
       <div class="result-links hidden-print">
-        <i class="fa fa-fw fa-edit" aria-hidden="true"></i> <a href="<?=$this->url('myresearch-edit')?>?id=<?=urlencode($id)?>&amp;source=<?=urlencode($source)?><? if (null !== $list_id):?>&amp;list_id=<?=urlencode($list_id)?><? endif; ?>" class="edit tool"><?=$this->transEsc('Edit')?></a><br/>
-        <? /* Use a different delete URL if we're removing from a specific list or the overall favorites: */
+        <i class="fa fa-fw fa-edit" aria-hidden="true"></i> <a href="<?=$this->url('myresearch-edit')?>?id=<?=urlencode($id)?>&amp;source=<?=urlencode($source)?><?php if (null !== $list_id):?>&amp;list_id=<?=urlencode($list_id)?><?php endif; ?>" class="edit tool"><?=$this->transEsc('Edit')?></a><br/>
+        <?php /* Use a different delete URL if we're removing from a specific list or the overall favorites: */
           $deleteUrl = null === $list_id
               ? $this->url('myresearch-favorites')
               : $this->url('userList', ['id' => $list_id]);
@@ -189,8 +189,8 @@
         <?=$this->driver->supportsCoinsOpenUrl()?'<span class="Z3988" title="' . $this->escapeHtmlAttr($this->driver->getCoinsOpenUrl()) . '"></span>':''?>
       </div>
     </div>
-    <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+    <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
       <?=$thumbnail ?>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-grid.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-grid.phtml
index fe67d3fd39a..bb091ff369f 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-grid.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-grid.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
    but even if we don't plan to display the link, we still want to get the $openUrl
    value for use in generating a COinS (Z3988) tag -- see bottom of file.
@@ -11,34 +11,34 @@ $urls = $this->record($this->driver)->getLinkDetails($openUrlActive);
 
 <div class="grid-result<?=$this->driver->supportsAjaxStatus()?' ajaxItem':''?>">
   <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueID())?>" class="hiddenId" />
-  <? if (isset($this->showCheckboxes) && $this->showCheckboxes): ?>
+  <?php if (isset($this->showCheckboxes) && $this->showCheckboxes): ?>
     <label class="grid-checkbox">
       <?=$this->record($this->driver)->getCheckbox('', 'search-cart-form') ?>
     </label>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="grid-body">
     <?=$this->record($this->driver)->getCover('result-grid', 'small', $this->recordLink()->getUrl($this->driver)); ?>
-    <? if (!$openUrlActive && empty($urls)): ?>
-      <? if ($this->driver->supportsAjaxStatus()): ?>
+    <?php if (!$openUrlActive && empty($urls)): ?>
+      <?php if ($this->driver->supportsAjaxStatus()): ?>
         <div class="result-formats status ajax-availability hidden">
           <span class="label label-default"><?=$this->transEsc('Loading')?>...</span>
         </div>
-      <? endif; ?>
-    <? endif; ?>
+      <?php endif; ?>
+    <?php endif; ?>
     <div>
       <a class="title" href="<?=$this->recordLink()->getUrl($this->driver)?>">
         <?=$this->record($this->driver)->getTitleHtml(80)?>
       </a>
-      <? if ($openUrlActive || !empty($urls)): ?>
+      <?php if ($openUrlActive || !empty($urls)): ?>
         <br/><br/>
-        <? if ($openUrlActive): ?>
+        <?php if ($openUrlActive): ?>
           <?=$openUrl->renderTemplate()?><br />
-        <? endif; ?>
-        <? if (!is_array($urls)) $urls = []; foreach ($urls as $current): ?>
+        <?php endif; ?>
+        <?php if (!is_array($urls)) $urls = []; foreach ($urls as $current): ?>
           <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>" class="fulltext" target="new"><i class="fa fa-external-link" aria-hidden="true"></i> <?=($current['url'] == $current['desc']) ? $this->transEsc('Get full text') : $this->escapeHtml($current['desc'])?></a>
           <br/>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
     </div>
   </div>
 
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-list.phtml
index 650301e3341..3f8f07cc084 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/result-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $coverDetails = $this->record($this->driver)->getCoverDetails('result-list', 'medium', $this->recordLink()->getUrl($this->driver));
   $cover = $coverDetails['html'];
   $thumbnail = false;
@@ -8,15 +8,15 @@
     <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
       <?=$cover ?>
     </div>
-    <? $thumbnail = ob_get_contents(); ?>
-  <? ob_end_clean(); ?>
-<? endif; ?>
+    <?php $thumbnail = ob_get_contents(); ?>
+  <?php ob_end_clean(); ?>
+<?php endif; ?>
 <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueID())?>" class="hiddenId" />
 <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" class="hiddenSource" />
 <div class="media">
-  <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
     <?=$thumbnail ?>
-  <? endif ?>
+  <?php endif ?>
   <div class="media-body">
     <div class="result-body">
       <div>
@@ -26,79 +26,79 @@
       </div>
 
       <div>
-        <? if($this->driver->isCollection()): ?>
+        <?php if($this->driver->isCollection()): ?>
           <?=implode('<br>', array_map([$this, 'escapeHtml'], $this->driver->getSummary())); ?>
-        <? else: ?>
-          <? $summAuthors = $this->driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
+        <?php else: ?>
+          <?php $summAuthors = $this->driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
             <?=$this->transEsc('by')?>
-            <? $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
+            <?php $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
               <a href="<?=$this->record($this->driver)->getLink('author', $this->highlight($summAuthor, null, true, false))?>"><?=$this->highlight($summAuthor)?></a><?=$i + 1 < $authorCount ? ',' : ''?>
-            <? endforeach; ?>
-          <? endif; ?>
+            <?php endforeach; ?>
+          <?php endif; ?>
 
-          <? $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
-          <? if (!empty($journalTitle)): ?>
+          <?php $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
+          <?php if (!empty($journalTitle)): ?>
             <?=!empty($summAuthor) ? '<br />' : ''?>
             <?=$this->transEsc('Published in')?>
-            <? $containerSource = $this->driver->getSourceIdentifier(); ?>
-            <? $containerID = $this->driver->getContainerRecordID(); ?>
-            <? /* TODO: handle highlighting more elegantly here: */?>
+            <?php $containerSource = $this->driver->getSourceIdentifier(); ?>
+            <?php $containerID = $this->driver->getContainerRecordID(); ?>
+            <?php /* TODO: handle highlighting more elegantly here: */?>
             <a href="<?=($containerID ? $this->recordLink()->getUrl("$containerSource|$containerID") : $this->record($this->driver)->getLink('journaltitle', str_replace(['{{{{START_HILITE}}}}', '{{{{END_HILITE}}}}'], '', $journalTitle)))?>"><?=$this->highlight($journalTitle) ?></a>
             <?=!empty($summDate) ? ' (' . $this->escapeHtml($summDate[0]) . ')' : ''?>
-          <? elseif (!empty($summDate)): ?>
+          <?php elseif (!empty($summDate)): ?>
             <?=!empty($summAuthor) ? '<br />' : ''?>
             <?=$this->transEsc('Published') . ' ' . $this->escapeHtml($summDate[0])?>
-          <? endif; ?>
-          <? $summInCollection = $this->driver->getContainingCollections(); if (!empty($summInCollection)): ?>
-            <? foreach ($summInCollection as $collId => $collText): ?>
+          <?php endif; ?>
+          <?php $summInCollection = $this->driver->getContainingCollections(); if (!empty($summInCollection)): ?>
+            <?php foreach ($summInCollection as $collId => $collText): ?>
               <div>
                 <b><?=$this->transEsc("in_collection_label")?></b>
                 <a class="collectionLinkText" href="<?=$this->url('collection', ['id' => $collId])?>?recordID=<?=urlencode($this->driver->getUniqueID())?>">
                   <?=$this->escapeHtml($collText)?>
                 </a>
               </div>
-            <? endforeach; ?>
-          <? endif; ?>
-        <? endif; ?>
+            <?php endforeach; ?>
+          <?php endif; ?>
+        <?php endif; ?>
       </div>
 
-      <? if(!$this->driver->isCollection()): ?>
-        <? if ($snippet = $this->driver->getHighlightedSnippet()): ?>
-          <? if (!empty($snippet['caption'])): ?>
+      <?php if(!$this->driver->isCollection()): ?>
+        <?php if ($snippet = $this->driver->getHighlightedSnippet()): ?>
+          <?php if (!empty($snippet['caption'])): ?>
             <strong><?=$this->transEsc($snippet['caption']) ?>:</strong> ';
-          <? endif; ?>
-          <? if (!empty($snippet['snippet'])): ?>
+          <?php endif; ?>
+          <?php if (!empty($snippet['snippet'])): ?>
             <span class="quotestart">&#8220;</span>...<?=$this->highlight($snippet['snippet']) ?>...<span class="quoteend">&#8221;</span><br/>
-          <? endif; ?>
-        <? endif; ?>
-      <? endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
+      <?php endif; ?>
 
-      <?
+      <?php
       /* Display information on duplicate records if available */
       if ($dedupData = $this->driver->getDedupData()): ?>
         <div class="dedupInformation">
-        <?
+        <?php
           $i = 0;
           foreach ($dedupData as $source => $current) {
             if (++$i == 1) {
-              ?><span class="currentSource"><a href="<?=$this->recordLink()->getUrl($this->driver)?>"><?=$this->transEsc("source_$source", [], $source)?></a></span><?
+              ?><span class="currentSource"><a href="<?=$this->recordLink()->getUrl($this->driver)?>"><?=$this->transEsc("source_$source", [], $source)?></a></span><?php
             } else {
               if ($i == 2) {
-                ?> <span class="otherSources">(<?=$this->transEsc('Other Sources')?>: <?
+                ?> <span class="otherSources">(<?=$this->transEsc('Other Sources')?>: <?php
               } else {
-                ?>, <?
+                ?>, <?php
               }
-              ?><a href="<?=$this->recordLink()->getUrl($current['id'])?>"><?=$this->transEsc("source_$source", [], $source)?></a><?
+              ?><a href="<?=$this->recordLink()->getUrl($current['id'])?>"><?=$this->transEsc("source_$source", [], $source)?></a><?php
             }
           }
           if ($i > 1) {
-            ?>)</span><?
+            ?>)</span><?php
           }?>
         </div>
-      <? endif; ?>
+      <?php endif; ?>
 
       <div class="callnumAndLocation ajax-availability hidden">
-        <? if ($this->driver->supportsAjaxStatus()): ?>
+        <?php if ($this->driver->supportsAjaxStatus()): ?>
           <strong class="hideIfDetailed"><?=$this->transEsc('Call Number')?>:</strong>
           <span class="callnumber ajax-availability hidden">
             <?=$this->transEsc('Loading')?>...<br/>
@@ -108,14 +108,14 @@
             <?=$this->transEsc('Loading')?>...
           </span>
           <div class="locationDetails"></div>
-        <? else: ?>
-          <? $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
+        <?php else: ?>
+          <?php $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
             <strong><?=$this->transEsc('Call Number')?>:</strong> <?=$this->escapeHtml($summCallNo)?>
-          <? endif; ?>
-        <? endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
       </div>
 
-      <? /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
+      <?php /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
             but even if we don't plan to display the link, we still want to get the $openUrl
             value for use in generating a COinS (Z3988) tag -- see bottom of file.
           */
@@ -125,26 +125,26 @@
         $urls = $this->record($this->driver)->getLinkDetails($openUrlActive);
 
         if ($openUrlActive || !empty($urls)): ?>
-        <? if ($openUrlActive): ?>
+        <?php if ($openUrlActive): ?>
           <br/>
           <?=$openUrl->renderTemplate()?>
-        <? endif; ?>
-        <? if (!is_array($urls)) $urls = [];
+        <?php endif; ?>
+        <?php if (!is_array($urls)) $urls = [];
           if(!$this->driver->isCollection()):
             foreach ($urls as $current): ?>
               <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>" class="fulltext" target="new"><i class="fa fa-external-link" aria-hidden="true"></i> <?=($current['url'] == $current['desc']) ? $this->transEsc('Get full text') : $this->escapeHtml($current['desc'])?></a><br/>
-          <? endforeach; ?>
-        <? endif; ?>
-      <? endif; ?>
+          <?php endforeach; ?>
+        <?php endif; ?>
+      <?php endif; ?>
 
       <div class="result-formats">
         <?=$this->record($this->driver)->getFormatList() ?>
 
-        <? if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
+        <?php if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
           <span class="status ajax-availability hidden">
             <span class="label label-default"><?=$this->transEsc('Loading')?>...</span>
           </span>
-        <? endif; ?>
+        <?php endif; ?>
       </div>
 
       <div class="result-previews">
@@ -152,9 +152,9 @@
       </div>
     </div>
     <div class="result-links hidden-print">
-      <? /* Display qrcode if appropriate: */ ?>
-      <? if ($QRCode = $this->record($this->driver)->getQRCode("results")): ?>
-        <?
+      <?php /* Display qrcode if appropriate: */ ?>
+      <?php if ($QRCode = $this->record($this->driver)->getQRCode("results")): ?>
+        <?php
           // Add JS Variables for QrCode
           $this->jsTranslations()->addStrings(['qrcode_hide' => 'qrcode_hide', 'qrcode_show' => 'qrcode_show']);
         ?>
@@ -166,43 +166,43 @@
             </script>
           </div><br/>
         </span>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
+      <?php if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
         <?=$this->render('record/cart-buttons.phtml', ['id' => $this->driver->getUniqueId(), 'source' => $this->driver->getSourceIdentifier()]); ?><br/>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($this->userlist()->getMode() !== 'disabled'): ?>
-        <? if ($this->permission()->allowDisplay('feature.Favorites')): ?>
-          <? /* Add to favorites */ ?>
+      <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
+        <?php if ($this->permission()->allowDisplay('feature.Favorites')): ?>
+          <?php /* Add to favorites */ ?>
           <i class="result-link-icon fa fa-fw fa-star" aria-hidden="true"></i>
           <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" data-lightbox class="save-record result-link-label" data-id="<?=$this->escapeHtmlAttr($this->driver->getUniqueId()) ?>"><?=$this->transEsc('Add to favorites')?></a><br/>
-        <? elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
+        <?php elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
           <?=$block?>
-        <? endif; ?>
-        <? /* Saved lists */ ?>
+        <?php endif; ?>
+        <?php /* Saved lists */ ?>
         <div class="savedLists">
           <strong><?=$this->transEsc("Saved in")?>:</strong>
         </div>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? /* Hierarchy tree link */ ?>
-      <? $trees = $this->driver->tryMethod('getHierarchyTrees'); if (!empty($trees)): ?>
-        <? foreach ($trees as $hierarchyID => $hierarchyTitle): ?>
+      <?php /* Hierarchy tree link */ ?>
+      <?php $trees = $this->driver->tryMethod('getHierarchyTrees'); if (!empty($trees)): ?>
+        <?php foreach ($trees as $hierarchyID => $hierarchyTitle): ?>
           <div class="hierarchyTreeLink">
             <input type="hidden" value="<?=$this->escapeHtmlAttr($hierarchyID)?>" class="hiddenHierarchyId" />
             <i class="result-link-icon fa fa-fw fa-sitemap" aria-hidden="true"></i>
             <a class="hierarchyTreeLinkText result-link-label" data-lightbox href="<?=$this->recordLink()->getTabUrl($this->driver, 'HierarchyTree')?>?hierarchy=<?=urlencode($hierarchyID)?>#tabnav" title="<?=$this->transEsc('hierarchy_tree')?>" data-lightbox-href="<?=$this->recordLink()->getTabUrl($this->driver, 'AjaxTab')?>?hierarchy=<?=urlencode($hierarchyID)?>" data-lightbox-post="tab=hierarchytree">
-              <?=$this->transEsc('hierarchy_view_context')?><? if (count($trees) > 1): ?>: <?=$this->escapeHtml($hierarchyTitle)?><? endif; ?>
+              <?=$this->transEsc('hierarchy_view_context')?><?php if (count($trees) > 1): ?>: <?=$this->escapeHtml($hierarchyTitle)?><?php endif; ?>
             </a>
           </div>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
 
       <?=$this->driver->supportsCoinsOpenUrl()?'<span class="Z3988" title="' . $this->escapeHtmlAttr($this->driver->getCoinsOpenUrl()) . '"></span>':''?>
     </div>
   </div>
-  <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
     <?=$thumbnail ?>
-  <? endif ?>
+  <?php endif ?>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/toolbar.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/toolbar.phtml
index c90ddb37fbf..d544352792a 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/toolbar.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/toolbar.phtml
@@ -1,41 +1,41 @@
-<?
+<?php
   $addThis = $this->addThis();
   if (!empty($addThis)) {
     $this->headScript()->appendFile('https://s7.addthis.com/js/250/addthis_widget.js?pub=' . urlencode($addThis));
   }
 ?>
 <ul class="record-nav nav nav-pills hidden-print">
-  <? if (count($this->driver->getCitationFormats()) > 0): ?>
+  <?php if (count($this->driver->getCitationFormats()) > 0): ?>
     <li><a class="cite-record" data-lightbox href="<?=$this->recordLink()->getActionUrl($this->driver, 'Cite')?>" rel="nofollow"><i class="fa fa-asterisk" aria-hidden="true"></i> <?=$this->transEsc('Cite this')?></a></li>
-  <? endif; ?>
-  <? if ($this->accountCapabilities()->getSmsSetting() !== 'disabled'): ?>
+  <?php endif; ?>
+  <?php if ($this->accountCapabilities()->getSmsSetting() !== 'disabled'): ?>
     <li><a class="sms-record" data-lightbox href="<?=$this->recordLink()->getActionUrl($this->driver, 'SMS')?>" rel="nofollow"><i class="fa fa-mobile" aria-hidden="true"></i> <?=$this->transEsc('Text this')?></a></li>
-  <? endif; ?>
+  <?php endif; ?>
   <li><a class="mail-record" data-lightbox href="<?=$this->recordLink()->getActionUrl($this->driver, 'Email')?>" rel="nofollow"><i class="fa fa-envelope" aria-hidden="true"></i> <?=$this->transEsc('Email this')?></a></li>
 
-  <? $exportFormats = $this->export()->getFormatsForRecord($this->driver); ?>
-  <? if(count($exportFormats) > 0): ?>
+  <?php $exportFormats = $this->export()->getFormatsForRecord($this->driver); ?>
+  <?php if(count($exportFormats) > 0): ?>
     <li class="dropdown">
       <a class="export-toggle dropdown-toggle" data-toggle="dropdown" href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>" rel="nofollow"><i class="fa fa-list-alt" aria-hidden="true"></i> <?=$this->transEsc('Export Record') ?></a>
       <ul class="dropdown-menu" role="menu">
-        <? foreach ($exportFormats as $exportFormat): ?>
-          <li><a <? if ($this->export()->needsRedirect($exportFormat)): ?>target="<?=$this->escapeHtmlAttr($exportFormat)?>Main" <? endif; ?>href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>?style=<?=$this->escapeHtmlAttr($exportFormat)?>" rel="nofollow"><?=$this->transEsc('Export to')?> <?=$this->transEsc($this->export()->getLabelForFormat($exportFormat))?></a></li>
-        <? endforeach; ?>
+        <?php foreach ($exportFormats as $exportFormat): ?>
+          <li><a <?php if ($this->export()->needsRedirect($exportFormat)): ?>target="<?=$this->escapeHtmlAttr($exportFormat)?>Main" <?php endif; ?>href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>?style=<?=$this->escapeHtmlAttr($exportFormat)?>" rel="nofollow"><?=$this->transEsc('Export to')?> <?=$this->transEsc($this->export()->getLabelForFormat($exportFormat))?></a></li>
+        <?php endforeach; ?>
       </ul>
     </li>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if ($this->userlist()->getMode() !== 'disabled'): ?>
+  <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
     <li>
-      <? if ($this->permission()->allowDisplay('feature.Favorites')): ?>
+      <?php if ($this->permission()->allowDisplay('feature.Favorites')): ?>
         <a class="save-record" data-lightbox href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" rel="nofollow"><i class="fa fa-star" aria-hidden="true"></i> <?=$this->transEsc('Add to favorites')?></a>
-      <? elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
+      <?php elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
         <?=$block?>
-      <? endif; ?>
+      <?php endif; ?>
     </li>
-  <? endif; ?>
-  <? if (!empty($addThis)): ?>
+  <?php endif; ?>
+  <?php if (!empty($addThis)): ?>
     <li><a class="addThis addthis_button" href="https://www.addthis.com/bookmark.php?v=250&amp;pub=<?=urlencode($addThis)?>"><i class="fa fa-bookmark" aria-hidden="true"></i> <?=$this->transEsc('Bookmark')?></a></li>
-  <? endif; ?>
+  <?php endif; ?>
   <?=$this->render('record/cart-buttons.phtml', ['id' => $this->driver->getUniqueId(), 'source' => $this->driver->getSourceIdentifier()]); ?>
 </ul>
diff --git a/themes/bootstrap3/templates/RecordDriver/EDS/core.phtml b/themes/bootstrap3/templates/RecordDriver/EDS/core.phtml
index 91dfeea63c9..4663171bb3c 100644
--- a/themes/bootstrap3/templates/RecordDriver/EDS/core.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/EDS/core.phtml
@@ -1,5 +1,5 @@
-<? $this->headLink()->appendStylesheet('EDS.css'); ?>
-<?
+<?php $this->headLink()->appendStylesheet('EDS.css'); ?>
+<?php
     $items = $this->driver->getItems();
     $dbLabel = $this->driver->getDbLabel();
     $thumb = $this->driver->getThumbnail('medium');
@@ -10,39 +10,39 @@
 ?>
 <div class="media" vocab="http://schema.org/" resource="#record" typeof="<?=$this->driver->getSchemaOrgFormats()?> Product">
   <div class="media-left medium img-col">
-    <? if ($thumb): ?>
+    <?php if ($thumb): ?>
       <img src="<?=$this->escapeHtmlAttr($thumb)?>" class="recordcover" alt="<?=$this->transEsc('Cover Image')?>"/>
-    <? else: ?>
+    <?php else: ?>
       <span class="recordcover pt-icon pt-<?=$this->driver->getPubTypeId()?>"></span>
-    <? endif; ?>
-    <? if ($pubType): ?>
+    <?php endif; ?>
+    <?php if ($pubType): ?>
       <p><?=$this->transEsc($pubType)?></p>
-    <? endif; ?>
+    <?php endif; ?>
 
     <div class="external-links">
-      <? $pLink = $this->driver->getPLink();
+      <?php $pLink = $this->driver->getPLink();
           if($pLink): ?>
         <span>
           <a href="<?=$this->escapeHtmlAttr($pLink)?>">
             <?=$this->transEsc('View in EDS')?>
           </a>
         </span><br />
-      <? endif; ?>
-      <? $pdfLink = $this->driver->getPdfLink();
+      <?php endif; ?>
+      <?php $pdfLink = $this->driver->getPdfLink();
           if ($pdfLink): ?>
         <span>
           <a href="<?=$pdfLink?>" class="icon pdf fulltext">
             <?=$this->transEsc('PDF Full Text')?>
           </a>
         </span><br />
-      <? endif; ?>
-      <? if ($this->driver->hasHTMLFullTextAvailable()): ?>
+      <?php endif; ?>
+      <?php if ($this->driver->hasHTMLFullTextAvailable()): ?>
         <span>
           <a href="<?=$this->recordLink()->getUrl($this->driver, 'fulltext')?>#html" class="icon html fulltext">
             <?=$this->transEsc('HTML Full Text')?>
           </a>
         </span><br />
-      <? endif; ?>
+      <?php endif; ?>
     </div>
   </div>
   <div class="media-body info-col">
@@ -50,30 +50,30 @@
 
     <table class="table table-striped">
       <caption class="sr-only"><?=$this->transEsc('Bibliographic Details')?></caption>
-      <? foreach ($items as $key => $item): ?>
-        <? if (!empty($item['Data'])): ?>
+      <?php foreach ($items as $key => $item): ?>
+        <?php if (!empty($item['Data'])): ?>
         <tr>
           <th><?=$this->transEsc($item['Label'])?>:</th>
           <td><?=$this->driver->linkUrls($item['Data'])?></td>
         </tr>
-        <? endif; ?>
-      <? endforeach; ?>
+        <?php endif; ?>
+      <?php endforeach; ?>
 
-      <? if ($dbLabel): ?>
+      <?php if ($dbLabel): ?>
         <tr>
           <th><?=$this->transEsc('Database')?>:</th>
           <td><?=$this->escapeHtml($dbLabel)?></td>
         </tr>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($this->driver->hasHTMLFullTextAvailable() && !$restrictedView): ?>
-        <? $fullText = $this->driver->getHtmlFullText(); ?>
+      <?php if ($this->driver->hasHTMLFullTextAvailable() && !$restrictedView): ?>
+        <?php $fullText = $this->driver->getHtmlFullText(); ?>
         <tr id="html">
           <td colspan="2">
             <?=$fullText?>
           </td>
         </tr>
-      <? elseif ($this->driver->hasHTMLFullTextAvailable() && $restrictedView): ?>
+      <?php elseif ($this->driver->hasHTMLFullTextAvailable() && $restrictedView): ?>
         <tr id="html">
           <td>
             <?=$this->transEsc('Full text is not displayed to guests')?>
@@ -84,26 +84,26 @@
             </a>
           </td>
         </tr>
-      <? endif; ?>
+      <?php endif; ?>
     </table>
 
     <div class="resultItemLine4 custom-links">
 
-    <? $customLinks = array_merge($this->driver->getFTCustomLinks(), $this->driver->getCustomLinks());
+    <?php $customLinks = array_merge($this->driver->getFTCustomLinks(), $this->driver->getCustomLinks());
     if (!empty($customLinks)): ?>
-      <? foreach ($customLinks as $customLink): ?>
-      <? $url = isset($customLink['Url']) ? $customLink['Url'] : '';
+      <?php foreach ($customLinks as $customLink): ?>
+      <?php $url = isset($customLink['Url']) ? $customLink['Url'] : '';
           $mot = isset($customLink['MouseOverText'])? $customLink['MouseOverText'] : '';
           $icon = isset($customLink['Icon']) ? $customLink['Icon'] : '';
           $name = isset($customLink['Text']) ? $customLink['Text'] : '';
       ?>
       <span>
         <a href="<?=$this->escapeHtmlAttr($url)?>" target="_blank" title="<?=$this->escapeHtmlAttr($mot)?>" class="custom-link">
-          <? if ($icon): ?><img src="<?=$this->escapeHtmlAttr($icon)?>" /> <? endif; ?><?=$this->escapeHtml($name)?>
+          <?php if ($icon): ?><img src="<?=$this->escapeHtmlAttr($icon)?>" /> <?php endif; ?><?=$this->escapeHtml($name)?>
         </a>
       </span>
-      <? endforeach; ?>
-    <? endif; ?>
+      <?php endforeach; ?>
+    <?php endif; ?>
     </div>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/EDS/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/EDS/result-list.phtml
index 0376e35e24c..741a7bbafb9 100644
--- a/themes/bootstrap3/templates/RecordDriver/EDS/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/EDS/result-list.phtml
@@ -1,49 +1,49 @@
-<?
+<?php
   $this->headLink()->appendStylesheet('EDS.css');
   $accessLevel = $this->driver->getAccessLevel();
   $restrictedView = empty($accessLevel) ? false : true;
   $coverDetails = $this->record($this->driver)->getCoverDetails('result-list', 'medium', $this->recordLink()->getUrl($this->driver));
 ?>
-<?
+<?php
   $thumbnail = false;
   $thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');
   ob_start(); ?>
   <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtml($coverDetails['size'])?>">
-    <? if ($coverDetails['cover']): ?>
+    <?php if ($coverDetails['cover']): ?>
       <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="_record_link">
         <img src="<?=$this->escapeHtmlAttr($coverDetails['cover'])?>" class="recordcover" alt="<?=$this->transEsc('Cover Image')?>"/>
       </a>
-    <? else: ?>
+    <?php else: ?>
       <span class="recordcover pt-icon pt-<?=$this->driver->getPubTypeId()?>"></span>
       <div><?=$this->driver->getPubType()?></div>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
-<? $thumbnail = ob_get_contents(); ?>
-<? ob_end_clean(); ?>
+<?php $thumbnail = ob_get_contents(); ?>
+<?php ob_end_clean(); ?>
 <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueID())?>" class="hiddenId" />
 <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" class="hiddenSource" />
 <div class="media<?=$this->driver->supportsAjaxStatus()?' ajaxItem':''?>">
-  <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
     <?=$thumbnail ?>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="media-body">
     <div class="result-body">
-      <? $items = $this->driver->getItems();
+      <?php $items = $this->driver->getItems();
         if (isset($items) && !empty($items)):
           foreach ($items as $item):
             if (!empty($item)): ?>
               <div class="resultItemLine1">
-                <? if('Ti' == $item['Group']): ?>
+                <?php if('Ti' == $item['Group']): ?>
                   <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull _record_link"  data-view="<?=$this->params->getOptions()->getListViewOption()?>">
                   <?=$item['Data']?> </a>
-                <? else:?>
+                <?php else:?>
                   <p>
                     <b><?=$this->transEsc($item['Label'])?>:</b>
                     <?=$item['Data']?>
                   </p>
-                <? endif;?>
+                <?php endif;?>
               </div>
-            <? endif;
+            <?php endif;
           endforeach;
         elseif ($restrictedView): ?>
           <div class="resultItemLine1">
@@ -55,43 +55,43 @@
               </a>
             </p>
           </div>
-        <? endif; ?>
+        <?php endif; ?>
 
       <div class="resultItemLine4 custom-links">
-        <? $customLinks = array_merge($this->driver->getFTCustomLinks(), $this->driver->getCustomLinks());
+        <?php $customLinks = array_merge($this->driver->getFTCustomLinks(), $this->driver->getCustomLinks());
         if (!empty($customLinks)): ?>
-          <? foreach ($customLinks as $customLink): ?>
-          <? $url = isset($customLink['Url']) ? $customLink['Url'] : '';
+          <?php foreach ($customLinks as $customLink): ?>
+          <?php $url = isset($customLink['Url']) ? $customLink['Url'] : '';
               $mot = isset($customLink['MouseOverText'])? $customLink['MouseOverText'] : '';
               $icon = isset($customLink['Icon']) ? $customLink['Icon'] : '';
               $name = isset($customLink['Text']) ? $customLink['Text'] : '';
           ?>
           <span>
             <a href="<?=$this->escapeHtmlAttr($url)?>" target="_blank" title="<?=$this->escapeHtmlAttr($mot)?>" class="custom-link">
-              <? if ($icon): ?><img src="<?=$this->escapeHtmlAttr($icon)?>" /> <? endif; ?><?=$this->escapeHtml($name)?>
+              <?php if ($icon): ?><img src="<?=$this->escapeHtmlAttr($icon)?>" /> <?php endif; ?><?=$this->escapeHtml($name)?>
             </a>
           </span>
-          <? endforeach; ?>
-        <? endif; ?>
+          <?php endforeach; ?>
+        <?php endif; ?>
       </div>
 
-      <? if ($this->driver->hasHTMLFullTextAvailable()): ?>
+      <?php if ($this->driver->hasHTMLFullTextAvailable()): ?>
         <a href="<?= $this->recordLink()->getUrl($this->driver, 'fulltext') ?>#html" class="icon html fulltext _record_link" target="_blank">
           <?=$this->transEsc('HTML Full Text')?>
         </a>
         &nbsp; &nbsp;
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($this->driver->hasPdfAvailable()): ?>
+      <?php if ($this->driver->hasPdfAvailable()): ?>
         <a href="<?= $this->recordLink()->getUrl($this->driver) . '/PDF'; ?>" class="icon pdf fulltext" target="_blank">
           <?=$this->transEsc('PDF Full Text')?>
         </a>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
     <div class="result-links hidden-print">
-      <? /* Display qrcode if appropriate: */ ?>
-      <? if ($QRCode = $this->record($this->driver)->getQRCode("results")): ?>
-        <?
+      <?php /* Display qrcode if appropriate: */ ?>
+      <?php if ($QRCode = $this->record($this->driver)->getQRCode("results")): ?>
+        <?php
           // Add JS Variables for QrCode
           $this->jsTranslations()->addStrings(['qrcode_hide' => 'qrcode_hide', 'qrcode_show' => 'qrcode_show']);
         ?>
@@ -103,37 +103,37 @@
             </script>
           </div><br/>
         </span>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
+      <?php if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
         <?=$this->render('record/cart-buttons.phtml', ['id' => $this->driver->getUniqueId(), 'source' => $this->driver->getSourceIdentifier()]); ?><br/>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? if ($this->userlist()->getMode() !== 'disabled'): ?>
-        <? /* Add to favorites */ ?>
+      <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
+        <?php /* Add to favorites */ ?>
         <i class="fa fa-fw fa-star" aria-hidden="true"></i> <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" class="save-record" data-lightbox id="<?=$this->driver->getUniqueId() ?>" title="<?=$this->transEsc('Add to favorites')?>"><?=$this->transEsc('Add to favorites')?></a><br/>
 
-        <? /* Saved lists */ ?>
+        <?php /* Saved lists */ ?>
         <div class="savedLists alert alert-info hidden">
           <strong><?=$this->transEsc("Saved in")?>:</strong>
         </div>
-      <? endif; ?>
+      <?php endif; ?>
 
-      <? /* Hierarchy tree link */ ?>
-      <? $trees = $this->driver->tryMethod('getHierarchyTrees'); if (!empty($trees)): ?>
-        <? foreach ($trees as $hierarchyID => $hierarchyTitle): ?>
+      <?php /* Hierarchy tree link */ ?>
+      <?php $trees = $this->driver->tryMethod('getHierarchyTrees'); if (!empty($trees)): ?>
+        <?php foreach ($trees as $hierarchyID => $hierarchyTitle): ?>
           <div class="hierarchyTreeLink">
             <input type="hidden" value="<?=$this->escapeHtmlAttr($hierarchyID)?>" class="hiddenHierarchyId" />
             <i class="fa fa-fw fa-sitemap" aria-hidden="true"></i>
             <a class="hierarchyTreeLinkText" data-lightbox href="<?=$this->recordLink()->getTabUrl($this->driver, 'HierarchyTree')?>?hierarchy=<?=urlencode($hierarchyID)?>#tabnav" title="<?=$this->transEsc('hierarchy_tree')?>">
-              <?=$this->transEsc('hierarchy_view_context')?><? if (count($trees) > 1): ?>: <?=$this->escapeHtml($hierarchyTitle)?><? endif; ?>
+              <?=$this->transEsc('hierarchy_view_context')?><?php if (count($trees) > 1): ?>: <?=$this->escapeHtml($hierarchyTitle)?><?php endif; ?>
             </a>
           </div>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
     </div>
   </div>
-  <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
     <?=$thumbnail ?>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/LibGuides/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/LibGuides/result-list.phtml
index a422c928ad8..7952029a6eb 100644
--- a/themes/bootstrap3/templates/RecordDriver/LibGuides/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/LibGuides/result-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $url = $this->driver->getUniqueId();
 ?>
 <div class="media">
diff --git a/themes/bootstrap3/templates/RecordDriver/Pazpar2/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/Pazpar2/result-list.phtml
index c31afd048a0..a836656fef6 100644
--- a/themes/bootstrap3/templates/RecordDriver/Pazpar2/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/Pazpar2/result-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $coverDetails = $this->record($this->driver)->getCoverDetails('result-list', 'medium', $this->recordLink()->getUrl($this->driver));
   $cover = $coverDetails['html'];
   $thumbnail = false;
@@ -8,15 +8,15 @@
     <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
       <?=$cover ?>
     </div>
-    <? $thumbnail = ob_get_contents(); ?>
-  <? ob_end_clean(); ?>
-<? endif; ?>
+    <?php $thumbnail = ob_get_contents(); ?>
+  <?php ob_end_clean(); ?>
+<?php endif; ?>
 <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueID())?>" class="hiddenId" />
 <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" class="hiddenSource" />
 <div class="media<?=$this->driver->supportsAjaxStatus()?' ajaxItem':''?>">
-  <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
     <?=$thumbnail ?>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="media-body">
     <div>
       <b>
@@ -25,38 +25,38 @@
     </div>
 
     <div>
-      <? $summAuthors = $this->driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
+      <?php $summAuthors = $this->driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
         <?=$this->transEsc('by')?>
-        <? $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
+        <?php $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
           <a href="<?=$this->record($this->driver)->getLink('author', $this->highlight($summAuthor, null, true, false))?>"><?=$this->highlight($summAuthor)?></a><?=$i + 1 < $authorCount ? ',' : ''?>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
 
-      <? $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
-      <? if (!empty($journalTitle)): ?>
+      <?php $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
+      <?php if (!empty($journalTitle)): ?>
         <?=!empty($summAuthor) ? '<br />' : ''?>
         <?=/* TODO: handle highlighting more elegantly here */ $this->transEsc('Published in') . ' <a href="' . $this->record($this->driver)->getLink('journaltitle', str_replace(['{{{{START_HILITE}}}}', '{{{{END_HILITE}}}}'], '', $journalTitle)) . '">' . $this->highlight($journalTitle) . '</a>';?>
         <?=!empty($summDate) ? ' (' . $this->escapeHtml($summDate[0]) . ')' : ''?>
-      <? elseif (!empty($summDate)): ?>
+      <?php elseif (!empty($summDate)): ?>
         <?=!empty($summAuthor) ? '<br />' : ''?>
         <?=$this->transEsc('Published') . ' ' . $this->escapeHtml($summDate[0])?>
-      <? endif; ?>
-      <? $summInCollection = $this->driver->getContainingCollections();
+      <?php endif; ?>
+      <?php $summInCollection = $this->driver->getContainingCollections();
       if (!empty($summInCollection)): ?>
-        <? foreach ($summInCollection as $collId => $collText): ?>
+        <?php foreach ($summInCollection as $collId => $collText): ?>
           <div>
             <b><?=$this->transEsc("in_collection_label")?></b>
             <a class="collectionLinkText" href="<?=$this->url('collection', ['id' => $collId])?>?recordID=<?=urlencode($this->driver->getUniqueID())?>">
               <?=$this->escapeHtml($collText)?>
             </a>
           </div>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
     </div>
 
     <div>
       <div class="callnumAndLocation ajax-availability hidden">
-        <? if ($this->driver->supportsAjaxStatus()): ?>
+        <?php if ($this->driver->supportsAjaxStatus()): ?>
           <strong class="hideIfDetailed"><?=$this->transEsc('Call Number')?>:</strong>
           <span class="callnumber ajax-availability hidden">
             <?=$this->transEsc('Loading')?>...
@@ -66,14 +66,14 @@
             <?=$this->transEsc('Loading')?>...
           </span>
           <div class="locationDetails"></div>
-        <? else: ?>
-          <? $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
+        <?php else: ?>
+          <?php $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
             <strong><?=$this->transEsc('Call Number')?>:</strong> <?=$this->escapeHtml($summCallNo)?>
-          <? endif; ?>
-        <? endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
       </div>
 
-      <? /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
+      <?php /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
             but even if we don't plan to display the link, we still want to get the $openUrl
             value for use in generating a COinS (Z3988) tag -- see bottom of file.
           */
@@ -82,26 +82,26 @@
         // Account for replace_other_urls setting
         $urls = $this->record($this->driver)->getLinkDetails($openUrlActive);
         if ($openUrlActive || !empty($urls)): ?>
-        <? if ($openUrlActive): ?>
+        <?php if ($openUrlActive): ?>
           <br/>
           <?=$openUrl->renderTemplate()?>
-        <? endif; ?>
-        <? if (!is_array($urls)) $urls = [];
+        <?php endif; ?>
+        <?php if (!is_array($urls)) $urls = [];
           if(!$this->driver->isCollection()):
             foreach ($urls as $current): ?>
               <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>" class="fulltext" target="new"><i class="fa fa-external-link" aria-hidden="true"></i> <?=($current['url'] == $current['desc']) ? $this->transEsc('Get full text') : $this->escapeHtml($current['desc'])?></a><br/>
-          <? endforeach; ?>
-        <? endif; ?>
-      <? endif; ?>
+          <?php endforeach; ?>
+        <?php endif; ?>
+      <?php endif; ?>
 
       <div class="result-formats">
         <?=$this->record($this->driver)->getFormatList() ?>
 
-        <? if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
+        <?php if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
           <span class="status ajax-availability small">
             <span class="label label-default"><?=$this->transEsc('Loading')?>...</span>
           </span>
-        <? endif; ?>
+        <?php endif; ?>
       </div>
 
       <div class="result-previews">
@@ -111,7 +111,7 @@
       <?=$this->driver->supportsCoinsOpenUrl()?'<span class="Z3988" title="' . $this->escapeHtmlAttr($this->driver->getCoinsOpenUrl()) . '"></span>':''?>
     </div>
   </div>
-  <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+  <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
     <?=$thumbnail ?>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/Primo/format-class.phtml b/themes/bootstrap3/templates/RecordDriver/Primo/format-class.phtml
index a035c93fc8f..12be46ed611 100644
--- a/themes/bootstrap3/templates/RecordDriver/Primo/format-class.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/Primo/format-class.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Convert Primo formats to VuFind formats so icons display correctly:
   switch ($this->format) {
       case 'Audio Recording':
diff --git a/themes/bootstrap3/templates/RecordDriver/SolrAuth/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/SolrAuth/result-list.phtml
index 274d8cb07ef..f3491bb9f36 100644
--- a/themes/bootstrap3/templates/RecordDriver/SolrAuth/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/SolrAuth/result-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $heading = $this->driver->getTitle();
   if (empty($heading)) {
     $heading = $this->translate('Heading unavailable.');
@@ -13,21 +13,21 @@
     </div>
 
     <div class="resultItemLine2">
-      <? if (!empty($seeAlso)): ?>
+      <?php if (!empty($seeAlso)): ?>
         <?=$this->transEsc("See also")?>:<br/>
-        <? foreach ($seeAlso as $current): ?>
+        <?php foreach ($seeAlso as $current): ?>
           <a href="<?=$this->url('authority-search')?>?lookfor=%22<?=urlencode($current)?>%22&amp;type=MainHeading"><?=$this->escapeHtml($current)?></a><br/>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
     </div>
 
     <div class="resultItemLine3">
-      <? if (!empty($useFor)): ?>
+      <?php if (!empty($useFor)): ?>
         <?=$this->transEsc("Use for")?>:<br/>
-        <? foreach ($useFor as $current): ?>
+        <?php foreach ($useFor as $current): ?>
           <?=$this->escapeHtml($current)?><br/>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
     </div>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/SolrWeb/result-list.phtml b/themes/bootstrap3/templates/RecordDriver/SolrWeb/result-list.phtml
index 4f8c227262b..19b1f0e736b 100644
--- a/themes/bootstrap3/templates/RecordDriver/SolrWeb/result-list.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/SolrWeb/result-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $url = $this->driver->getUrl();
 ?>
 <div class="media">
@@ -10,20 +10,20 @@
     </div>
 
     <div class="resultItemLine2">
-      <? $snippet = $this->driver->getHighlightedSnippet(); ?>
-      <? $summary = $this->driver->getSummary(); ?>
-      <? if (!empty($snippet)): ?>
+      <?php $snippet = $this->driver->getHighlightedSnippet(); ?>
+      <?php $summary = $this->driver->getSummary(); ?>
+      <?php if (!empty($snippet)): ?>
         <?=$this->highlight($snippet['snippet'])?>
-      <? elseif (!empty($summary)): ?>
+      <?php elseif (!empty($summary)): ?>
         <?=$this->escapeHtml($summary[0])?>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
 
     <div class="resultItemLine3">
       <?=$this->escapeHtml($url)?>
-      <? $lastMod = $this->driver->getLastModified(); if (!empty($lastMod)): ?>
+      <?php $lastMod = $this->driver->getLastModified(); if (!empty($lastMod)): ?>
         <br /><?=$this->transEsc('Last Modified')?>: <?=$this->escapeHtml(trim(str_replace(['T', 'Z'], ' ', $lastMod)))?>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordDriver/Summon/format-class.phtml b/themes/bootstrap3/templates/RecordDriver/Summon/format-class.phtml
index ee5e6148494..4b9f0d2a3bf 100644
--- a/themes/bootstrap3/templates/RecordDriver/Summon/format-class.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/Summon/format-class.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Convert Summon formats to VuFind formats so icons display correctly:
   switch ($this->format) {
       case 'Audio Recording':
diff --git a/themes/bootstrap3/templates/RecordTab/collectionhierarchytree.phtml b/themes/bootstrap3/templates/RecordTab/collectionhierarchytree.phtml
index a03b1fc56c9..eefcc2b4ac5 100644
--- a/themes/bootstrap3/templates/RecordTab/collectionhierarchytree.phtml
+++ b/themes/bootstrap3/templates/RecordTab/collectionhierarchytree.phtml
@@ -1,16 +1,16 @@
-<? $this->treeContext = 'Collection'; ?>
+<?php $this->treeContext = 'Collection'; ?>
 
 <div class="collection-hierarchytree">
   <div class="tree-panel">
     <?=$this->render('RecordTab/hierarchytree.phtml')?>
   </div>
   <div id="tree-preview">
-    <? if (($collectionRecord = $this->tab->getActiveRecord()) !== false): ?>
-      <? if ($collectionRecord === null): ?>
+    <?php if (($collectionRecord = $this->tab->getActiveRecord()) !== false): ?>
+      <?php if ($collectionRecord === null): ?>
         <?=$this->render('collection/collection-record-error.phtml')?>
-      <? else: ?>
+      <?php else: ?>
         <?=html_entity_decode($this->record($collectionRecord)->getCollectionBriefRecord())?>
-      <? endif; ?>
-    <? endif; ?>
+      <?php endif; ?>
+    <?php endif; ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/RecordTab/collectionlist.phtml b/themes/bootstrap3/templates/RecordTab/collectionlist.phtml
index aabec2f3215..67721ad320f 100644
--- a/themes/bootstrap3/templates/RecordTab/collectionlist.phtml
+++ b/themes/bootstrap3/templates/RecordTab/collectionlist.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Collection Items') . ': ' . $this->driver->getBreadcrumb());
 
@@ -7,24 +7,24 @@
   $params = $this->tab->getParams();
   $searchDetails = ['results' => $results, 'params' => $params, 'indexStart' => 1];
 ?>
-<? if (($recordTotal = $results->getResultTotal()) > 0): // only display these at very top if we have results ?>
-  <? foreach ($results->getRecommendations('top') as $current): ?>
+<?php if (($recordTotal = $results->getResultTotal()) > 0): // only display these at very top if we have results ?>
+  <?php foreach ($results->getRecommendations('top') as $current): ?>
     <?=$this->recommend($current)?>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <div class="clearfix hidden-print">
     <div class="pull-left flip">
-      <?
+      <?php
         $transParams = [
           '%%start%%' => $this->localizedNumber($results->getStartRecord()),
           '%%end%%' => $this->localizedNumber($results->getEndRecord()),
           '%%total%%' => $this->localizedNumber($recordTotal)
         ];
       ?>
-      <? if (!isset($this->skipTotalCount)): ?>
+      <?php if (!isset($this->skipTotalCount)): ?>
         <?=$this->translate('showing_items_of_html', $transParams); ?>
-      <? else: ?>
+      <?php else: ?>
         <?=$this->translate('showing_items_html', $transParams); ?>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
     <div class="pull-right flip">
       <?=$this->render('search/controls/limit.phtml', $searchDetails)?>
@@ -36,6 +36,6 @@
     <?=$this->render('search/list-' . $results->getParams()->getView() . '.phtml', $searchDetails)?>
     <?=$this->paginationControl($results->getPaginator(), 'Sliding', 'search/pagination.phtml', ['results' => $results])?>
   </form>
-<? else: ?>
+<?php else: ?>
   <?=$this->transEsc('collection_empty')?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/description.phtml b/themes/bootstrap3/templates/RecordTab/description.phtml
index 3d6b3c4cf13..646423d21b5 100644
--- a/themes/bootstrap3/templates/RecordTab/description.phtml
+++ b/themes/bootstrap3/templates/RecordTab/description.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Description') . ': ' . $this->driver->getBreadcrumb());
 
@@ -7,11 +7,11 @@
 ?>
 <table class="table table-striped">
   <caption class="sr-only"><?=$this->transEsc('Description')?></caption>
-  <? if (!empty($mainFields)): ?>
-    <? foreach ($mainFields as $key => $current): ?>
+  <?php if (!empty($mainFields)): ?>
+    <?php foreach ($mainFields as $key => $current): ?>
       <tr><th><?=$this->transEsc($key)?>:</th><td><?=$current['value']?></td></tr>
-    <? endforeach; ?>
-  <? else: ?>
+    <?php endforeach; ?>
+  <?php else: ?>
     <tr><td><?=$this->transEsc('no_description')?></td></tr>
-  <? endif; ?>
+  <?php endif; ?>
 </table>
diff --git a/themes/bootstrap3/templates/RecordTab/excerpt.phtml b/themes/bootstrap3/templates/RecordTab/excerpt.phtml
index 625e470d79a..6164969b607 100644
--- a/themes/bootstrap3/templates/RecordTab/excerpt.phtml
+++ b/themes/bootstrap3/templates/RecordTab/excerpt.phtml
@@ -1,18 +1,18 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Excerpt') . ': ' . $this->driver->getBreadcrumb());
 
     // Grab excerpt data:
     $excerpts = $this->tab->getContent();
 ?>
-<? if (count($excerpts) > 0): ?>
-  <? foreach ($excerpts as $provider => $list): ?>
-    <? foreach ($list as $excerpt): ?>
+<?php if (count($excerpts) > 0): ?>
+  <?php foreach ($excerpts as $provider => $list): ?>
+    <?php foreach ($list as $excerpt): ?>
       <p class="summary"><?=$excerpt['Content']?></p>
       <?=isset($excerpt['Copyright']) ? $excerpt['Copyright'] : ''?>
       <hr/>
-    <? endforeach; ?>
-  <? endforeach; ?>
-<? else: ?>
+    <?php endforeach; ?>
+  <?php endforeach; ?>
+<?php else: ?>
   <?=$this->transEsc('No excerpts were found for this record.')?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/hierarchytree.phtml b/themes/bootstrap3/templates/RecordTab/hierarchytree.phtml
index 754171e3419..0ca8b8f7049 100644
--- a/themes/bootstrap3/templates/RecordTab/hierarchytree.phtml
+++ b/themes/bootstrap3/templates/RecordTab/hierarchytree.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('hierarchy_tree') . ': ' . $this->driver->getBreadcrumb());
   $hierarchyTreeList = $this->tab->getTreeList();
@@ -20,20 +20,20 @@
   $this->inlineScript(\Zend\View\Helper\HeadScript::FILE, 'hierarchyTree.js');
   echo $this->inlineScript();
 ?>
-<? if (count($hierarchyTreeList) > 1): ?>
+<?php if (count($hierarchyTreeList) > 1): ?>
   <div id="treeSelector">
-    <? foreach ($hierarchyTreeList as $hierarchy => $hierarchyTitle): ?>
-      <? if($activeTree == $hierarchy): ?>
+    <?php foreach ($hierarchyTreeList as $hierarchy => $hierarchyTitle): ?>
+      <?php if($activeTree == $hierarchy): ?>
         <i class="fa fa-sitemap" aria-hidden="true"></i> <?=$this->escapeHtml($hierarchyTitle)?>
-      <? else: ?>
+      <?php else: ?>
         <i class="fa fa-sitemap text-muted" aria-hidden="true"></i> <a href="<?=$this->recordLink()->getTabUrl($this->driver, 'HierarchyTree')?>?hierarchy=<?=urlencode($hierarchy)?>"><?=$this->escapeHtml($hierarchyTitle)?></a>
-      <? endif; ?>
-    <? endforeach; ?>
+      <?php endif; ?>
+    <?php endforeach; ?>
   </div>
-<? endif; ?>
-<? if ($activeTree): ?>
+<?php endif; ?>
+<?php if ($activeTree): ?>
   <div id="hierarchyTreeHolder">
-    <? if ($this->tab->searchActive()): ?>
+    <?php if ($this->tab->searchActive()): ?>
       <div id="treeSearch" class="form-inline hidden">
         <input type="text" id="treeSearchText" class="form-control search-query" value="">
         <select class="form-control" id="treeSearchType" name="type">
@@ -45,19 +45,19 @@
       </div>
       <div id="treeSearchNoResults" class="alert alert-danger hidden"><?=$this->translate('nohit_heading')?></div>
       <div id="treeSearchLimitReached" class="alert alert-danger hidden"><?=$this->translate('tree_search_limit_reached_html', ['%%url%%' => $this->url('search-results'), '%%limit%%' => $this->tab->getSearchLimit()])?></div>
-    <? endif; ?>
+    <?php endif; ?>
     <div id="hierarchyLoading" class="hide"><i class="fa fa-spinner fa-spin" aria-hidden="true"></i> <?=$this->transEsc("Loading")?>...</div>
     <div id="hierarchyTree" class="hierarchy-tree">
       <input type="hidden" value="<?=$this->escapeHtml($this->driver->getUniqueId())?>" class="hiddenRecordId" />
       <input type="hidden" value="<?=$this->escapeHtml($activeTree)?>" class="hiddenHierarchyId" />
       <input type="hidden" value="<?=isset($this->treeContext) ? $this->treeContext : 'Record'?>" class="hiddenContext" />
-      <? if ($this->layout()->getTemplate() != 'layout/lightbox'): ?>
+      <?php if ($this->layout()->getTemplate() != 'layout/lightbox'): ?>
         <noscript>
           <ul class="fa-ul">
             <?=$this->tab->renderTree($this->url('home'))?>
           </ul>
         </noscript>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/holdingsils.phtml b/themes/bootstrap3/templates/RecordTab/holdingsils.phtml
index 02dfaaadddb..6b3c85db324 100644
--- a/themes/bootstrap3/templates/RecordTab/holdingsils.phtml
+++ b/themes/bootstrap3/templates/RecordTab/holdingsils.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up convenience variables:
     $account = $this->auth()->getManager();
     $user = $account->isLoggedIn();
@@ -19,166 +19,166 @@
 
 <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-<? if (!empty($holdings['blocks'])):?>
+<?php if (!empty($holdings['blocks'])):?>
   <div id="account-block-msg" class="alert alert-danger">
     <?=$this->transEsc('account_block_options_missing', ['%%details%%' => implode('; ', $holdings['blocks'])]) ?>
   </div>
-<? endif; ?>
+<?php endif; ?>
 
 <?=($offlineMode == "ils-offline") ? $this->render('Helpers/ils-offline.phtml', ['offlineModeMsg' => 'ils_offline_holdings_message']) : ''?>
-<? if (($this->ils()->getHoldsMode() == 'driver' && !empty($holdings['holdings'])) || $this->ils()->getTitleHoldsMode() == 'driver'): ?>
-  <? if ($account->loginEnabled() && $offlineMode != 'ils-offline'): ?>
-    <? if (!$user): ?>
+<?php if (($this->ils()->getHoldsMode() == 'driver' && !empty($holdings['holdings'])) || $this->ils()->getTitleHoldsMode() == 'driver'): ?>
+  <?php if ($account->loginEnabled() && $offlineMode != 'ils-offline'): ?>
+    <?php if (!$user): ?>
       <div class="alert alert-info">
         <a href="<?=$this->recordLink()->getTabUrl($this->driver, 'Holdings')?>?login=true&amp;catalogLogin=true" data-lightbox><?=$this->transEsc("hold_login")?></a>
       </div>
-    <? elseif (!$user->cat_username): ?>
+    <?php elseif (!$user->cat_username): ?>
       <div class="alert alert-info">
         <?=$this->translate("hold_profile_html", ['%%url%%' => $this->recordLink()->getTabUrl($this->driver, 'Holdings') . '?catalogLogin=true'])?>
       </div>
-    <? endif; ?>
-  <? endif; ?>
-<? endif; ?>
-<? $holdingTitleHold = $this->driver->tryMethod('getRealTimeTitleHold'); if (!empty($holdingTitleHold)): ?>
+    <?php endif; ?>
+  <?php endif; ?>
+<?php endif; ?>
+<?php $holdingTitleHold = $this->driver->tryMethod('getRealTimeTitleHold'); if (!empty($holdingTitleHold)): ?>
   <a class="placehold" data-lightbox title="<?=$this->transEsc('request_place_text')?>" href="<?=$this->recordLink()->getRequestUrl($holdingTitleHold)?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc('title_hold_place')?></a>
-<? endif; ?>
-<? if (!empty($urls) || $openUrlActive): ?>
+<?php endif; ?>
+<?php if (!empty($urls) || $openUrlActive): ?>
   <h3><?=$this->transEsc("Internet")?></h3>
-  <? if (!empty($urls)): ?>
-    <? foreach ($urls as $current): ?>
+  <?php if (!empty($urls)): ?>
+    <?php foreach ($urls as $current): ?>
       <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>"><?=$this->escapeHtml($current['desc'])?></a><br/>
-    <? endforeach; ?>
-  <? endif; ?>
-  <? if ($openUrlActive): ?><?=$openUrl->renderTemplate()?><? endif; ?>
-<? endif; ?>
-<? foreach ($holdings['holdings'] as $holding): ?>
+    <?php endforeach; ?>
+  <?php endif; ?>
+  <?php if ($openUrlActive): ?><?=$openUrl->renderTemplate()?><?php endif; ?>
+<?php endif; ?>
+<?php foreach ($holdings['holdings'] as $holding): ?>
 <h3>
-  <? $locationText = $this->transEsc('location_' . $holding['location'], [], $holding['location']); ?>
-  <? if (isset($holding['locationhref']) && $holding['locationhref']): ?>
+  <?php $locationText = $this->transEsc('location_' . $holding['location'], [], $holding['location']); ?>
+  <?php if (isset($holding['locationhref']) && $holding['locationhref']): ?>
     <a href="<?=$holding['locationhref']?>" target="_blank"><?=$locationText?></a>
-  <? else: ?>
+  <?php else: ?>
     <?=$locationText?>
-  <? endif; ?>
+  <?php endif; ?>
 </h3>
 <table class="table table-striped">
   <caption class="sr-only"><?=$this->transEsc('holdings_details_from', ['%%location%%' => $this->transEsc($holding['location'])]) ?></caption>
-  <? $callNos = $this->tab->getUniqueCallNumbers($holding['items']); if (!empty($callNos)): ?>
+  <?php $callNos = $this->tab->getUniqueCallNumbers($holding['items']); if (!empty($callNos)): ?>
   <tr>
     <th><?=$this->transEsc("Call Number")?>: </th>
     <td width="50%">
-      <? foreach ($callNos as $callNo): ?>
-        <? if ($this->callnumberHandler): ?>
+      <?php foreach ($callNos as $callNo): ?>
+        <?php if ($this->callnumberHandler): ?>
           <a href="<?=$this->url('alphabrowse-home') ?>?source=<?=$this->escapeHtmlAttr($this->callnumberHandler) ?>&amp;from=<?=$this->escapeHtmlAttr($callNo) ?>"><?=$this->escapeHtml($callNo)?></a>
-        <? else: ?>
+        <?php else: ?>
           <?=$this->escapeHtml($callNo)?>
-        <? endif; ?>
+        <?php endif; ?>
         <br />
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </td>
   </tr>
-  <? endif; ?>
-  <? if (isset($holding['textfields'])): foreach ($holding['textfields'] as $textFieldName => $textFields): ?>
+  <?php endif; ?>
+  <?php if (isset($holding['textfields'])): foreach ($holding['textfields'] as $textFieldName => $textFields): ?>
     <tr>
-      <? // Translation for summary is a special case for backwards-compatibility ?>
+      <?php // Translation for summary is a special case for backwards-compatibility ?>
       <th><?=$textFieldName == 'summary' ? $this->transEsc("Volume Holdings") : $this->transEsc(ucfirst($textFieldName))?>:</th>
       <td>
-        <? foreach ($textFields as $current): ?>
+        <?php foreach ($textFields as $current): ?>
           <?=$this->escapeHtml($current)?><br/>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </td>
     </tr>
-  <? endforeach; endif; ?>
-  <? foreach ($holding['items'] as $row): ?>
-    <?
+  <?php endforeach; endif; ?>
+  <?php foreach ($holding['items'] as $row): ?>
+    <?php
       // AJAX Check record?
       $check = isset($row['check']) && $row['check'];
       $checkStorageRetrievalRequest = isset($row['checkStorageRetrievalRequest']) && $row['checkStorageRetrievalRequest'];
       $checkILLRequest = isset($row['checkILLRequest']) && $row['checkILLRequest'];
     ?>
-    <? if (isset($row['barcode']) && $row['barcode'] != ""): ?>
+    <?php if (isset($row['barcode']) && $row['barcode'] != ""): ?>
       <tr vocab="http://schema.org/" typeof="Offer">
         <th><?=$this->transEsc("Copy")?> <?=$this->escapeHtml($row['number'])?></th>
         <td>
-          <? if ($row['reserve'] == "Y"): ?>
+          <?php if ($row['reserve'] == "Y"): ?>
             <link property="availability" href="http://schema.org/InStoreOnly" />
             <?=$this->transEsc("On Reserve - Ask at Circulation Desk")?><br />
-          <? endif; ?>
-          <? if (isset($row['use_unknown_message']) && $row['use_unknown_message']): ?>
+          <?php endif; ?>
+          <?php if (isset($row['use_unknown_message']) && $row['use_unknown_message']): ?>
             <span class="text-muted"><?=$this->transEsc("status_unknown_message")?></span>
-          <? else: ?>
-            <? if ($row['availability']): ?>
-              <? /* Begin Available Items (Holds) */ ?>
+          <?php else: ?>
+            <?php if ($row['availability']): ?>
+              <?php /* Begin Available Items (Holds) */ ?>
                <span class="text-success"><?=$this->transEsc("Available")?><link property="availability" href="http://schema.org/InStock" /></span>
-              <? if (isset($row['link']) && $row['link']): ?>
-                <a class="<?=$check ? 'checkRequest ' : ''?>placehold" <? if (!empty($row['linkLightbox'])): ?>data-lightbox <? endif; ?>href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc($check ? "Check Hold" : "Place a Hold")?></a>
-              <? endif; ?>
-              <? if (isset($row['storageRetrievalRequestLink']) && $row['storageRetrievalRequestLink']): ?>
+              <?php if (isset($row['link']) && $row['link']): ?>
+                <a class="<?=$check ? 'checkRequest ' : ''?>placehold" <?php if (!empty($row['linkLightbox'])): ?>data-lightbox <?php endif; ?>href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc($check ? "Check Hold" : "Place a Hold")?></a>
+              <?php endif; ?>
+              <?php if (isset($row['storageRetrievalRequestLink']) && $row['storageRetrievalRequestLink']): ?>
                 <a class="<?=$checkStorageRetrievalRequest ? 'checkStorageRetrievalRequest ' : ''?> placeStorageRetrievalRequest" data-lightbox href="<?=$this->recordLink()->getRequestUrl($row['storageRetrievalRequestLink'])?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc($checkStorageRetrievalRequest ? "storage_retrieval_request_check_text" : "storage_retrieval_request_place_text")?></a>
-              <? endif; ?>
-              <? if (isset($row['ILLRequestLink']) && $row['ILLRequestLink']): ?>
+              <?php endif; ?>
+              <?php if (isset($row['ILLRequestLink']) && $row['ILLRequestLink']): ?>
                 <a class="<?=$checkILLRequest ? 'checkILLRequest ' : ''?>placeILLRequest" data-lightbox href="<?=$this->recordLink()->getRequestUrl($row['ILLRequestLink'])?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc($checkILLRequest ? "ill_request_check_text" : "ill_request_place_text")?></a>
-              <? endif; ?>
-            <? else: ?>
-              <? /* Begin Unavailable Items (Recalls) */ ?>
+              <?php endif; ?>
+            <?php else: ?>
+              <?php /* Begin Unavailable Items (Recalls) */ ?>
               <span class="text-danger"><?=$this->transEsc($row['status'])?><link property="availability" href="http://schema.org/OutOfStock" /></span>
-              <? if (isset($row['returnDate']) && $row['returnDate']): ?>&ndash; <span class="small"><?=$this->escapeHtml($row['returnDate'])?></span><? endif; ?>
-              <? if (isset($row['duedate']) && $row['duedate']): ?>
+              <?php if (isset($row['returnDate']) && $row['returnDate']): ?>&ndash; <span class="small"><?=$this->escapeHtml($row['returnDate'])?></span><?php endif; ?>
+              <?php if (isset($row['duedate']) && $row['duedate']): ?>
                 &ndash; <span class="small"><?=$this->transEsc("Due")?>: <?=$this->escapeHtml($row['duedate'])?></span>
-              <? endif; ?>
-              <? if (isset($row['requests_placed']) && $row['requests_placed'] > 0): ?>
+              <?php endif; ?>
+              <?php if (isset($row['requests_placed']) && $row['requests_placed'] > 0): ?>
                 <span><?=$this->transEsc("Requests")?>: <?=$this->escapeHtml($row['requests_placed'])?></span>
-              <? endif; ?>
-              <? if (isset($row['link']) && $row['link']): ?>
-                <a class="<?=$check ? 'checkRequest' : ''?> placehold" <? if (!empty($row['linkLightbox'])): ?>data-lightbox <? endif; ?>href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc($check ? "Check Recall" : "Recall This")?></a>
-              <? endif; ?>
-            <? endif; ?>
-            <? if (isset($row['item_notes'])): ?>
+              <?php endif; ?>
+              <?php if (isset($row['link']) && $row['link']): ?>
+                <a class="<?=$check ? 'checkRequest' : ''?> placehold" <?php if (!empty($row['linkLightbox'])): ?>data-lightbox <?php endif; ?>href="<?=$this->recordLink()->getRequestUrl($row['link'])?>"><i class="fa fa-flag" aria-hidden="true"></i>&nbsp;<?=$this->transEsc($check ? "Check Recall" : "Recall This")?></a>
+              <?php endif; ?>
+            <?php endif; ?>
+            <?php if (isset($row['item_notes'])): ?>
               <div class="item-notes">
                 <b><?=$this->transEsc("Item Notes")?>:</b>
                 <ul>
-                  <? foreach ($row['item_notes'] as $item_note): ?>
+                  <?php foreach ($row['item_notes'] as $item_note): ?>
                     <li><?=$this->escapeHtml($item_note) ?></li>
-                  <? endforeach; ?>
+                  <?php endforeach; ?>
                 </ul>
               </div>
-            <? endif; ?>
-          <? endif; ?>
-          <? /* Embed item structured data: library, barcode, call number */ ?>
-          <? if ($row['location']): ?>
+            <?php endif; ?>
+          <?php endif; ?>
+          <?php /* Embed item structured data: library, barcode, call number */ ?>
+          <?php if ($row['location']): ?>
             <meta property="seller" content="<?=$this->escapeHtmlAttr($row['location'])?>" />
-          <? endif; ?>
-          <? if ($row['barcode']): ?>
+          <?php endif; ?>
+          <?php if ($row['barcode']): ?>
             <meta property="serialNumber" content="<?=$this->escapeHtmlAttr($row['barcode'])?>" />
-          <? endif; ?>
-          <? if ($row['callnumber']): ?>
+          <?php endif; ?>
+          <?php if ($row['callnumber']): ?>
             <meta property="sku" content="<?=$this->escapeHtmlAttr($row['callnumber'])?>" />
-          <? endif; ?>
-          <? /* Declare that the item is to be borrowed, not for sale */ ?>
+          <?php endif; ?>
+          <?php /* Declare that the item is to be borrowed, not for sale */ ?>
             <link property="businessFunction" href="http://purl.org/goodrelations/v1#LeaseOut" />
             <link property="itemOffered" href="#record" />
         </td>
       </tr>
-    <? endif; ?>
-  <? endforeach; ?>
-  <? if (!empty($holding['purchase_history'])): ?>
+    <?php endif; ?>
+  <?php endforeach; ?>
+  <?php if (!empty($holding['purchase_history'])): ?>
     <tr>
       <th><?=$this->transEsc("Most Recent Received Issues")?>:</th>
       <td>
-        <? foreach ($holding['purchase_history'] as $current): ?>
+        <?php foreach ($holding['purchase_history'] as $current): ?>
           <?=$this->escapeHtml($current['issue'])?><br/>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </td>
     </tr>
-  <? endif; ?>
+  <?php endif; ?>
 </table>
-<? endforeach; ?>
+<?php endforeach; ?>
 
-<? $history = $this->driver->getRealTimeHistory(); ?>
-<? if (is_array($history) && !empty($history)): ?>
+<?php $history = $this->driver->getRealTimeHistory(); ?>
+<?php if (is_array($history) && !empty($history)): ?>
 <h3><?=$this->transEsc("Most Recent Received Issues")?></h3>
 <table class="table table-striped">
-  <? foreach ($history as $row): ?>
+  <?php foreach ($history as $row): ?>
     <tr><td><?=$this->escapeHtml($row['issue'])?></td></tr>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </table>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/holdingsworldcat.phtml b/themes/bootstrap3/templates/RecordTab/holdingsworldcat.phtml
index 00292694f6e..e25df3d8d0f 100644
--- a/themes/bootstrap3/templates/RecordTab/holdingsworldcat.phtml
+++ b/themes/bootstrap3/templates/RecordTab/holdingsworldcat.phtml
@@ -1,31 +1,31 @@
-<? $holdings = $this->tab->getHoldings(); ?>
-<? if (isset($holdings->diagnostic->message)): ?>
+<?php $holdings = $this->tab->getHoldings(); ?>
+<?php if (isset($holdings->diagnostic->message)): ?>
   <p><?=$this->escapeHtml($holdings->diagnostic->message)?></p>
-<? elseif ($holdings && count($holdings) > 0): ?>
+<?php elseif ($holdings && count($holdings) > 0): ?>
   <h3><?=$this->transEsc('Holdings at Other Libraries')?></h3>
   <table class="table table-striped">
-    <? foreach ($holdings as $holding): ?>
+    <?php foreach ($holdings as $holding): ?>
       <tr>
         <th colspan="2">
-          <? if (isset($holding->electronicAddress->text) && !empty($holding->electronicAddress->text)): ?>
+          <?php if (isset($holding->electronicAddress->text) && !empty($holding->electronicAddress->text)): ?>
             <a href="<?=$this->escapeHtmlAttr($holding->electronicAddress->text)?>"><?=$this->escapeHtml($holding->physicalLocation)?></a>
-          <? else: ?>
+          <?php else: ?>
             <?=$this->escapeHtml($holding->physicalLocation)?>
-          <? endif; ?>
+          <?php endif; ?>
         </th>
       </tr>
-      <? if (!empty($holding->physicalAddress->text)): ?>
+      <?php if (!empty($holding->physicalAddress->text)): ?>
         <tr>
           <th><?=$this->transEsc('Address')?>: </th>
           <td><?=$this->escapeHtml($holding->physicalAddress->text)?></td>
         </tr>
-      <? endif; ?>
-      <? if (isset($holding->holdingSimple->copiesSummary->copiesCount)): ?>
+      <?php endif; ?>
+      <?php if (isset($holding->holdingSimple->copiesSummary->copiesCount)): ?>
         <tr>
           <th><?=$this->transEsc('Copies')?>: </th>
           <td><?=$this->escapeHtml($holding->holdingSimple->copiesSummary->copiesCount)?></td>
         </tr>
-      <? endif; ?>
-    <? endforeach; ?>
+      <?php endif; ?>
+    <?php endforeach; ?>
   </table>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/map.phtml b/themes/bootstrap3/templates/RecordTab/map.phtml
index 59efb257c56..3f120a348f2 100644
--- a/themes/bootstrap3/templates/RecordTab/map.phtml
+++ b/themes/bootstrap3/templates/RecordTab/map.phtml
@@ -1,6 +1,6 @@
-<? $mapType = $this->tab->getMapType(); ?>
-<? if (isset($mapType) && ($mapType == 'openlayers')) : ?>
-  <? $this->headScript()->appendFile('vendor/ol/ol.js');
+<?php $mapType = $this->tab->getMapType(); ?>
+<?php if (isset($mapType) && ($mapType == 'openlayers')) : ?>
+  <?php $this->headScript()->appendFile('vendor/ol/ol.js');
   $this->headScript()->appendFile('map_tab_ol.js');
   $this->headLink()->appendStylesheet('vendor/ol/ol.css');
   $mapTabData = $this->tab->getMapTabData();
@@ -15,4 +15,4 @@
     <div id="map-canvas" style="width: 100%; height: 100%"><div id="popup"></div></div>
     <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $jsLoad, 'SET');?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/preview.phtml b/themes/bootstrap3/templates/RecordTab/preview.phtml
index 06bb49936f2..b151b30ad93 100644
--- a/themes/bootstrap3/templates/RecordTab/preview.phtml
+++ b/themes/bootstrap3/templates/RecordTab/preview.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Preview') . ': ' . $this->driver->getBreadcrumb());
 
diff --git a/themes/bootstrap3/templates/RecordTab/reviews.phtml b/themes/bootstrap3/templates/RecordTab/reviews.phtml
index a39b2352c57..da4f97d1848 100644
--- a/themes/bootstrap3/templates/RecordTab/reviews.phtml
+++ b/themes/bootstrap3/templates/RecordTab/reviews.phtml
@@ -1,32 +1,32 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Reviews') . ': ' . $this->driver->getBreadcrumb());
 
     // Grab review data:
     $reviews = $this->tab->getContent();
 ?>
-<? if (count($reviews) > 0): ?>
-  <? foreach ($reviews as $provider => $list): ?>
-    <? foreach ($list as $review): ?>
-      <? if (isset($review['Summary']) && !empty($review['Summary'])): ?>
+<?php if (count($reviews) > 0): ?>
+  <?php foreach ($reviews as $provider => $list): ?>
+    <?php foreach ($list as $review): ?>
+      <?php if (isset($review['Summary']) && !empty($review['Summary'])): ?>
         <p>
-          <? if (isset($review['Rating'])): ?>
+          <?php if (isset($review['Rating'])): ?>
             <img src="<?=$this->imageLink($review['Rating'] . '.gif')?>" alt="<?=$review['Rating']?>/5 Stars"/>
-          <? endif; ?>
+          <?php endif; ?>
           <strong><?=$review['Summary']?></strong> <?=isset($review['Date']) ? strftime('%B %e, %Y', strtotime($review['Date'])) : ''?>
         </p>
-      <? endif; ?>
-      <? if (isset($review['Source'])): ?><strong><?=$this->transEsc('Review by')?> <?=$review['Source']?></strong><? endif; ?>
+      <?php endif; ?>
+      <?php if (isset($review['Source'])): ?><strong><?=$this->transEsc('Review by')?> <?=$review['Source']?></strong><?php endif; ?>
       <p class="summary">
         <?=isset($review['Content']) ? $review['Content'] : ''?>
-        <? if ((!isset($review['Content']) || empty($review['Content'])) && isset($review['ReviewURL'])): ?>
+        <?php if ((!isset($review['Content']) || empty($review['Content'])) && isset($review['ReviewURL'])): ?>
           <a target="new" href="<?=$this->escapeHtmlAttr($review['ReviewURL'])?>"><?=$this->transEsc('Read the full review online...')?></a>
-        <? endif; ?>
+        <?php endif; ?>
       </p>
       <?=isset($review['Copyright']) ? $review['Copyright'] : ''?>
       <hr/>
-    <? endforeach; ?>
-  <? endforeach; ?>
-<? else: ?>
+    <?php endforeach; ?>
+  <?php endforeach; ?>
+<?php else: ?>
   <?=$this->transEsc('No reviews were found for this record')?>.
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/similaritemscarousel.phtml b/themes/bootstrap3/templates/RecordTab/similaritemscarousel.phtml
index 63999576e66..0c6e3d56277 100644
--- a/themes/bootstrap3/templates/RecordTab/similaritemscarousel.phtml
+++ b/themes/bootstrap3/templates/RecordTab/similaritemscarousel.phtml
@@ -1,42 +1,42 @@
 <h4><?=$this->transEsc('Similar Items')?></h4>
-<? $similarRecords = $this->tab->getResults(); ?>
-<? if (!empty($similarRecords)): ?>
-  <? $perPage = 4 ?>
+<?php $similarRecords = $this->tab->getResults(); ?>
+<?php if (!empty($similarRecords)): ?>
+  <?php $perPage = 4 ?>
   <div id="similar-items-carousel" class="carousel slide" data-ride="carousel">
     <!-- Indicators -->
     <ol class="carousel-indicators">
       <li data-target="#similar-items-carousel" data-slide-to="0" class="active"></li>
-      <? for($i = 1;$i < count($similarRecords) / $perPage;$i++): ?>
+      <?php for($i = 1;$i < count($similarRecords) / $perPage;$i++): ?>
         <li data-target="#similar-items-carousel" data-slide-to="<?=$i ?>"></li>
-      <? endfor; ?>
+      <?php endfor; ?>
     </ol>
 
     <!-- Wrapper for slides -->
     <div class="carousel-inner">
       <div class="item active">
-        <? foreach ($similarRecords as $index => $data): ?>
+        <?php foreach ($similarRecords as $index => $data): ?>
           <div class="carousel-item">
             <a class="hover-overlay" href="<?=$this->recordLink()->getUrl($data)?>">
-              <? $thumb = $this->record($data)->getThumbnail('large'); ?>
+              <?php $thumb = $this->record($data)->getThumbnail('large'); ?>
               <img src="<?=$thumb ?>" title="<?=$data->getTitle() ?>"/>
               <div class="content">
-                <? $formats = $data->getFormats(); ?>
-                <i class="fa fa-x<? if (count($formats) > 0): ?> fa-<?=preg_replace('/[^a-z0-9]/', '', strtolower($formats[0]))?>" title="<?=$formats[0] ?><? endif; ?>"></i>
+                <?php $formats = $data->getFormats(); ?>
+                <i class="fa fa-x<?php if (count($formats) > 0): ?> fa-<?=preg_replace('/[^a-z0-9]/', '', strtolower($formats[0]))?>" title="<?=$formats[0] ?><?php endif; ?>"></i>
                 <b><?=$this->escapeHtml($data->getTitle())?></b>
-                <? $authors = $data->getPrimaryAuthors(); if (!empty($authors)): ?>
-                  <br/><?=$this->transEsc('by')?>: <?=$this->escapeHtml($authors[0]);?><? if (count($authors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?>
-                <? endif; ?>
-                <? $pubDates = $data->getPublicationDates(); if (!empty($pubDates)): ?>
+                <?php $authors = $data->getPrimaryAuthors(); if (!empty($authors)): ?>
+                  <br/><?=$this->transEsc('by')?>: <?=$this->escapeHtml($authors[0]);?><?php if (count($authors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?>
+                <?php endif; ?>
+                <?php $pubDates = $data->getPublicationDates(); if (!empty($pubDates)): ?>
                   <br/><?=$this->transEsc('Published')?>: (<?=$this->escapeHtml($pubDates[0])?>)
-                <? endif; ?>
+                <?php endif; ?>
               </div>
             </a>
           </div>
-          <? if(($index + 1) % $perPage == 0 && $index < count($similarRecords) - 1): ?>
+          <?php if(($index + 1) % $perPage == 0 && $index < count($similarRecords) - 1): ?>
       </div>
       <div class="item">
-          <? endif; ?>
-        <? endforeach; ?>
+          <?php endif; ?>
+        <?php endforeach; ?>
       </div>
     </div>
 
@@ -48,10 +48,10 @@
       <span class="fa fa-chevron-right glyphicon-chevron-right" title="<?=$this->transEsc('Next') ?>"></span>
     </a>
   </div>
-<? else: ?>
+<?php else: ?>
   <p><?=$this->transEsc('Cannot find similar records')?></p>
-<? endif; ?>
-<?
+<?php endif; ?>
+<?php
   $script = <<<JS
 var normalizeHeightCount = $('#similar-items-carousel img').length;
 function normalizeHeights() {
diff --git a/themes/bootstrap3/templates/RecordTab/staffviewarray.phtml b/themes/bootstrap3/templates/RecordTab/staffviewarray.phtml
index 6a013ceaa89..86ece285924 100644
--- a/themes/bootstrap3/templates/RecordTab/staffviewarray.phtml
+++ b/themes/bootstrap3/templates/RecordTab/staffviewarray.phtml
@@ -1,16 +1,16 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Staff View') . ': ' . $this->driver->getBreadcrumb());
 ?>
 <table class="citation table table-striped">
-  <? foreach ($this->driver->getRawData() as $field => $values): ?>
+  <?php foreach ($this->driver->getRawData() as $field => $values): ?>
     <tr>
       <th><?=$this->escapeHtml($field)?></th>
       <td>
-        <? foreach ((array)$values as $value): ?>
+        <?php foreach ((array)$values as $value): ?>
           <?=$this->escapeHtml(is_array($value) ? print_r($value, true) : $value)?><br />
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </td>
     </tr>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </table>
diff --git a/themes/bootstrap3/templates/RecordTab/staffviewmarc.phtml b/themes/bootstrap3/templates/RecordTab/staffviewmarc.phtml
index e00ee857b49..d41b84a73e6 100644
--- a/themes/bootstrap3/templates/RecordTab/staffviewmarc.phtml
+++ b/themes/bootstrap3/templates/RecordTab/staffviewmarc.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Staff View') . ': ' . $this->driver->getBreadcrumb());
 ?>
diff --git a/themes/bootstrap3/templates/RecordTab/toc.phtml b/themes/bootstrap3/templates/RecordTab/toc.phtml
index 1ba50de723f..3538894eb6a 100644
--- a/themes/bootstrap3/templates/RecordTab/toc.phtml
+++ b/themes/bootstrap3/templates/RecordTab/toc.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Table of Contents') . ': ' . $this->driver->getBreadcrumb());
 
@@ -10,19 +10,19 @@
         }
     }
 ?>
-<? if (!empty($toc)): ?>
+<?php if (!empty($toc)): ?>
   <strong><?=$this->transEsc('Table of Contents')?>: </strong>
-  <? foreach ($toc as $provider => $content): ?>
-    <? if (!is_array($content)): // treat non-array content as raw HTML ?>
+  <?php foreach ($toc as $provider => $content): ?>
+    <?php if (!is_array($content)): // treat non-array content as raw HTML ?>
       <?=$content?>
-    <? else: ?>
+    <?php else: ?>
       <ul class="toc">
-      <? foreach ($content as $line): ?>
+      <?php foreach ($content as $line): ?>
         <li><?=$this->escapeHtml($line)?></li>
-      <? endforeach; ?>
+      <?php endforeach; ?>
       </ul>
-    <? endif; ?>
-  <? endforeach; ?>
-<? else: ?>
+    <?php endif; ?>
+  <?php endforeach; ?>
+<?php else: ?>
   <?=$this->transEsc('Table of Contents unavailable')?>.
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/RecordTab/usercomments.phtml b/themes/bootstrap3/templates/RecordTab/usercomments.phtml
index 7fe6ab303d3..f3b2887135c 100644
--- a/themes/bootstrap3/templates/RecordTab/usercomments.phtml
+++ b/themes/bootstrap3/templates/RecordTab/usercomments.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Comments') . ': ' . $this->driver->getBreadcrumb());
 ?>
@@ -10,16 +10,16 @@
   <input type="hidden" name="id" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueId())?>"/>
   <input type="hidden" name="source" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>"/>
   <label class="comment-label"><?=$this->transEsc("Your Comment")?></label>
-  <? $user = $this->auth()->isLoggedIn() ?>
-  <? if($user): ?>
+  <?php $user = $this->auth()->isLoggedIn() ?>
+  <?php if($user): ?>
     <div class="text-form">
       <textarea name="comment" class="form-control" rows="3" required></textarea>
-      <? if ($this->tab->isRecaptchaActive()): ?>
+      <?php if ($this->tab->isRecaptchaActive()): ?>
         <?=$this->recaptcha()->html(true, false) ?>
-      <? endif; ?>
+      <?php endif; ?>
       <input class="btn btn-primary" data-loading-text="<?=$this->transEsc('Submitting') ?>..." type="submit" value="<?=$this->transEsc("Add your comment")?>"/>
     </div>
-  <? else: ?>
+  <?php else: ?>
     <a href="<?=$this->url('myresearch-userlogin') ?>" class="btn btn-primary" data-lightbox title="Login"><i class="fa fa-sign-in" aria-hidden="true"></i> <?=$this->transEsc("You must be logged in first") ?></a>
-  <? endif; ?>
+  <?php endif; ?>
 </form>
diff --git a/themes/bootstrap3/templates/Related/Channels.phtml b/themes/bootstrap3/templates/Related/Channels.phtml
index a4a3b046c8e..4ae2c885659 100644
--- a/themes/bootstrap3/templates/Related/Channels.phtml
+++ b/themes/bootstrap3/templates/Related/Channels.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $driver = $this->related->getDriver();
     $link = $this->url('channels-record')
         . '?id=' . urlencode($driver->getUniqueId())
diff --git a/themes/bootstrap3/templates/Related/Deprecated.phtml b/themes/bootstrap3/templates/Related/Deprecated.phtml
index ff8266ef2c7..69cb7c76ea6 100644
--- a/themes/bootstrap3/templates/Related/Deprecated.phtml
+++ b/themes/bootstrap3/templates/Related/Deprecated.phtml
@@ -1,2 +1,2 @@
-<? /* do nothing -- this module is a placeholder for old deprecated features
+<?php /* do nothing -- this module is a placeholder for old deprecated features
       to prevent legacy configurations from causing fatal errors. */ ?>
diff --git a/themes/bootstrap3/templates/Related/Similar.phtml b/themes/bootstrap3/templates/Related/Similar.phtml
index 94047e13130..feeab41e8e8 100644
--- a/themes/bootstrap3/templates/Related/Similar.phtml
+++ b/themes/bootstrap3/templates/Related/Similar.phtml
@@ -1,23 +1,23 @@
 <h4><?=$this->transEsc('Similar Items')?></h4>
-<? $similarRecords = $this->related->getResults(); ?>
-<? if (!empty($similarRecords)): ?>
+<?php $similarRecords = $this->related->getResults(); ?>
+<?php if (!empty($similarRecords)): ?>
   <ul class="list-group">
-    <? foreach ($similarRecords as $data): ?>
+    <?php foreach ($similarRecords as $data): ?>
       <li class="list-group-item">
-        <? $formats = $data->getFormats(); ?>
-        <i class="fa fa-x<? if (count($formats) > 0): ?> fa-<?=preg_replace('/[^a-z0-9]/', '', strtolower($formats[0]))?>" title="<?=$formats[0] ?><? endif; ?>"></i>
+        <?php $formats = $data->getFormats(); ?>
+        <i class="fa fa-x<?php if (count($formats) > 0): ?> fa-<?=preg_replace('/[^a-z0-9]/', '', strtolower($formats[0]))?>" title="<?=$formats[0] ?><?php endif; ?>"></i>
         <a href="<?=$this->recordLink()->getUrl($data)?>">
           <?=$this->escapeHtml($data->getTitle())?>
         </a>
-        <? $authors = $data->getPrimaryAuthors(); if (!empty($authors)): ?>
-          <br/><?=$this->transEsc('by')?>: <?=$this->escapeHtml($authors[0]);?><? if (count($authors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?>
-        <? endif; ?>
-        <? $pubDates = $data->getPublicationDates(); if (!empty($pubDates)): ?>
+        <?php $authors = $data->getPrimaryAuthors(); if (!empty($authors)): ?>
+          <br/><?=$this->transEsc('by')?>: <?=$this->escapeHtml($authors[0]);?><?php if (count($authors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?>
+        <?php endif; ?>
+        <?php $pubDates = $data->getPublicationDates(); if (!empty($pubDates)): ?>
           <br/><?=$this->transEsc('Published')?>: (<?=$this->escapeHtml($pubDates[0])?>)
-        <? endif; ?>
+        <?php endif; ?>
       </li>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </ul>
-<? else: ?>
+<?php else: ?>
   <p><?=$this->transEsc('Cannot find similar records')?></p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/admin/config/home.phtml b/themes/bootstrap3/templates/admin/config/home.phtml
index 2284a17be9a..8a9e84a5b08 100644
--- a/themes/bootstrap3/templates/admin/config/home.phtml
+++ b/themes/bootstrap3/templates/admin/config/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('VuFind Administration - Configuration'));
 ?>
@@ -7,12 +7,12 @@
   <?=$this->flashmessages()?>
   <p>Most VuFind configuration is handled by editing the configuration files in <strong><?=$this->escapeHtml($this->baseConfigPath)?></strong>.</p>
   <p>Some basic settings can also be adjusted through the auto-configuration tool.</p>
-  <? if (!$this->showInstallLink): ?>
+  <?php if (!$this->showInstallLink): ?>
     <p><?=$this->transEsc('Auto configuration is currently disabled') ?>.</p>
     <p><a href="<?=$this->url('admin/config', ['action' => 'EnableAutoConfig'])?>"><?=$this->transEsc('Enable Auto Config')?></a></p>
-  <? else: ?>
+  <?php else: ?>
     <p><a href="<?=$this->url('install-home')?>"><?=$this->transEsc('auto_configure_title')?></a></p>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/admin/home.phtml b/themes/bootstrap3/templates/admin/home.phtml
index 18b3b6e0e79..d17ba66c56d 100644
--- a/themes/bootstrap3/templates/admin/home.phtml
+++ b/themes/bootstrap3/templates/admin/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('VuFind Administration - Home'));
 
@@ -10,34 +10,34 @@
 ?>
 <div class="<?=$this->layoutClass('mainbody')?>">
   <h2><?=$this->transEsc('VuFind Administration')?></h2>
-  <? $cores = is_object($this->xml) ? $this->xml->xpath('/response/lst[@name="status"]/lst') : []; ?>
-  <? foreach ($cores as $core): ?>
-    <? $coreName = (string)$core['name']; ?>
-    <? $coreLabel = isset($coreLabels[$coreName]) ? $coreLabels[$coreName] : ucwords($coreName) . ' Index'; ?>
+  <?php $cores = is_object($this->xml) ? $this->xml->xpath('/response/lst[@name="status"]/lst') : []; ?>
+  <?php foreach ($cores as $core): ?>
+    <?php $coreName = (string)$core['name']; ?>
+    <?php $coreLabel = isset($coreLabels[$coreName]) ? $coreLabels[$coreName] : ucwords($coreName) . ' Index'; ?>
     <h3><?=$this->transEsc($coreLabel)?></h3>
     <table class="table table-striped">
       <tr>
         <th><?=$this->transEsc('Record Count')?>: </th>
-        <? $recordCount = $core->xpath('//lst[@name="' . $coreName . '"]/lst/int[@name="numDocs"]') ?>
+        <?php $recordCount = $core->xpath('//lst[@name="' . $coreName . '"]/lst/int[@name="numDocs"]') ?>
         <td><?=$this->escapeHtml((string)array_pop($recordCount))?></td>
       </tr>
       <tr>
         <th><?=$this->transEsc('Start Time')?>: </th>
-        <? $startTime = $core->xpath('//lst[@name="' . $coreName . '"]/date[@name="startTime"]') ?>
+        <?php $startTime = $core->xpath('//lst[@name="' . $coreName . '"]/date[@name="startTime"]') ?>
         <td><?=$this->escapeHtml(strftime("%b %d, %Y %l:%M:%S%p", strtotime((string)array_pop($startTime))))?></td>
       </tr>
       <tr>
         <th><?=$this->transEsc('Last Modified')?>: </th>
-        <? $lastModified = $core->xpath('//lst[@name="' . $coreName . '"]/lst/date[@name="lastModified"]') ?>
+        <?php $lastModified = $core->xpath('//lst[@name="' . $coreName . '"]/lst/date[@name="lastModified"]') ?>
         <td><?=$this->escapeHtml(strftime("%b %d, %Y %l:%M:%S%p", strtotime((string)array_pop($lastModified))))?></td>
       </tr>
       <tr>
         <th><?=$this->transEsc('Uptime')?>: </th>
-        <? $uptime = $core->xpath('//lst[@name="' . $coreName . '"]/long[@name="uptime"]') ?>
+        <?php $uptime = $core->xpath('//lst[@name="' . $coreName . '"]/long[@name="uptime"]') ?>
         <td><?=$this->printms((string)array_pop($uptime))?></td>
       </tr>
     </table>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/admin/maintenance/home.phtml b/themes/bootstrap3/templates/admin/maintenance/home.phtml
index 04c30463e95..16d86ef679c 100644
--- a/themes/bootstrap3/templates/admin/maintenance/home.phtml
+++ b/themes/bootstrap3/templates/admin/maintenance/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('VuFind Administration - System Maintenance'));
 ?>
@@ -21,12 +21,12 @@
   <hr />
   <form class="form-admin-maintenance clear-cache" method="get" action="<?=$this->url('admin/maintenance', ['action' => 'ClearCache'])?>">
     Clear cache(s):
-    <? foreach ($caches as $cache): ?>
+    <?php foreach ($caches as $cache): ?>
       <label>
         <input type="checkbox" checked="checked" name="cache[]" value="<?=$this->escapeHtmlAttr($cache)?>" />
         <?=$this->escapeHtml($cache) ?>
       </label>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <input type="submit" name="submit" value="<?=$this->transEsc('Submit')?>" class="btn btn-danger"/>
   </form>
 </div>
diff --git a/themes/bootstrap3/templates/admin/socialstats/home.phtml b/themes/bootstrap3/templates/admin/socialstats/home.phtml
index 7fb0f9c2d79..c22b4fd3ddc 100644
--- a/themes/bootstrap3/templates/admin/socialstats/home.phtml
+++ b/themes/bootstrap3/templates/admin/socialstats/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('VuFind Administration - Social Statistics'));
 ?>
diff --git a/themes/bootstrap3/templates/admin/tags/home.phtml b/themes/bootstrap3/templates/admin/tags/home.phtml
index 0a8f646b427..c857f4da48b 100644
--- a/themes/bootstrap3/templates/admin/tags/home.phtml
+++ b/themes/bootstrap3/templates/admin/tags/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('VuFind Administration - Tag Management'));
 ?>
diff --git a/themes/bootstrap3/templates/admin/tags/list.phtml b/themes/bootstrap3/templates/admin/tags/list.phtml
index deab9563c27..5715be6465a 100644
--- a/themes/bootstrap3/templates/admin/tags/list.phtml
+++ b/themes/bootstrap3/templates/admin/tags/list.phtml
@@ -18,45 +18,45 @@
         <?=$this->translate('Username')?>
         <select name="user_id" id="user_id" class="form-control">
           <option value="ALL"><?=$this->translate('All')?></option>
-          <? foreach($this->uniqueUsers as $user):?>
-            <option value="<?= $user['user_id'] ?>"<? if(isset($this->params['user_id']) && $user['user_id'] == $this->params['user_id']): ?> selected="selected"<? endif;?>>
+          <?php foreach($this->uniqueUsers as $user):?>
+            <option value="<?= $user['user_id'] ?>"<?php if(isset($this->params['user_id']) && $user['user_id'] == $this->params['user_id']): ?> selected="selected"<?php endif;?>>
               <?=$user['username'] ?>
             </option>
-          <? endforeach;?>
+          <?php endforeach;?>
         </select>
       </label>
       <label for="tag_id">
         <?=$this->translate('Tag')?>
         <select name="tag_id" id="tag_id" class="form-control">
           <option value="ALL"><?=$this->translate('All')?></option>
-          <? foreach($this->uniqueTags as $tag):?>
-          <option value="<?= $tag['tag_id'] ?>"<? if(isset($this->params['tag_id']) && $tag['tag_id'] == $this->params['tag_id']): ?> selected="selected"<? endif;?>>
+          <?php foreach($this->uniqueTags as $tag):?>
+          <option value="<?= $tag['tag_id'] ?>"<?php if(isset($this->params['tag_id']) && $tag['tag_id'] == $this->params['tag_id']): ?> selected="selected"<?php endif;?>>
               <?=$tag['tag'] ?>
           </option>
-          <? endforeach;?>
+          <?php endforeach;?>
         </select>
       </label>
       <label for="resource_id">
         <?=$this->translate('Title')?>
         <select name="resource_id" id="resource_id" class="form-control">
           <option value="ALL"><?=$this->translate('All')?></option>
-          <? foreach($this->uniqueResources as $resource):?>
-          <option value="<?= $resource['resource_id']; ?>" title="<?=$resource['title'] ?>"<? if(isset($this->params['resource_id']) && $resource['resource_id'] == $this->params['resource_id']): ?> selected="selected"<? endif;?>>
+          <?php foreach($this->uniqueResources as $resource):?>
+          <option value="<?= $resource['resource_id']; ?>" title="<?=$resource['title'] ?>"<?php if(isset($this->params['resource_id']) && $resource['resource_id'] == $this->params['resource_id']): ?> selected="selected"<?php endif;?>>
               <?=$this->truncate($resource['title'], 80) ?> (<?=$resource['resource_id'] ?>)
           </option>
-          <? endforeach;?>
+          <?php endforeach;?>
         </select>
       </label>
       <label for="taglistsubmit">
         <input type="submit" id="taglistsubmit" value="<?=$this->transEsc('Filter')?>" class="btn btn-primary">
-        <? if((isset($this->params['user_id']) && null !== $this->params['user_id']) || (isset($this->params['tag_id']) && null !== $this->params['tag_id']) || (isset($this->params['resource_id']) && null !== $this->params['resource_id'])):?>
+        <?php if((isset($this->params['user_id']) && null !== $this->params['user_id']) || (isset($this->params['tag_id']) && null !== $this->params['tag_id']) || (isset($this->params['resource_id']) && null !== $this->params['resource_id'])):?>
           <a href="<?= $this->url('admin/tags', ['action' => 'List']); ?>"><?=$this->translate('clear_tag_filter')?></a>
-        <? endif;?>
+        <?php endif;?>
       </label>
     </div>
   </form>
 
-  <? if(count($this->results) > 0):?>
+  <?php if(count($this->results) > 0):?>
     <form action="<?= $this->url('admin/tags', ['action' => 'Delete'])?>" method="post">
       <input type="hidden" name="user_id" value="<?=isset($this->params['user_id']) ? $this->params['user_id'] : '' ?>" />
       <input type="hidden" name="tag_id" value="<?=isset($this->params['tag_id']) ? $this->params['tag_id'] : '' ?>" />
@@ -70,7 +70,7 @@
           <th><?=$this->translate('Title')?></th>
         </tr>
 
-        <? foreach ($this->results as $tag): ?>
+        <?php foreach ($this->results as $tag): ?>
           <tr>
             <td>
               <label for="<?=$this->prefix?>checkbox_<?=$tag['id']?>">
@@ -82,7 +82,7 @@
             <td><?=$tag->username ?> (<?= $tag->user_id?>)</td>
             <td><?=$tag->title?> (<?= $tag->resource_id?>)</td>
           </tr>
-        <? endforeach;?>
+        <?php endforeach;?>
       </table>
 
       <input type="submit" name="deleteSelected" value="<?=$this->transEsc('delete_selected')?>" class="btn btn-default">
@@ -91,9 +91,9 @@
 
     </form>
     <?=$this->paginationControl($this->results, 'Sliding', 'Helpers/pagination.phtml', ['params' => $this->params])?>
-  <? else:?>
+  <?php else:?>
     <p><?=$this->translate('tag_filter_empty')?></p>
-  <? endif;?>
+  <?php endif;?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/admin/tags/manage.phtml b/themes/bootstrap3/templates/admin/tags/manage.phtml
index ce46884c0d0..cfe5bed4cec 100644
--- a/themes/bootstrap3/templates/admin/tags/manage.phtml
+++ b/themes/bootstrap3/templates/admin/tags/manage.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('VuFind Administration - Tag Maintenance'));
 ?>
@@ -23,49 +23,49 @@
     </div>
   </form>
 
-  <? if(false !== $this->type):?>
+  <?php if(false !== $this->type):?>
     <form class="form-tags-manage" action="<?= $this->url('admin/tags', ['action' => 'Delete'])?>" method="post">
       <input type="hidden" name="origin" value="manage" />
       <input type="hidden" name="type" value="<?= $this->type; ?>" />
-      <? if("user" == $type):?>
+      <?php if("user" == $type):?>
         <div class="form-group">
           <label for="user_id" class="control-label"><?=$this->translate('Username')?></label>
           <select name="user_id" id="user_id" class="form-control">
-            <? foreach($this->uniqueUsers as $user):?>
+            <?php foreach($this->uniqueUsers as $user):?>
               <option value="<?= $user['user_id'] ?>">
                 <?= $user['username'] ?>
               </option>
-            <? endforeach;?>
+            <?php endforeach;?>
           </select>
           <input type="submit"  name="deleteFilter" value="<?=$this->translate('delete_tags')?>" class="btn btn-primary"/>
         </div>
-      <? elseif("tag" == $type):?>
+      <?php elseif("tag" == $type):?>
         <div class="form-group">
           <label for="tag_id" class="control-label"><?=$this->translate('Tag')?></label>
           <select name="tag_id" id="tag_id" class="form-control">
-            <? foreach($this->uniqueTags as $tag):?>
+            <?php foreach($this->uniqueTags as $tag):?>
               <option value="<?= $tag['tag_id'] ?>">
                 <?= $tag['tag'] ?>
               </option>
-            <? endforeach;?>
+            <?php endforeach;?>
           </select>
           <input type="submit" name="deleteFilter" value="<?=$this->translate('delete_tags')?>" class="btn btn-primary"/>
         </div>
-      <? elseif("resource" == $type):?>
+      <?php elseif("resource" == $type):?>
         <div class="form-group">
           <label for="resource_id" class="control-label"><?=$this->translate('Title')?></label>
           <select name="resource_id" id="resource_id" class="form-control">
-            <? foreach($this->uniqueResources as $resource):?>
+            <?php foreach($this->uniqueResources as $resource):?>
               <option value="<?=$resource['resource_id'] ?>" title="<?=$resource['title'] ?>">
                 <?=$this->truncate($resource['title'], 80) ?> (<?= $resource['resource_id'] ?>)
               </option>
-            <? endforeach;?>
+            <?php endforeach;?>
           </select>
           <input type="submit" name="deleteFilter" value="<?=$this->translate('delete_tags')?>" class="btn btn-primary"/>
         </div>
-      <? endif;?>
+      <?php endif;?>
     </form>
-  <? endif;?>
+  <?php endif;?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/ajax/resolverLinks.phtml b/themes/bootstrap3/templates/ajax/resolverLinks.phtml
index 1ebb2351b19..44992801ee4 100644
--- a/themes/bootstrap3/templates/ajax/resolverLinks.phtml
+++ b/themes/bootstrap3/templates/ajax/resolverLinks.phtml
@@ -1,48 +1,48 @@
 <div>
-  <? if (!empty($this->electronic)): ?>
+  <?php if (!empty($this->electronic)): ?>
     <div class="openurls">
       <strong><?=$this->transEsc('Electronic')?></strong>
       <ul>
-        <? foreach ($this->electronic as $link): ?>
+        <?php foreach ($this->electronic as $link): ?>
           <li>
-            <? if (!empty($link['href'])): ?>
+            <?php if (!empty($link['href'])): ?>
               <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class="access-' . $link['access'] . '"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
-            <? else: ?>
+            <?php else: ?>
               <?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
-            <? endif; ?>
+            <?php endif; ?>
           </li>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </ul>
     </div>
-  <? endif; ?>
-  <? if (!empty($this->print)): ?>
+  <?php endif; ?>
+  <?php if (!empty($this->print)): ?>
     <div class="openurls">
       <strong><?=$this->transEsc('Holdings')?></strong>
       <ul>
-        <? foreach ($this->print as $link): ?>
+        <?php foreach ($this->print as $link): ?>
           <li>
-            <? if (!empty($link['href'])): ?>
+            <?php if (!empty($link['href'])): ?>
               <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class="access-' . $link['access'] . '"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
-            <? else: ?>
+            <?php else: ?>
               <?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
-            <? endif; ?>
+            <?php endif; ?>
           </li>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </ul>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="openurls">
-    <? if (!empty($this->moreOptionsLink)): ?><strong><a href="<?=$this->escapeHtmlAttr($this->moreOptionsLink)?>"><?=$this->transEsc('More options')?></a></strong><? endif; ?>
-    <? if (!empty($this->services)): ?>
+    <?php if (!empty($this->moreOptionsLink)): ?><strong><a href="<?=$this->escapeHtmlAttr($this->moreOptionsLink)?>"><?=$this->transEsc('More options')?></a></strong><?php endif; ?>
+    <?php if (!empty($this->services)): ?>
       <ul>
-        <? foreach ($this->services as $link): ?>
-          <? if (!empty($link['href'])): ?>
+        <?php foreach ($this->services as $link): ?>
+          <?php if (!empty($link['href'])): ?>
             <li>
               <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class="access-' . $link['access'] . '"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a>
             </li>
-          <? endif; ?>
-        <? endforeach; ?>
+          <?php endif; ?>
+        <?php endforeach; ?>
       </ul>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/ajax/resultgooglemapinfo.phtml b/themes/bootstrap3/templates/ajax/resultgooglemapinfo.phtml
index 193957ee40b..e8fa5661e94 100644
--- a/themes/bootstrap3/templates/ajax/resultgooglemapinfo.phtml
+++ b/themes/bootstrap3/templates/ajax/resultgooglemapinfo.phtml
@@ -1,29 +1,29 @@
 <div class="mapInfoWrapper">
   <h4><?=$this->transEsc('map_results_label')?></h4>
   <div class="mapInfoResults">
-    <? $i = 0; ?>
-    <? foreach($this->recordSet as $record): ?>
-    <? $i++; ?>
-      <div class="mapInfoResult <? if ($i % 2 == 0): ?>alt <? endif; ?>record<?=$i ?>">
+    <?php $i = 0; ?>
+    <?php foreach($this->recordSet as $record): ?>
+    <?php $i++; ?>
+      <div class="mapInfoResult <?php if ($i % 2 == 0): ?>alt <?php endif; ?>record<?=$i ?>">
         <div class="mapInfoResultThumb">
-          <? if ($thumb = $this->record($record)->getThumbnail()): ?><img class="mapInfoResultThumbImg" src="<?=$this->escapeHtmlAttr($thumb) ?>"/><? endif; ?>
+          <?php if ($thumb = $this->record($record)->getThumbnail()): ?><img class="mapInfoResultThumbImg" src="<?=$this->escapeHtmlAttr($thumb) ?>"/><?php endif; ?>
         </div>
 
         &bull; <a href="<?=$this->recordLink()->getUrl($record)?>"><?=($title = $record->getTitle()) ? $title : $this->transEsc('Title not available') ?></a>
-        <? $authors = $record->getPrimaryAuthors(); if (!empty($authors)): ?>
+        <?php $authors = $record->getPrimaryAuthors(); if (!empty($authors)): ?>
           <span class="small">
-            <?=$this->transEsc('by')?> <a href="<?=$this->record($record)->getLink('author', $authors[0])?>"><?=$this->escapeHtml($authors[0]);?></a><? if (count($authors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?>
+            <?=$this->transEsc('by')?> <a href="<?=$this->record($record)->getLink('author', $authors[0])?>"><?=$this->escapeHtml($authors[0]);?></a><?php if (count($authors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?>
           </span><br/>
-        <? endif; ?>
+        <?php endif; ?>
 
       </div>
       <div class="clearfix"></div>
-    <? if ($i == 5) break; ?>
-    <? endforeach; ?>
+    <?php if ($i == 5) break; ?>
+    <?php endforeach; ?>
   </div>
-  <? if ($this->recordCount > 5): ?>
+  <?php if ($this->recordCount > 5): ?>
     <div class="mapSeeAllDiv">
       <a href="<?=$this->url('search-results') ?><?=$this->results->getUrlQuery()->getParams() ?>"><?=$this->transEsc('see all') ?> <?=$this->escapeHtml($this->recordCount) ?>...</a>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/ajax/status-available-services.phtml b/themes/bootstrap3/templates/ajax/status-available-services.phtml
index 87ef7cbfeb5..e3e3499ad64 100644
--- a/themes/bootstrap3/templates/ajax/status-available-services.phtml
+++ b/themes/bootstrap3/templates/ajax/status-available-services.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // defaultServiceStatusMessage for multiple status and as fallback for missing translations
 $defaultServiceStatusMessage = 'HoldingStatus::services_available_html';
 
diff --git a/themes/bootstrap3/templates/ajax/status-full.phtml b/themes/bootstrap3/templates/ajax/status-full.phtml
index 4c72e03f937..0c0a4588df1 100644
--- a/themes/bootstrap3/templates/ajax/status-full.phtml
+++ b/themes/bootstrap3/templates/ajax/status-full.phtml
@@ -4,36 +4,36 @@
     <th><?=$this->transEsc('Call Number')?></th>
     <th><?=$this->transEsc('Status')?></th>
   </tr>
-  <? $i = 0; foreach ($this->statusItems as $item): ?>
-    <? if (++$i == 5) break; // Show no more than 5 items ?>
+  <?php $i = 0; foreach ($this->statusItems as $item): ?>
+    <?php if (++$i == 5) break; // Show no more than 5 items ?>
     <tr>
       <td class="fullLocation">
-        <? $locationText = $this->transEsc('location_' . $item['location'], [], $item['location']); ?>
-        <? if (isset($item['locationhref']) && $item['locationhref']): ?>
+        <?php $locationText = $this->transEsc('location_' . $item['location'], [], $item['location']); ?>
+        <?php if (isset($item['locationhref']) && $item['locationhref']): ?>
           <a href="<?=$item['locationhref']?>" target="_blank"><?=$locationText?></a>
-        <? else: ?>
+        <?php else: ?>
           <?=$locationText?>
-        <? endif; ?>
+        <?php endif; ?>
       </td>
       <td class="fullCallnumber">
-        <? if ($this->callnumberHandler): ?>
+        <?php if ($this->callnumberHandler): ?>
           <a href="<?=$this->url('alphabrowse-home') ?>?source=<?=$this->escapeHtmlAttr($this->callnumberHandler) ?>&amp;from=<?=$this->escapeHtmlAttr($item['callnumber']) ?>"><?=$this->escapeHtml($item['callnumber'])?></a>
-        <? else: ?>
+        <?php else: ?>
           <?=$this->escapeHtml($item['callnumber'])?>
-        <? endif; ?>
+        <?php endif; ?>
       </td>
       <td class="fullAvailability">
-        <? if (isset($item['use_unknown_message']) && $item['use_unknown_message']): ?>
+        <?php if (isset($item['use_unknown_message']) && $item['use_unknown_message']): ?>
           <span><?=$this->transEsc("status_unknown_message")?></span>
-        <? elseif ($item['availability']): ?>
+        <?php elseif ($item['availability']): ?>
           <span class="text-success"><?=($item['reserve'] == 'Y') ? $this->transEsc("On Reserve") : $this->transEsc("Available")?></span>
-        <? else: ?>
+        <?php else: ?>
           <span class="text-danger"><?=$this->transEsc($item['status'])?></span>
-        <? endif; ?>
+        <?php endif; ?>
       </td>
     </tr>
-  <? endforeach; ?>
-<? if (count($this->statusItems) > 5): ?>
+  <?php endforeach; ?>
+<?php if (count($this->statusItems) > 5): ?>
   <tr><td colspan="3"><a href="<?=$this->url('record', ['id' => $this->statusItems[0]['id']])?>"><?=count($this->statusItems) - 5?> <?=$this->transEsc('more')?> ...</a></td></tr>
-<? endif; ?>
+<?php endif; ?>
 </table>
diff --git a/themes/bootstrap3/templates/alphabrowse/home.phtml b/themes/bootstrap3/templates/alphabrowse/home.phtml
index e1b6be9fe79..bcb034b18cd 100644
--- a/themes/bootstrap3/templates/alphabrowse/home.phtml
+++ b/themes/bootstrap3/templates/alphabrowse/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $this->headTitle($this->translate('Browse the Collection Alphabetically'));
   $this->layout()->breadcrumbs = '<a href="' . $this->url('alphabrowse-home') . '">' . $this->transEsc('Browse Alphabetically') . '</a>';
   $baseQuery = ['source' => $this->source, 'from' => $this->from];
@@ -15,41 +15,41 @@
   }
 ?>
 
-<? /* LOAD THE LINK INFORMATION INTO $pageLinks, similar to smarty's {capture} */ ?>
-<? ob_start(); ?>
+<?php /* LOAD THE LINK INFORMATION INTO $pageLinks, similar to smarty's {capture} */ ?>
+<?php ob_start(); ?>
   <ul class="pager">
-    <? if (isset($this->prevpage)): ?>
+    <?php if (isset($this->prevpage)): ?>
       <li><a href="<?=$this->escapeHtmlAttr($this->url('alphabrowse-home', [], ['query' => $baseQuery + ['page' => $this->prevpage]]))?>">&laquo; <?=$this->transEsc('Prev')?></a></li>
-    <? else: ?>
+    <?php else: ?>
       <li class="disabled"><a href="#">&laquo; <?=$this->transEsc('Prev')?></a></li>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? if (isset($this->nextpage)): ?>
+    <?php if (isset($this->nextpage)): ?>
       <li><a href="<?=$this->escapeHtmlAttr($this->url('alphabrowse-home', [], ['query' => $baseQuery + ['page' => $this->nextpage]]))?>"><?=$this->transEsc('Next')?> &raquo;</a></li>
-    <? else: ?>
+    <?php else: ?>
       <li class="disabled"><a href="#"><?=$this->transEsc('Next')?> &raquo;</a></li>
-    <? endif; ?>
+    <?php endif; ?>
   </ul>
-<? $pageLinks = ob_get_contents(); ?>
-<? ob_end_clean(); ?>
+<?php $pageLinks = ob_get_contents(); ?>
+<?php ob_end_clean(); ?>
 
-<? /* If the top search box is not configured to show alphabrowse, or if no option
+<?php /* If the top search box is not configured to show alphabrowse, or if no option
       is selected yet, set up a separate form: */ ?>
-<? if (!$this->searchbox()->alphaBrowseOptionsEnabled() || empty($this->source)): ?>
+<?php if (!$this->searchbox()->alphaBrowseOptionsEnabled() || empty($this->source)): ?>
   <form class="form-inline" method="get" action="<?=$this->url('alphabrowse-home')?>" name="alphaBrowseForm" id="alphaBrowseForm">
     <label for="alphaBrowseForm_source"><?=$this->transEsc('Browse Alphabetically') ?></label>
     <select id="alphaBrowseForm_source" name="source" class="form-control">
-      <? foreach ($this->alphaBrowseTypes as $key => $item): ?>
-        <option value="<?=$this->escapeHtmlAttr($key) ?>"<? if ($this->source == $key): ?> selected="selected"<? endif; ?>><?=$this->transEsc($item) ?></option>
-      <? endforeach; ?>
+      <?php foreach ($this->alphaBrowseTypes as $key => $item): ?>
+        <option value="<?=$this->escapeHtmlAttr($key) ?>"<?php if ($this->source == $key): ?> selected="selected"<?php endif; ?>><?=$this->transEsc($item) ?></option>
+      <?php endforeach; ?>
     </select>
     <label for="alphaBrowseForm_from"><?=$this->transEsc('starting from') ?></label>
     <input type="text" name="from" id="alphaBrowseForm_from" value="<?=$this->escapeHtmlAttr($this->from) ?>" class="form-control"/>
     <input class="btn btn-primary" type="submit" value="<?=$this->transEsc('Browse') ?>"/>
   </form>
-<? endif; ?>
+<?php endif; ?>
 
-<? if ($this->result): ?>
+<?php if ($this->result): ?>
   <?=$pageLinks ?>
   <table class="alphabrowse table table-striped">
     <thead>
@@ -57,70 +57,70 @@
         <th class="<?=$this->source ?>">
           <?=$this->transEsc("browse_" . $this->source) ?>
         </th>
-        <? foreach ($this->extras as $e): ?>
+        <?php foreach ($this->extras as $e): ?>
           <th><?=$this->transEsc("browse_" . $e) ?></th>
-        <? endforeach; ?>
+        <?php endforeach; ?>
         <th class="titles"><?=$this->transEsc("alphabrowse_matches") ?></th>
       </tr>
     </thead>
     <tbody>
-      <? $row = 0; ?>
-      <? foreach ($this->result['Browse']['items'] as $item): ?>
-        <? if (isset($this->highlight_row) && $row == $this->highlight_row): ?>
+      <?php $row = 0; ?>
+      <?php foreach ($this->result['Browse']['items'] as $item): ?>
+        <?php if (isset($this->highlight_row) && $row == $this->highlight_row): ?>
           <tr class="browse-match">
-          <? if (isset($this->match_type) && ($this->match_type == "NONE")): ?>
-            <? // this is the right row but query doesn't match value ?>
+          <?php if (isset($this->match_type) && ($this->match_type == "NONE")): ?>
+            <?php // this is the right row but query doesn't match value ?>
             <td colspan="<?=count($this->extras) + 2;?>"><?=$this->transEsc('your_match_would_be_here')?></td>
             </tr>
             <tr>
-          <? endif; ?>
-        <? else: ?>
+          <?php endif; ?>
+        <?php else: ?>
           <tr>
-        <? endif; ?>
+        <?php endif; ?>
           <td class="<?=$this->source ?>">
             <b>
-              <? if ($url = $this->alphabrowse()->getUrl($this->source, $item)): ?>
+              <?php if ($url = $this->alphabrowse()->getUrl($this->source, $item)): ?>
                 <a href="<?=$this->escapeHtmlAttr($url)?>"><?=$this->escapeHtml($item['heading'])?></a>
-              <? else: ?>
+              <?php else: ?>
                 <?=$this->escapeHtml($item['heading'])?>
-              <? endif; ?>
+              <?php endif; ?>
             </b>
 
-            <? if (count($item['useInstead']) > 0): ?>
+            <?php if (count($item['useInstead']) > 0): ?>
               <div>
                 <?=$this->transEsc('Use instead') ?>:
                 <ul>
-                  <? foreach ($item['useInstead'] as $heading): ?>
+                  <?php foreach ($item['useInstead'] as $heading): ?>
                   <li><a href="<?=$this->escapeHtmlAttr($this->url('alphabrowse-home', [], ['query' => ['from' => $heading] + $baseQuery]))?>"><?=$this->escapeHtml($heading)?></a></li>
-                  <? endforeach; ?>
+                  <?php endforeach; ?>
                 </ul>
               </div>
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (count($item['seeAlso']) > 0): ?>
+            <?php if (count($item['seeAlso']) > 0): ?>
               <div>
                 <?=$this->transEsc('See also') ?>:
                 <ul>
-                  <? foreach ($item['seeAlso'] as $heading): ?>
+                  <?php foreach ($item['seeAlso'] as $heading): ?>
                   <li><a href="<?=$this->escapeHtmlAttr($this->url('alphabrowse-home', [], ['query' => ['from' => $heading] + $baseQuery]))?>"><?=$this->escapeHtml($heading)?></a></li>
-                  <? endforeach; ?>
+                  <?php endforeach; ?>
                 </ul>
               </div>
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if ($item['note']): ?>
+            <?php if ($item['note']): ?>
               <div>
                 <?=$this->transEsc('Note') ?>:
                 <ul>
                   <li><?=$this->escapeHtml($item['note'])?></li>
                 </ul>
               </div>
-            <? endif; ?>
+            <?php endif; ?>
           </td>
 
-          <? foreach ($this->extras as $extraName): ?>
+          <?php foreach ($this->extras as $extraName): ?>
             <td>
-              <?
+              <?php
                 $extraDisplayArray = [];
                 foreach ($item['extras'][$extraName] as $j => $e):
                   $extraDisplayArray = array_unique(array_merge($extraDisplayArray, $e));
@@ -128,22 +128,22 @@
                 echo empty($extraDisplayArray) ? '&nbsp;' : implode('<br />', $extraDisplayArray);
               ?>
             </td>
-          <? endforeach; ?>
+          <?php endforeach; ?>
 
           <td class="titles">
-            <? if ($item['count'] > 0): ?>
+            <?php if ($item['count'] > 0): ?>
               <?=$item['count']; ?>
-            <? endif; ?>
+            <?php endif; ?>
           </td>
         </tr>
-        <? $row++; ?>
-        <? endforeach; ?>
-        <? if (isset($this->highlight_end)): ?>
+        <?php $row++; ?>
+        <?php endforeach; ?>
+        <?php if (isset($this->highlight_end)): ?>
           <tr class="browse-match">
             <td colspan="<?=count($this->extras) + 2;?>"><?=$this->transEsc('your_match_would_be_here')?></td>
           </tr>
-        <? endif; ?>
+        <?php endif; ?>
     </tbody>
   </table>
   <?= $pageLinks ?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/author/home.phtml b/themes/bootstrap3/templates/author/home.phtml
index 8f633380032..8081f946cf8 100644
--- a/themes/bootstrap3/templates/author/home.phtml
+++ b/themes/bootstrap3/templates/author/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Author'));
 
diff --git a/themes/bootstrap3/templates/author/results.phtml b/themes/bootstrap3/templates/author/results.phtml
index d0859ea035a..591867f13a3 100644
--- a/themes/bootstrap3/templates/author/results.phtml
+++ b/themes/bootstrap3/templates/author/results.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 
diff --git a/themes/bootstrap3/templates/author/search.phtml b/themes/bootstrap3/templates/author/search.phtml
index a26bf7846c4..c23271fafc9 100644
--- a/themes/bootstrap3/templates/author/search.phtml
+++ b/themes/bootstrap3/templates/author/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Hide the total result count -- because of limitations in the way facet
     // paging works, we can't actually determine an accurate total count.  (Note
     // that this setting simply modifies the behavior of search/results.phtml below).
diff --git a/themes/bootstrap3/templates/authority/record.phtml b/themes/bootstrap3/templates/authority/record.phtml
index b13625d56ea..2d4f4b71b06 100644
--- a/themes/bootstrap3/templates/authority/record.phtml
+++ b/themes/bootstrap3/templates/authority/record.phtml
@@ -1,2 +1,2 @@
-<? $this->layout()->breadcrumbs = false; ?>
+<?php $this->layout()->breadcrumbs = false; ?>
 <?=$this->record($this->driver)->getTab($this->tabs['Details'])?>
diff --git a/themes/bootstrap3/templates/authority/search.phtml b/themes/bootstrap3/templates/authority/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/authority/search.phtml
+++ b/themes/bootstrap3/templates/authority/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/breadcrumbs/default.phtml b/themes/bootstrap3/templates/breadcrumbs/default.phtml
index cee7414b304..715f23a1b15 100644
--- a/themes/bootstrap3/templates/breadcrumbs/default.phtml
+++ b/themes/bootstrap3/templates/breadcrumbs/default.phtml
@@ -1,11 +1,11 @@
 <li><a href="<?=$this->url('home')?>"><?=$this->transEsc('Home')?></a></li>
-<? $current = $this->layout()->breadcrumbs; $current = current($current); ?>
-<? foreach($current as $id => $parent): ?>
+<?php $current = $this->layout()->breadcrumbs; $current = current($current); ?>
+<?php foreach($current as $id => $parent): ?>
   <li><a href="<?=$this->url('collection', ['id' => $id]) ?>"><?=$parent ?></a></li>
-<? endforeach; ?>
-<? if(isset($this->layout()->end)): ?>
+<?php endforeach; ?>
+<?php if(isset($this->layout()->end)): ?>
   <li title="<?=$this->layout()->title ?>"><?=$this->truncate($this->layout()->title, 100) ?></li>
   <li class="active"><?=$this->layout()->end ?></li>
-<? else: ?>
+<?php else: ?>
   <li class="active" title="<?=$this->layout()->title ?>"><?=$this->truncate($this->layout()->title, 100) ?></li>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/breadcrumbs/multi.phtml b/themes/bootstrap3/templates/breadcrumbs/multi.phtml
index e43cbdb7abd..a5921e7a5f7 100644
--- a/themes/bootstrap3/templates/breadcrumbs/multi.phtml
+++ b/themes/bootstrap3/templates/breadcrumbs/multi.phtml
@@ -2,19 +2,19 @@
 <li class="dropdown">
   <a data-toggle="dropdown" href="#">In <?=count($this->layout()->breadcrumbs) ?> Collections</a>
   <div class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-    <? foreach ($this->layout()->breadcrumbs as $trail): ?>
+    <?php foreach ($this->layout()->breadcrumbs as $trail): ?>
       <ul class="sub-breadcrumb">
-      <? foreach ($trail as $id => $title): ?>
+      <?php foreach ($trail as $id => $title): ?>
         <li><a href="<?=$this->url('record', ['id' => $id])?>"><?=$title ?></a></li>
-      <? endforeach; ?>
+      <?php endforeach; ?>
       </ul>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
 </li>
-<? if(isset($this->layout()->end)): ?>
+<?php if(isset($this->layout()->end)): ?>
   <li title="<?=$this->layout()->title ?>"><?=$this->truncate($this->layout()->title, 100) ?></li>
   <li class="active"><?=$this->layout()->end ?></li>
-<? else: ?>
+<?php else: ?>
   <li class="active" title="<?=$this->layout()->title ?>"><?=$this->truncate($this->layout()->title, 100) ?></li>
-<? endif; ?>
+<?php endif; ?>
 <script>$('.dropdown-toggle').dropdown()</script>
diff --git a/themes/bootstrap3/templates/browse/home.phtml b/themes/bootstrap3/templates/browse/home.phtml
index e93f56e4c7a..6669d6e318d 100644
--- a/themes/bootstrap3/templates/browse/home.phtml
+++ b/themes/bootstrap3/templates/browse/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $this->headTitle($this->translate('Browse the Catalog'));
   $this->layout()->breadcrumbs = '<a href="' . $this->url('browse-home') . '">' . $this->transEsc('Browse') . '</a>';
 
@@ -6,40 +6,40 @@
   $SEARCH_BASE = $this->url($this->currentAction == 'Tag' ? 'tag-home' : 'search-results');
 ?>
 
-<? if (!isset($this->currentAction)): ?>
+<?php if (!isset($this->currentAction)): ?>
   <h2><?=$this->transEsc('Choose a Category to Begin Browsing') ?>:</h2>
-<? endif; ?>
+<?php endif; ?>
 
 <div class="browse-container">
-  <div class="browse-list<? if (!empty($this->categoryList) || !empty($this->secondaryList)): ?> hidden-xs<? endif ?>" id="list1">
-    <? foreach ($this->browseOptions as $item => $currentOption): ?>
-      <a href="<?=$this->url('browse-' . strtolower($currentOption['action'])); ?>" class="browse-item<? if($currentOption['action'] == $this->currentAction): ?> active<? endif; ?>">
+  <div class="browse-list<?php if (!empty($this->categoryList) || !empty($this->secondaryList)): ?> hidden-xs<?php endif ?>" id="list1">
+    <?php foreach ($this->browseOptions as $item => $currentOption): ?>
+      <a href="<?=$this->url('browse-' . strtolower($currentOption['action'])); ?>" class="browse-item<?php if($currentOption['action'] == $this->currentAction): ?> active<?php endif; ?>">
         <?=$this->transEsc($currentOption['description']) ?>
         <span class="pull-right flip"><i class="fa fa-angle-right" title="<?=$this->transEsc('more') ?>"></i></span>
       </a>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
 
-  <? if (!empty($this->categoryList)): ?>
-    <div class="browse-list<? if (!empty($this->secondaryList) || !empty($this->resultList)): ?> hidden-xs<? endif ?>" id="list2">
-      <? foreach($this->categoryList as $findby => $category): ?>
-        <a href="<?=$BROWSE_BASE ?>?findby=<?=urlencode($findby) ?>&amp;query_field=<?=$this->browse()->getSolrField($findby, $this->currentAction) ?>" class="browse-item<? if (!is_string($category)): ?> with-badge<? endif; ?><? if ($this->findby == $findby): ?> active<? endif; ?>">
-          <? if(is_string($category)): ?>
+  <?php if (!empty($this->categoryList)): ?>
+    <div class="browse-list<?php if (!empty($this->secondaryList) || !empty($this->resultList)): ?> hidden-xs<?php endif ?>" id="list2">
+      <?php foreach($this->categoryList as $findby => $category): ?>
+        <a href="<?=$BROWSE_BASE ?>?findby=<?=urlencode($findby) ?>&amp;query_field=<?=$this->browse()->getSolrField($findby, $this->currentAction) ?>" class="browse-item<?php if (!is_string($category)): ?> with-badge<?php endif; ?><?php if ($this->findby == $findby): ?> active<?php endif; ?>">
+          <?php if(is_string($category)): ?>
             <?=$this->transEsc($category)?>
             <span class="pull-right flip"><i class="fa fa-angle-right" title="<?=$this->transEsc('more') ?>"></i></span>
-          <? else: ?>
+          <?php else: ?>
             <?=$this->transEsc($category['text'])?>
             <span class="badge"><?=number_format($category['count'])?></span>
-          <? endif; ?>
+          <?php endif; ?>
         </a>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (!empty($this->secondaryList)): ?>
-    <div class="browse-list<? if (!empty($this->resultList)): ?> hidden-xs<? endif ?>" id="list3">
-    <? foreach($this->secondaryList as $secondary): ?>
-      <? $url = $BROWSE_BASE . '?findby=' . urlencode($this->findby)
+  <?php if (!empty($this->secondaryList)): ?>
+    <div class="browse-list<?php if (!empty($this->resultList)): ?> hidden-xs<?php endif ?>" id="list3">
+    <?php foreach($this->secondaryList as $secondary): ?>
+      <?php $url = $BROWSE_BASE . '?findby=' . urlencode($this->findby)
           . '&amp;category=' . urlencode($this->category)
           . '&amp;query=' . urlencode($secondary['value']);
         if ($this->facetPrefix) {
@@ -53,33 +53,33 @@
         $viewRecord = !empty($this->categoryList) && $this->currentAction != 'Tag' && $this->findby != 'alphabetical';
         $hasBadge = $this->findby != 'alphabetical' && isset($secondary['count']);
       ?>
-      <a href="<?=$url ?>" class="browse-item<? if ($hasBadge): ?> with-badge<? endif; ?><? if ($this->query == $secondary['value'] . '' || $this->query == $secondary['value'] . '*'): ?> active<? endif; ?>">
+      <a href="<?=$url ?>" class="browse-item<?php if ($hasBadge): ?> with-badge<?php endif; ?><?php if ($this->query == $secondary['value'] . '' || $this->query == $secondary['value'] . '*'): ?> active<?php endif; ?>">
         <?=$this->escapeHtml($secondary['displayText']) ?>
-        <? if ($hasBadge): ?>
+        <?php if ($hasBadge): ?>
           <span class="badge"><?=number_format($secondary['count']) ?></span>
-        <? else: ?>
+        <?php else: ?>
           <span class="pull-right flip"><i class="fa fa-angle-right" title="<?=$this->transEsc('more') ?>"></i></span>
-        <? endif; ?>
+        <?php endif; ?>
       </a>
-      <? if($viewRecord): ?>
-        <a class="browse-item view-record" href="<?=$SEARCH_BASE ?>?lookfor=<? if ($this->filter): ?>&amp;filter[]=<?=urlencode($this->filter) ?>%3A<?=str_replace('+AND+', '&amp;filter[]=', urlencode($secondary['value'])) ?><? endif; ?>&amp;filter[]=<?=$this->browse()->getSolrField($this->currentAction) ?>%3A[* TO *]<? if($this->dewey_flag): ?>&amp;sort=dewey-sort<? endif; ?>"><?=$this->transEsc('View Records') ?></a>
-      <? endif; ?>
-    <? endforeach; ?>
+      <?php if($viewRecord): ?>
+        <a class="browse-item view-record" href="<?=$SEARCH_BASE ?>?lookfor=<?php if ($this->filter): ?>&amp;filter[]=<?=urlencode($this->filter) ?>%3A<?=str_replace('+AND+', '&amp;filter[]=', urlencode($secondary['value'])) ?><?php endif; ?>&amp;filter[]=<?=$this->browse()->getSolrField($this->currentAction) ?>%3A[* TO *]<?php if($this->dewey_flag): ?>&amp;sort=dewey-sort<?php endif; ?>"><?=$this->transEsc('View Records') ?></a>
+      <?php endif; ?>
+    <?php endforeach; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (!empty($this->resultList)): ?>
+  <?php if (!empty($this->resultList)): ?>
     <div class="browse-list" id="list4">
-    <? foreach($this->resultList as $result): ?>
-      <a class="browse-item with-badge" href="<?=$SEARCH_BASE ?>?<?=$this->paramTitle ?><?=urlencode($result['value']) ?><? if ($this->searchParams): foreach($this->searchParams as $var => $val): ?>&amp;<?=$var ?>=<?=urlencode($val) ?><? endforeach;endif; ?>">
+    <?php foreach($this->resultList as $result): ?>
+      <a class="browse-item with-badge" href="<?=$SEARCH_BASE ?>?<?=$this->paramTitle ?><?=urlencode($result['value']) ?><?php if ($this->searchParams): foreach($this->searchParams as $var => $val): ?>&amp;<?=$var ?>=<?=urlencode($val) ?><?php endforeach;endif; ?>">
         <?=$this->escapeHtml($result['displayText'])?>
         <span class="badge"><?=number_format($result['count']) ?></span>
       </a>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     </div>
-  <? elseif (isset($this->query)): ?>
+  <?php elseif (isset($this->query)): ?>
     <div class="browse-list" id="list4">
       <span class="browse-item"><?=$this->transEsc('nohit_heading') ?></li>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/browzine/search.phtml b/themes/bootstrap3/templates/browzine/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/browzine/search.phtml
+++ b/themes/bootstrap3/templates/browzine/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/cart/cart.phtml b/themes/bootstrap3/templates/cart/cart.phtml
index d0ae574863b..31090b61f51 100644
--- a/themes/bootstrap3/templates/cart/cart.phtml
+++ b/themes/bootstrap3/templates/cart/cart.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Book Bag'));
 
@@ -9,7 +9,7 @@
 <?=$this->flashmessages()?>
 <form class="form-inline" action="<?=$this->url('cart-processor')?>" method="post"  name="cartForm" data-lightbox-onsubmit="cartFormHandler">
   <input type="hidden" id="dropdown_value"/>
-  <? if (!$this->cart()->isEmpty()): ?>
+  <?php if (!$this->cart()->isEmpty()): ?>
     <div class="cart-controls clearfix">
       <div class="checkbox pull-left flip">
         <label>
@@ -17,22 +17,22 @@
           <?=$this->transEsc('select_page')?>
         </label>
       </div>
-      <? if ($this->userlist()->getMode() !== 'disabled'): ?>
+      <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
         <button type="submit" class="btn btn-default" name="saveCart" title="<?=$this->transEsc('bookbag_save')?>" value="1">
           <i class="fa fa-save" aria-hidden="true"></i>
           <?=$this->transEsc('Save')?>
         </button>
-      <? endif; ?>
+      <?php endif; ?>
       <button type="submit" class="btn btn-default" name="email" title="<?=$this->transEsc('bookbag_email')?>" value="1">
         <i class="fa fa-envelope-o" aria-hidden="true"></i>
         <?=$this->transEsc('Email')?>
       </button>
-      <? $exportOptions = $this->export()->getActiveFormats('bulk'); if (count($exportOptions) > 0): ?>
+      <?php $exportOptions = $this->export()->getActiveFormats('bulk'); if (count($exportOptions) > 0): ?>
         <button type="submit" class="btn btn-default" name="export" title="<?=$this->transEsc('bookbag_export')?>" value="1">
           <i class="fa fa-list-alt" aria-hidden="true"></i>
           <?=$this->transEsc('Export')?>
         </button>
-      <? endif; ?>
+      <?php endif; ?>
       <button type="submit" class="btn btn-default dropdown-toggle" name="print" title="<?=$this->transEsc('print_selected')?>" value="1">
         <i class="fa fa-printer" aria-hidden="true"></i>
         <?=$this->transEsc('Print')?>
@@ -58,11 +58,11 @@
         </ul>
       </div>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <?=$this->render('cart/contents.phtml')?>
 </form>
 
-<?
+<?php
   $script = <<<JS
   function submitFormWithButton(link, name) {
     $('#dropdown_value').attr('name', name).val(1);
diff --git a/themes/bootstrap3/templates/cart/contents.phtml b/themes/bootstrap3/templates/cart/contents.phtml
index 40fefe4ce74..f47e97cbb28 100644
--- a/themes/bootstrap3/templates/cart/contents.phtml
+++ b/themes/bootstrap3/templates/cart/contents.phtml
@@ -1,7 +1,7 @@
-<? $records = $this->cart()->getRecordDetails(); if (!empty($records)): ?>
+<?php $records = $this->cart()->getRecordDetails(); if (!empty($records)): ?>
   <hr/>
   <ul class="list-unstyled">
-  <? foreach ($records as $i => $record): ?>
+  <?php foreach ($records as $i => $record): ?>
     <li>
       <div class="checkbox">
         <label>
@@ -10,8 +10,8 @@
         </label>
       </div>
     </li>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   </ul>
-<? else: ?>
+<?php else: ?>
   <p class="alert alert-info"><?=$this->transEsc('bookbag_is_empty')?>.</p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/cart/email.phtml b/themes/bootstrap3/templates/cart/email.phtml
index 26f5169ec96..cf502474aac 100644
--- a/themes/bootstrap3/templates/cart/email.phtml
+++ b/themes/bootstrap3/templates/cart/email.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('email_selected_favorites'));
 
@@ -10,29 +10,29 @@
 <h2><?=$this->transEsc('bookbag_email_selected') ?></h2>
 <?=$this->flashmessages()?>
 <form class="form-cart-email" action="<?=$this->url('cart-email')?>" method="post"  name="bulkEmail">
-  <? foreach ($this->records as $current): ?>
+  <?php foreach ($this->records as $current): ?>
     <input type="hidden" name="ids[]" value="<?=$this->escapeHtmlAttr($current->getSourceIdentifier() . '|' . $current->getUniqueId())?>" />
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <div class="form-group">
     <label class="control-label"><?=$this->transEsc('Title')?>:</label>
-    <? if(count($this->records) > 1): ?>
+    <?php if(count($this->records) > 1): ?>
       <button type="button" class="btn btn-default hidden" data-toggle="collapse" data-target="#itemhide">
         <?=count($this->records) . ' ' . $this->transEsc('items') ?>
       </button>
       <div id="itemhide" class="collapse in">
         <ul>
-          <? foreach ($this->records as $current): ?>
+          <?php foreach ($this->records as $current): ?>
             <li><?=$this->escapeHtml($current->getBreadcrumb())?></li>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </ul>
       </div>
-    <? else: ?>
+    <?php else: ?>
       <p class="form-control-static"><?=$this->records[0]->getBreadcrumb() ?></p>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
   <?=$this->render('Helpers/email-form-fields.phtml')?>
 </form>
-<?
+<?php
   $script = <<<JS
     $('button.btn.hidden').removeClass('hidden');
     $('#itemhide').removeClass('in');
diff --git a/themes/bootstrap3/templates/cart/export-success.phtml b/themes/bootstrap3/templates/cart/export-success.phtml
index 48cf9dea43c..f9fa75b8e83 100644
--- a/themes/bootstrap3/templates/cart/export-success.phtml
+++ b/themes/bootstrap3/templates/cart/export-success.phtml
@@ -1,5 +1,5 @@
 <div class="text-center">
-  <? if ('post' === $this->exportType): ?>
+  <?php if ('post' === $this->exportType): ?>
     <form id="export-form" method="POST" action="<?=$this->escapeHtmlAttr($this->url)?>" target="<?=$this->escapeHtmlAttr($this->targetWindow)?>">
       <input type="hidden" name="<?=$this->escapeHtmlAttr($this->postField)?>" value="<?=$this->escapeHtmlAttr($this->postData)?>">
       <?=$this->transEsc('export_success')?>&nbsp;&mdash;&nbsp;
@@ -7,8 +7,8 @@
         value="<?=$this->escapeHtmlAttr($this->translate('export_send', ['%%service%%' => $this->translate($this->export()->getLabelForFormat($this->format))]))?>"
       >
     </form>
-  <? else: ?>
+  <?php else: ?>
     <?=$this->transEsc('export_success')?>&nbsp;&mdash;&nbsp;
     <a class="btn btn-primary <?=$this->exportType?>" href="<?=$this->escapeHtmlAttr($this->url)?>"><?=$this->transEsc('export_download')?></a>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/cart/export.phtml b/themes/bootstrap3/templates/cart/export.phtml
index becee02e7a7..038e28fb5ad 100644
--- a/themes/bootstrap3/templates/cart/export.phtml
+++ b/themes/bootstrap3/templates/cart/export.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Export Favorites'));
 
@@ -11,44 +11,44 @@
 
 <?=$this->flashmessages()?>
 
-<? if (!empty($this->exportOptions)): ?>
+<?php if (!empty($this->exportOptions)): ?>
   <form class="form-cart-export" method="post" action="<?=$this->url('cart-export')?>" name="exportForm" title="<?=$this->transEsc('Export Items')?>">
-    <? foreach ($this->records as $current): ?>
+    <?php foreach ($this->records as $current): ?>
       <input type="hidden" name="ids[]" value="<?=$this->escapeHtmlAttr($current->getSourceIdentifier() . '|' . $current->getUniqueId())?>" />
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc('Title')?>:</label>
-      <? if(count($this->records) > 1): ?>
+      <?php if(count($this->records) > 1): ?>
         <button type="button" class="btn btn-default hidden" data-toggle="collapse" data-target="#itemhide">
           <?=count($this->records) . ' ' . $this->transEsc('items') ?>
         </button>
         <div id="itemhide" class="collapse in">
           <ul>
-            <? foreach ($this->records as $current): ?>
+            <?php foreach ($this->records as $current): ?>
               <li><?=$this->escapeHtml($current->getBreadcrumb())?></li>
-            <? endforeach; ?>
+            <?php endforeach; ?>
           </ul>
         </div>
-      <? else: ?>
+      <?php else: ?>
         <p class="form-control-static"><?=$this->records[0]->getBreadcrumb() ?></p>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
     <div class="form-group">
     <label for="format" class="control-label"><?=$this->transEsc('Format')?>:</label>
       <select name="format" id="format" class="form-control">
-        <? $firstOption = null; ?>
-        <? foreach ($this->exportOptions as $exportOption): ?>
-          <? if ($firstOption == null) $firstOption = $exportOption; ?>
-          <option value="<?=$this->escapeHtmlAttr($exportOption)?>"<? if($this->export()->needsRedirect($exportOption)): ?> data-redirect<? endif; ?>><?=$this->transEsc($this->export()->getLabelForFormat($exportOption))?></option>
-        <? endforeach; ?>
+        <?php $firstOption = null; ?>
+        <?php foreach ($this->exportOptions as $exportOption): ?>
+          <?php if ($firstOption == null) $firstOption = $exportOption; ?>
+          <option value="<?=$this->escapeHtmlAttr($exportOption)?>"<?php if($this->export()->needsRedirect($exportOption)): ?> data-redirect<?php endif; ?>><?=$this->transEsc($this->export()->getLabelForFormat($exportOption))?></option>
+        <?php endforeach; ?>
       </select>
     </div>
     <div class="form-group">
-      <input class="export btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Export')?>"<? if($this->export()->needsRedirect($firstOption)): ?> data-lightbox-ignore<? endif; ?>/>
+      <input class="export btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Export')?>"<?php if($this->export()->needsRedirect($firstOption)): ?> data-lightbox-ignore<?php endif; ?>/>
     </div>
   </form>
-<? endif; ?>
-<?
+<?php endif; ?>
+<?php
   $script = <<<JS
   $('button.btn.hidden').removeClass('hidden');
   $('#itemhide').removeClass('in');
diff --git a/themes/bootstrap3/templates/cart/save.phtml b/themes/bootstrap3/templates/cart/save.phtml
index cd072d3464e..9922b5936bf 100644
--- a/themes/bootstrap3/templates/cart/save.phtml
+++ b/themes/bootstrap3/templates/cart/save.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('bookbag_save_selected'));
 
@@ -11,56 +11,56 @@
 <?=$this->flashmessages()?>
 
 <form class="form-cart-save" method="post" action="<?=$this->url('cart-save')?>" name="bulkSave">
-  <? $idParams = []; ?>
-  <? foreach ($this->records as $current): ?>
-    <? $idParams[] = urlencode('ids[]') . '=' . urlencode($current->getSourceIdentifier() . '|' . $current->getUniqueId()) ?>
+  <?php $idParams = []; ?>
+  <?php foreach ($this->records as $current): ?>
+    <?php $idParams[] = urlencode('ids[]') . '=' . urlencode($current->getSourceIdentifier() . '|' . $current->getUniqueId()) ?>
     <input type="hidden" name="ids[]" value="<?=$this->escapeHtmlAttr($current->getSourceIdentifier() . '|' . $current->getUniqueId())?>" />
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <div class="form-group">
     <label class="control-label"><?=$this->transEsc('Title')?>:</label>
-    <? if(count($this->records) > 1): ?>
+    <?php if(count($this->records) > 1): ?>
       <button type="button" class="btn btn-default hidden" data-toggle="collapse" data-target="#itemhide">
         <?=count($this->records) . ' ' . $this->transEsc('items') ?>
       </button>
       <div id="itemhide" class="collapse in">
         <ul>
-          <? foreach ($this->records as $current): ?>
+          <?php foreach ($this->records as $current): ?>
             <li><?=$this->escapeHtml($current->getBreadcrumb())?></li>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </ul>
       </div>
-    <? else: ?>
+    <?php else: ?>
       <p class="form-control-static"><?=$this->records[0]->getBreadcrumb() ?></p>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
 
   <div class="form-group">
     <label class="control-label" for="save_list"><?=$this->transEsc('Choose a List') ?></label>
     <select id="save_list" name="list" class="form-control">
-      <? if (count($this->lists) > 0): ?>
-        <? foreach ($this->lists as $list): ?>
-          <option value="<?=$list['id'] ?>"<? if ($list['id'] == $this->userlist()->lastUsed()): ?> selected="selected"<? endif; ?>><?=$this->escapeHtml($list['title'])?></option>
-        <? endforeach; ?>
-      <? else: ?>
+      <?php if (count($this->lists) > 0): ?>
+        <?php foreach ($this->lists as $list): ?>
+          <option value="<?=$list['id'] ?>"<?php if ($list['id'] == $this->userlist()->lastUsed()): ?> selected="selected"<?php endif; ?>><?=$this->escapeHtml($list['title'])?></option>
+        <?php endforeach; ?>
+      <?php else: ?>
         <option value=""><?=$this->transEsc('My Favorites') ?></option>
-      <? endif; ?>
+      <?php endif; ?>
     </select>
     <a class="btn btn-link" id="make-list"  href="<?=$this->url('editList', ['id' => 'NEW']) . '?' . implode('&amp;', $idParams) ?>"><?=$this->transEsc('or create a new list'); ?></a>
   </div>
 
-  <? if ($this->usertags()->getMode() !== 'disabled'): ?>
+  <?php if ($this->usertags()->getMode() !== 'disabled'): ?>
     <div class="form-group">
       <label class="control-label" for="add_mytags"><?=$this->transEsc('Add Tags') ?></label>
       <input id="add_mytags" type="text" name="mytags" value="" class="form-control"/>
       <span class="help-block"><?=$this->transEsc("add_tag_note") ?></span>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="form-group">
     <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Save') ?>"/>
   </div>
 </form>
 
-<?
+<?php
   $script = <<<JS
   $('button.btn.hidden').removeClass('hidden');
   $('#itemhide').removeClass('in');
diff --git a/themes/bootstrap3/templates/channels/channelList.phtml b/themes/bootstrap3/templates/channels/channelList.phtml
index abdfc3acaeb..1fa05ba4e28 100644
--- a/themes/bootstrap3/templates/channels/channelList.phtml
+++ b/themes/bootstrap3/templates/channels/channelList.phtml
@@ -1,8 +1,8 @@
-<? $this->headLink()->appendStylesheet('lib/channel-slider.css'); ?>
-<? $this->headScript()->appendFile('lib/channel-slider.js'); ?>
-<? $this->headScript()->appendFile('channels.js'); ?>
-<? $this->headScript()->appendFile('vendor/jquery.dotdotdot.min.js'); ?>
-<?
+<?php $this->headLink()->appendStylesheet('lib/channel-slider.css'); ?>
+<?php $this->headScript()->appendFile('lib/channel-slider.js'); ?>
+<?php $this->headScript()->appendFile('channels.js'); ?>
+<?php $this->headScript()->appendFile('vendor/jquery.dotdotdot.min.js'); ?>
+<?php
   $this->jsTranslations()->addStrings([
     'channel_browse' => 'channel_browse',
     'channel_expand' => 'channel_expand',
@@ -12,42 +12,42 @@
   ]);
 ?>
 
-<? if (empty($token)): ?>
+<?php if (empty($token)): ?>
   <form action="<?=$this->url('channels-search')?>" class="form-inline">
     <?=$this->transEsc('channel_searchbox_label')?>
     <input type="text" name="lookfor" class="form-control" value="<?=$this->escapeHtmlAttr($this->lookfor) ?>"/>
     <input type="submit" value="<?=$this->escapeHtmlAttr($this->translate('Submit'))?>" class="btn btn-default" />
   </form>
-<? endif; ?>
+<?php endif; ?>
 
-<? $insideButton = false; ?>
-<? foreach ($channels as $channel): ?>
-  <?
+<?php $insideButton = false; ?>
+<?php foreach ($channels as $channel): ?>
+  <?php
     $groupId = isset($channel['groupId'])
       ? $channel['groupId']
       : $channel['providerId'];
   ?>
-  <? $channelID = 'channel-' . md5(serialize($channel)); ?>
-  <? if (isset($channel['contents'])): ?>
-    <? if ($insideButton): ?>
+  <?php $channelID = 'channel-' . md5(serialize($channel)); ?>
+  <?php if (isset($channel['contents'])): ?>
+    <?php if ($insideButton): ?>
         </ul>
       </div>
-      <? $insideButton = false; ?>
-    <? endif; ?>
+      <?php $insideButton = false; ?>
+    <?php endif; ?>
     <div class="channel-title">
       <h2><?=$this->escapeHtml($channel['title'])?></h2>
     </div>
     <div id="<?=$channelID ?>" class="channel" data-group="<?=$groupId ?>" data-link-json='<?=empty($channel['links']) ? '[]' : json_encode($channel['links']) ?>'>
       <!-- Wrapper for slides -->
-      <? foreach ($channel['contents'] as $item): ?>
+      <?php foreach ($channel['contents'] as $item): ?>
         <a href="<?=$this->recordLink()->getUrl("{$item['source']}|{$item['id']}")?>" class="channel-record slide" data-record-id="<?=$this->escapeHtmlAttr($item['id']) ?>" data-record-source="<?=$item['source'] ?>">
           <div class="thumb"><img src="<?=$this->escapeHtmlAttr($item['thumbnail'] ? $item['thumbnail'] : $this->url('cover-unavailable'))?>"/></div>
           <?=$this->escapeHtml($item['title'])?>
         </a>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? elseif (isset($channel['token'])): ?>
-    <? if (!$insideButton): ?>
+  <?php elseif (isset($channel['token'])): ?>
+    <?php if (!$insideButton): ?>
       <div class="channel-add-menu btn-group hidden" data-group="<?=$groupId ?>">
         <button type="button" class="add-btn btn btn-default"><?=$this->transEsc('channel_add_more') ?></button>
         <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
@@ -55,8 +55,8 @@
           <span class="sr-only">Toggle Dropdown</span>
         </button>
         <ul class="dropdown-menu">
-      <? $insideButton = true; ?>
-    <? endif; ?>
+      <?php $insideButton = true; ?>
+    <?php endif; ?>
     <li><a href="<?=current(explode('?', $this->serverUrl(true)))?>?<?=empty($queryParams) ? '' : $this->escapeHtmlAttr($queryParams . '&')?>channelProvider=<?=urlencode($channel['providerId']) ?>&amp;channelToken=<?=urlencode($channel['token']) ?>&amp;layout=lightbox" data-token="<?=$channel['token'] ?>"><?=$this->escapeHtml($channel['title'])?></a></li>
-  <? endif; ?>
-<? endforeach; ?>
+  <?php endif; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/channels/home.phtml b/themes/bootstrap3/templates/channels/home.phtml
index 67eff2710ce..9f67b75c37b 100644
--- a/themes/bootstrap3/templates/channels/home.phtml
+++ b/themes/bootstrap3/templates/channels/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Channels'));
 
diff --git a/themes/bootstrap3/templates/channels/record.phtml b/themes/bootstrap3/templates/channels/record.phtml
index c3239862c57..67c930fce48 100644
--- a/themes/bootstrap3/templates/channels/record.phtml
+++ b/themes/bootstrap3/templates/channels/record.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Channels') . ' - ' . $this->driver->getBreadcrumb());
 
diff --git a/themes/bootstrap3/templates/channels/search.phtml b/themes/bootstrap3/templates/channels/search.phtml
index b57213cd070..81cd7a9a227 100644
--- a/themes/bootstrap3/templates/channels/search.phtml
+++ b/themes/bootstrap3/templates/channels/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $lookfor = $this->results->getUrlQuery()->isQuerySuppressed() ? '' : $this->results->getParams()->getDisplayQuery();
 
     // Set up page title:
diff --git a/themes/bootstrap3/templates/collection/view.phtml b/themes/bootstrap3/templates/collection/view.phtml
index e2df2d8dc67..1e8112baef6 100644
--- a/themes/bootstrap3/templates/collection/view.phtml
+++ b/themes/bootstrap3/templates/collection/view.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up standard record scripts:
   $this->headScript()->appendFile("record.js");
   $this->headScript()->appendFile("check_save_statuses.js");
@@ -24,60 +24,60 @@
      . '<li class="active">' . $this->recordLink()->getBreadcrumb($this->driver) . '</li>';
 ?>
 
-<? if (isset($this->scrollData) && ($this->scrollData['previousRecord'] || $this->scrollData['nextRecord'])): ?>
+<?php if (isset($this->scrollData) && ($this->scrollData['previousRecord'] || $this->scrollData['nextRecord'])): ?>
   <ul class="pager">
-    <? if ($this->scrollData['previousRecord']): ?>
-      <? if ($this->scrollData['firstRecord']): ?>
+    <?php if ($this->scrollData['previousRecord']): ?>
+      <?php if ($this->scrollData['firstRecord']): ?>
         <li>
           <a href="<?=$this->recordLink()->getUrl($this->scrollData['firstRecord'])?>" title="<?=$this->transEsc('First Search Result')?>" rel="nofollow">&laquo; <?=$this->transEsc('First')?></a>
         </li>
-      <? endif; ?>
+      <?php endif; ?>
       <li>
         <a href="<?=$this->recordLink()->getUrl($this->scrollData['previousRecord'])?>" title="<?=$this->transEsc('Previous Search Result')?>" rel="nofollow">&laquo; <?=$this->transEsc('Prev')?></a>
       </li>
-    <? else: ?>
-      <? if ($this->scrollData['firstRecord']): ?>
+    <?php else: ?>
+      <?php if ($this->scrollData['firstRecord']): ?>
         <li class="disabled"><a href="#">&laquo; <?=$this->transEsc('First')?></a></li>
-      <? endif; ?>
+      <?php endif; ?>
       <li class="disabled"><a href="#">&laquo; <?=$this->transEsc('Prev')?></a></li>
-    <? endif; ?>
+    <?php endif; ?>
     <?=$this->transEsc('of_num_results', [
       '%%position%%' => $this->localizedNumber($this->scrollData['currentPosition']),
       '%%total%%' => $this->localizedNumber($this->scrollData['resultTotal'])
     ]) ?>
-    <? if ($this->scrollData['nextRecord']): ?>
+    <?php if ($this->scrollData['nextRecord']): ?>
       <li>
         <a href="<?=$this->recordLink()->getUrl($this->scrollData['nextRecord'])?>" title="<?=$this->transEsc('Next Search Result')?>" rel="nofollow"><?=$this->transEsc('Next')?> &raquo;</a>
       </li>
-      <? if ($this->scrollData['lastRecord']): ?>
+      <?php if ($this->scrollData['lastRecord']): ?>
         <li>
           <a href="<?=$this->recordLink()->getUrl($this->scrollData['lastRecord'])?>" title="<?=$this->transEsc('Last Search Result')?>" rel="nofollow"><?=$this->transEsc('Last')?> &raquo;</a>
         </li>
-      <? endif; ?>
-     <? else: ?>
+      <?php endif; ?>
+     <?php else: ?>
       <li class="disabled"><a href="#"><?=$this->transEsc('Next')?> &raquo;</a></li>
-      <? if ($this->scrollData['lastRecord']): ?>
+      <?php if ($this->scrollData['lastRecord']): ?>
         <li class="disabled"><a href="#"><?=$this->transEsc('Last')?> &raquo;</a></li>
-      <? endif; ?>
-    <? endif; ?>
+      <?php endif; ?>
+    <?php endif; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
 
 <?=$this->record($this->driver)->getToolbar()?>
 
 <div class="record">
-  <div<? if (!$tree): /* in tree mode, do not constrain width with a class */ ?> class="<?=$this->layoutClass('mainbody') ?>"<? endif; ?>>
+  <div<?php if (!$tree): /* in tree mode, do not constrain width with a class */ ?> class="<?=$this->layoutClass('mainbody') ?>"<?php endif; ?>>
     <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueId())?>" class="hiddenId" id="record_id" />
     <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" class="hiddenSource" />
     <?=$this->flashmessages()?>
     <?=$this->record($this->driver)->getCollectionMetadata()?>
 
-    <? if (count($this->tabs) > 0): ?>
+    <?php if (count($this->tabs) > 0): ?>
       <a name="tabnav"></a>
       <div class="record-tabs">
         <ul class="nav nav-tabs">
-          <? foreach ($this->tabs as $tab => $obj): ?>
-            <? // add current tab to breadcrumbs if applicable:
+          <?php foreach ($this->tabs as $tab => $obj): ?>
+            <?php // add current tab to breadcrumbs if applicable:
               $desc = $obj->getDescription();
               $tab_classes = [];
               if (0 === strcasecmp($this->activeTab, $tab)) {
@@ -92,30 +92,30 @@
               if (!$obj->supportsAjax()) { $tab_classes[] = 'noajax'; }
             ?>
             <li<?=count($tab_classes) > 0 ? ' class="' . implode(' ', $tab_classes) . '"' : ''?>>
-              <a class="<?=strtolower($tab) ?>" href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav"<? if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<? endif ?>><?=$this->transEsc($desc)?></a>
+              <a class="<?=strtolower($tab) ?>" href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav"<?php if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<?php endif ?>><?=$this->transEsc($desc)?></a>
             </li>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </ul>
 
         <div class="tab-content collectionDetails<?=$tree ? 'Tree' : ''?>">
-          <? if (!$this->loadInitialTabWithAjax || !isset($activeTabObj) || !$activeTabObj->supportsAjax()): ?>
+          <?php if (!$this->loadInitialTabWithAjax || !isset($activeTabObj) || !$activeTabObj->supportsAjax()): ?>
             <div class="tab-pane active <?=$this->activeTab ?>-tab">
               <?=isset($activeTabObj) ? $this->record($this->driver)->getTab($activeTabObj) : '' ?>
             </div>
-          <? endif; ?>
+          <?php endif; ?>
         </div>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
 
     <?=$this->driver->supportsCoinsOpenURL()?'<span class="Z3988" title="' . $this->escapeHtmlAttr($this->driver->getCoinsOpenURL()) . '"></span>':''?>
   </div>
 
-  <? if (isset($activeTabObj) && is_callable([$activeTabObj, 'getSideRecommendations'])): ?>
+  <?php if (isset($activeTabObj) && is_callable([$activeTabObj, 'getSideRecommendations'])): ?>
     <div class="<?=$this->layoutClass('sidebar')?>">
-      <? foreach ($activeTabObj->getSideRecommendations() as $current): ?>
+      <?php foreach ($activeTabObj->getSideRecommendations() as $current): ?>
         <?=$this->recommend($current)?>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '$(document).ready(recordDocReady);', 'SET'); ?>
diff --git a/themes/bootstrap3/templates/collections/bytitle.phtml b/themes/bootstrap3/templates/collections/bytitle.phtml
index 83d14455774..3157683e8ef 100644
--- a/themes/bootstrap3/templates/collections/bytitle.phtml
+++ b/themes/bootstrap3/templates/collections/bytitle.phtml
@@ -1,22 +1,22 @@
-<? $this->layout()->breadcrumbs = '<a href="' . $this->url('collections-home') . '">' . $this->transEsc('Collections') . '</a>'; ?>
+<?php $this->layout()->breadcrumbs = '<a href="' . $this->url('collections-home') . '">' . $this->transEsc('Collections') . '</a>'; ?>
 <div id="bd">
   <div id="yui-main" class="content">
     <div class="disambiguationDiv" >
-      <? if (empty($collections)): ?>
+      <?php if (empty($collections)): ?>
         <h2><?=$this->transEsc('collection_empty')?></h2>
-        <? $this->headTitle($this->translate('collection_empty')); ?>
-      <? else: ?>
+        <?php $this->headTitle($this->translate('collection_empty')); ?>
+      <?php else: ?>
         <h2><?=$this->transEsc('collection_disambiguation')?></h2>
-        <? $this->headTitle($this->translate('collection_disambiguation')); ?>
+        <?php $this->headTitle($this->translate('collection_disambiguation')); ?>
         <div id="disambiguationItemsDiv">
-          <? foreach ($collections as $i => $collection): ?>
+          <?php foreach ($collections as $i => $collection): ?>
            <div class="disambiguationItem <?=$i % 2 ? 'alt ' : ''?>record<?=$i?>">
              <a href="<?=$this->url('collection', ['id' => $collection->getUniqueId()])?>"><?=$this->escapeHtml($collection->getTitle())?></a>
              <p><?=$this->escapeHtml(implode(' ', $collection->getSummary()))?></p>
            </div>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </div>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/collections/home.phtml b/themes/bootstrap3/templates/collections/home.phtml
index 7d61c8f2af3..3f7c9e52294 100644
--- a/themes/bootstrap3/templates/collections/home.phtml
+++ b/themes/bootstrap3/templates/collections/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $this->headTitle($this->translate('Collection Browse'));
   $this->layout()->breadcrumbs = '<a href="' . $this->url('collections-home') . '">' . $this->transEsc('Collections') . '</a>';
   $filterList = [];
@@ -10,35 +10,35 @@
   }
 ?>
 
-<? /* LOAD THE LINK INFORMATION INTO $pageLinks, similar to smarty's {capture} */ ?>
-<? ob_start(); ?>
+<?php /* LOAD THE LINK INFORMATION INTO $pageLinks, similar to smarty's {capture} */ ?>
+<?php ob_start(); ?>
   <form class="form-inline" method="GET" action="<?=$this->url('collections-home')?>">
     <ul class="pager">
-      <? if (isset($prevpage)): ?>
+      <?php if (isset($prevpage)): ?>
         <li><a href="<?=$this->url('collections-home')?>?from=<?=urlencode($from)?>&amp;page=<?=urlencode($prevpage)?><?=$this->escapeHtmlAttr($filterString)?>">&laquo; <?=$this->transEsc('Prev')?></a></li>
-      <? else: ?>
+      <?php else: ?>
         <li class="disabled"><a href="#">&laquo; <?=$this->transEsc('Prev')?></a></li>
-      <? endif; ?>
-      <? if (isset($nextpage)): ?>
+      <?php endif; ?>
+      <?php if (isset($nextpage)): ?>
         <li><a href="<?=$this->url('collections-home')?>?from=<?=urlencode($from)?>&amp;page=<?=urlencode($nextpage)?><?=$this->escapeHtmlAttr($filterString)?>"><?=$this->transEsc('Next')?> &raquo;</a></li>
-      <? else: ?>
+      <?php else: ?>
         <li class="disabled"><a href="#"><?=$this->transEsc('Next')?> &raquo;</a></li>
-      <? endif; ?>
+      <?php endif; ?>
       <input type="submit" class="btn btn-default" value="<?=$this->transEsc('Jump to')?>" />
       <input type="text" name="from" value="<?=$this->escapeHtmlAttr($from)?>" class="form-control" />
     </ul>
   </form>
-<? $pageLinks = ob_get_contents(); ?>
-<? ob_end_clean(); ?>
+<?php $pageLinks = ob_get_contents(); ?>
+<?php ob_end_clean(); ?>
 
 <h2><?=$this->transEsc('Collection Browse')?></h2>
 
-<? if (!empty($filterList)): ?>
+<?php if (!empty($filterList)): ?>
   <strong><?=$this->transEsc('Remove Filters')?></strong>
   <ul class="filters">
-  <? foreach ($filterList as $filter): ?>
+  <?php foreach ($filterList as $filter): ?>
     <li>
-      <?
+      <?php
         $removalUrl = $this->url('collections-home') . '?from=' . urlencode($from);
         foreach ($filterList as $current) {
           if ($current['urlPart'] != $filter['urlPart']) {
@@ -49,14 +49,14 @@
       <a href="<?=$this->escapeHtmlAttr($removalUrl)?>"><img src="<?=$this->imageLink('silk/delete.png')?>" alt="Delete"/></a>
       <a href="<?=$this->escapeHtmlAttr($removalUrl)?>"><?=$this->escapeHtml($filter['displayText'])?></a>
     </li>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
 
 <ul class="pagination">
-  <? foreach ($letters as $letter): ?>
-    <li<? if (strcasecmp($letter, $from) == 0): ?> class="active"<? endif; ?>><a href="<?=$this->url('collections-home')?>?from=<?=urlencode($letter)?><?=$this->escapeHtmlAttr($filterString)?>"><?=$this->escapeHtml($letter)?></a></li>
-  <? endforeach; ?>
+  <?php foreach ($letters as $letter): ?>
+    <li<?php if (strcasecmp($letter, $from) == 0): ?> class="active"<?php endif; ?>><a href="<?=$this->url('collections-home')?>?from=<?=urlencode($letter)?><?=$this->escapeHtmlAttr($filterString)?>"><?=$this->escapeHtml($letter)?></a></li>
+  <?php endforeach; ?>
 </ul>
 <?=$pageLinks ?>
 <div class="clearfix">
diff --git a/themes/bootstrap3/templates/collections/list.phtml b/themes/bootstrap3/templates/collections/list.phtml
index 98923184192..b9b080f31ac 100644
--- a/themes/bootstrap3/templates/collections/list.phtml
+++ b/themes/bootstrap3/templates/collections/list.phtml
@@ -1,5 +1,5 @@
 <div class="list-group">
-  <? foreach ($result as $i => $item): ?>
+  <?php foreach ($result as $i => $item): ?>
     <a class="list-group-item" href="<?=$this->url('collection', ['id' => $item['value']])?>">
       <strong><?=$this->escapeHtml($item['displayText'])?></strong>
       <span class="badge">
@@ -7,5 +7,5 @@
         <i class="fa fa-angle-right" title="<?=$this->transEsc('Find More') ?>"></i>
       </span>
     </a>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/combined/results-ajax.phtml b/themes/bootstrap3/templates/combined/results-ajax.phtml
index d2df4e75ff1..f6a80e5f6d5 100644
--- a/themes/bootstrap3/templates/combined/results-ajax.phtml
+++ b/themes/bootstrap3/templates/combined/results-ajax.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Make sure OpenURL support is loaded
     $this->headScript()->appendFile("openurl.js");
 
diff --git a/themes/bootstrap3/templates/combined/results-list.phtml b/themes/bootstrap3/templates/combined/results-list.phtml
index b28f0a958ae..f53707e5a2e 100644
--- a/themes/bootstrap3/templates/combined/results-list.phtml
+++ b/themes/bootstrap3/templates/combined/results-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $view = $currentSearch['view'];
   $results = $view->results;
   $params = $results->getParams();
@@ -8,54 +8,54 @@
   // More link should use default limit, not custom limit:
   $moreUrl = $this->url($params->getOptions()->getSearchAction()) . $results->getUrlQuery()->setPage(1)->setLimit($params->getOptions()->getDefaultLimit());
 ?>
-<? if (isset($currentSearch['more_link']) && $currentSearch['more_link']): ?>
+<?php if (isset($currentSearch['more_link']) && $currentSearch['more_link']): ?>
   <div class="pull-right flip">
     <a href="<?=$moreUrl?>" class="btn btn-link"><i class="fa fa-gears" aria-hidden="true"></i> <?=$this->transEsc('More options')?></a>
   </div>
   <h2><a href="<?=$moreUrl?>"><?=$this->transEsc($currentSearch['label'])?></a></h2>
-<? else: ?>
+<?php else: ?>
   <h2><?=$this->transEsc($currentSearch['label'])?></h2>
-<? endif; ?>
-<? if (isset($currentSearch['sublabel'])): ?>
+<?php endif; ?>
+<?php if (isset($currentSearch['sublabel'])): ?>
   <p><i><?=$this->transEsc($currentSearch['sublabel'])?></i></p>
-<? endif; ?>
+<?php endif; ?>
 <div class="clearfix">
   <div class="pull-left flip help-block">
-    <? if ($recordTotal > 0): ?>
-      <? foreach (($top = $results->getRecommendations('top')) as $current): ?>
+    <?php if ($recordTotal > 0): ?>
+      <?php foreach (($top = $results->getRecommendations('top')) as $current): ?>
         <?=$this->recommend($current)?>
-      <? endforeach; ?>
+      <?php endforeach; ?>
       <?=$this->context()->renderInContext('search/controls/showing.phtml',
                                           ['lookfor' => $lookfor, 'recordTotal' => $recordTotal,
                                            'params' => $params, 'results' => $results]) ?>
-    <? else: ?>
+    <?php else: ?>
       <h3><?=$this->transEsc('nohit_heading')?></h3>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
 </div>
-<? /* End Listing Options */ ?>
+<?php /* End Listing Options */ ?>
 
-<? if ($recordTotal < 1): ?>
+<?php if ($recordTotal < 1): ?>
   <p class="alert alert-danger">
-    <? if (isset($view->overrideEmptyMessage)): ?>
+    <?php if (isset($view->overrideEmptyMessage)): ?>
       <?=$view->overrideEmptyMessage?>
-    <? else: ?>
+    <?php else: ?>
       <?=$this->translate('nohit_lookfor_html', ['%%lookfor%%' => $this->escapeHtml($lookfor)]) ?>
-    <? endif; ?>
+    <?php endif; ?>
   </p>
-  <? if (isset($view->parseError)): ?>
+  <?php if (isset($view->parseError)): ?>
     <p class="alert alert-danger"><?=$this->transEsc('nohit_parse_error')?></p>
-  <? endif; ?>
-  <? foreach (($top = $results->getRecommendations('top')) as $current): ?>
+  <?php endif; ?>
+  <?php foreach (($top = $results->getRecommendations('top')) as $current): ?>
     <?=$this->recommend($current)?>
-  <? endforeach; ?>
-  <? foreach ($results->getRecommendations('noresults') as $current): ?>
-    <? if (!in_array($current, $top)): ?>
+  <?php endforeach; ?>
+  <?php foreach ($results->getRecommendations('noresults') as $current): ?>
+    <?php if (!in_array($current, $top)): ?>
       <?=$this->recommend($current)?>
-    <? endif; ?>
-  <? endforeach; ?>
-<? else: ?>
-  <?
+    <?php endif; ?>
+  <?php endforeach; ?>
+<?php else: ?>
+  <?php
     $viewType = in_array('list', array_keys($params->getViewList()))
       ? 'list' : $params->getView();
     $viewParams = [
@@ -65,7 +65,7 @@
     ];
   ?>
   <?=$this->render('search/list-' . $viewType . '.phtml', $viewParams)?>
-  <? if (isset($currentSearch['more_link']) && $currentSearch['more_link']): ?>
+  <?php if (isset($currentSearch['more_link']) && $currentSearch['more_link']): ?>
     <p><a href="<?=$moreUrl?>"><?=$this->transEsc($currentSearch['more_link'])?> <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></p>
-  <? endif; ?>
-<? endif; ?>
+  <?php endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/combined/results.phtml b/themes/bootstrap3/templates/combined/results.phtml
index 35b484a7449..0a552a622f9 100644
--- a/themes/bootstrap3/templates/combined/results.phtml
+++ b/themes/bootstrap3/templates/combined/results.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $lookfor = $this->params->getDisplayQuery();
   if (isset($this->overrideTitle)) {
@@ -50,15 +50,15 @@
 ?>
 <?=$this->flashmessages()?>
 <form id="search-cart-form" class="form-inline" method="post" name="bulkActionForm" action="<?=$this->url('cart-searchresultsbulk')?>">
-  <? $recs = $combinedResults->getRecommendations('top'); if (!empty($recs)): ?>
+  <?php $recs = $combinedResults->getRecommendations('top'); if (!empty($recs)): ?>
     <div>
-      <? foreach ($recs as $current): ?>
+      <?php foreach ($recs as $current): ?>
         <?=$this->recommend($current)?>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <?=$this->context($this)->renderInContext('search/bulk-action-buttons.phtml', ['idPrefix' => ''])?>
-  <?
+  <?php
     $viewParams = [
       'searchClassId' => $searchClassId,
       'combinedResults' => $this->combinedResults,
@@ -68,12 +68,12 @@
     ];
   ?>
   <?=$this->context($this)->renderInContext('combined/stack-' . $placement . '.phtml', $viewParams); ?>
-  <? $recs = $combinedResults->getRecommendations('bottom'); ?>
-  <? if (!empty($recs)): ?>
+  <?php $recs = $combinedResults->getRecommendations('bottom'); ?>
+  <?php if (!empty($recs)): ?>
     <div>
-      <? foreach ($recs as $current): ?>
+      <?php foreach ($recs as $current): ?>
         <?=$this->recommend($current)?>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </form>
diff --git a/themes/bootstrap3/templates/combined/stack-distributed.phtml b/themes/bootstrap3/templates/combined/stack-distributed.phtml
index 82c985d349b..3f954dd9a52 100644
--- a/themes/bootstrap3/templates/combined/stack-distributed.phtml
+++ b/themes/bootstrap3/templates/combined/stack-distributed.phtml
@@ -1,8 +1,8 @@
 <div class="combined-search-container">
-  <? $columnedParams = []; ?>
-  <? $columnIndex = 0; ?>
-  <? foreach ($this->combinedResults as $searchClassId => $currentSearch): ?>
-    <?
+  <?php $columnedParams = []; ?>
+  <?php $columnIndex = 0; ?>
+  <?php foreach ($this->combinedResults as $searchClassId => $currentSearch): ?>
+    <?php
       if (
         (!isset($currentSearch['ajax']) || !$currentSearch['ajax'])                    // AJAX column
         && (isset($currentSearch['hide_if_empty']) && $currentSearch['hide_if_empty']) // set to hide when empty
@@ -31,15 +31,15 @@
       $columnedParams[$col][] = $colParams;
       $columnIndex ++;
     ?>
-  <? endforeach; ?>
-  <? foreach ($columnedParams as $currColumn): ?>
+  <?php endforeach; ?>
+  <?php foreach ($columnedParams as $currColumn): ?>
     <div class="combined-column">
-      <? foreach ($currColumn as $colParams): ?>
+      <?php foreach ($currColumn as $colParams): ?>
         <div id="<?=$this->escapeHtmlAttr($colParams['domId'])?>" class="combined-list">
-          <? $templateSuffix = (isset($colParams['ajax']) && $colParams['ajax']) ? 'ajax' : 'list'; ?>
+          <?php $templateSuffix = (isset($colParams['ajax']) && $colParams['ajax']) ? 'ajax' : 'list'; ?>
           <?=$this->render('combined/results-' . $templateSuffix . '.phtml', $colParams)?>
         </div>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/combined/stack-left.phtml b/themes/bootstrap3/templates/combined/stack-left.phtml
index 0df1873f50f..f164a047f7d 100644
--- a/themes/bootstrap3/templates/combined/stack-left.phtml
+++ b/themes/bootstrap3/templates/combined/stack-left.phtml
@@ -1,9 +1,9 @@
 <div class="combined-search-container">
-  <? $columnIndex = 0; ?>
-  <? $rightColumns = []; ?>
+  <?php $columnIndex = 0; ?>
+  <?php $rightColumns = []; ?>
   <div class="combined-column">
-    <? foreach ($this->combinedResults as $searchClassId => $currentSearch): ?>
-      <?
+    <?php foreach ($this->combinedResults as $searchClassId => $currentSearch): ?>
+      <?php
         $viewParams = [
           'searchClassId' => $searchClassId,
           'currentSearch' => $currentSearch,
@@ -13,7 +13,7 @@
           'showBulkOptions' => $this->supportsCartOptions[$columnIndex] && $this->showBulkOptions
         ];
       ?>
-      <?
+      <?php
         if (
           (!isset($currentSearch['ajax']) || !$currentSearch['ajax'])                    // AJAX column
           && (isset($currentSearch['hide_if_empty']) && $currentSearch['hide_if_empty']) // set to hide when empty
@@ -22,8 +22,8 @@
           continue;
         }
       ?>
-      <? $columnIndex ++; ?>
-      <?
+      <?php $columnIndex ++; ?>
+      <?php
         if ($columnIndex > 0 && $columnIndex < $columns) {
           $viewParams['domId'] = $currentSearch['domId'];
           if (isset($currentSearch['ajax'])) {
@@ -34,17 +34,17 @@
         }
       ?>
       <div id="<?=$this->escapeHtmlAttr($currentSearch['domId'])?>" class="combined-list">
-        <? $templateSuffix = (isset($currentSearch['ajax']) && $currentSearch['ajax']) ? 'ajax' : 'list'; ?>
+        <?php $templateSuffix = (isset($currentSearch['ajax']) && $currentSearch['ajax']) ? 'ajax' : 'list'; ?>
         <?=$this->render('combined/results-' . $templateSuffix . '.phtml', $viewParams)?>
       </div>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
-  <? foreach ($rightColumns as $colParams): ?>
+  <?php foreach ($rightColumns as $colParams): ?>
     <div class="combined-column">
       <div id="<?=$this->escapeHtmlAttr($colParams['domId'])?>" class="combined-list">
-        <? $templateSuffix = (isset($colParams['ajax']) && $colParams['ajax']) ? 'ajax' : 'list'; ?>
+        <?php $templateSuffix = (isset($colParams['ajax']) && $colParams['ajax']) ? 'ajax' : 'list'; ?>
         <?=$this->render('combined/results-' . $templateSuffix . '.phtml', $colParams)?>
       </div>
     </div>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/combined/stack-right.phtml b/themes/bootstrap3/templates/combined/stack-right.phtml
index dfca691f257..43124006a84 100644
--- a/themes/bootstrap3/templates/combined/stack-right.phtml
+++ b/themes/bootstrap3/templates/combined/stack-right.phtml
@@ -1,8 +1,8 @@
 <div class="combined-search-container">
-  <? $columnIndex = 0; ?>
+  <?php $columnIndex = 0; ?>
   <div class="combined-column">
-    <? foreach ($this->combinedResults as $searchClassId => $currentSearch): ?>
-      <?
+    <?php foreach ($this->combinedResults as $searchClassId => $currentSearch): ?>
+      <?php
         $viewParams = [
           'searchClassId' => $searchClassId,
           'currentSearch' => $currentSearch,
@@ -12,7 +12,7 @@
           'showBulkOptions' => $this->supportsCartOptions[$columnIndex] && $this->showBulkOptions
         ];
       ?>
-      <?
+      <?php
         if (
           (!isset($currentSearch['ajax']) || !$currentSearch['ajax'])                    // AJAX column
           && (isset($currentSearch['hide_if_empty']) && $currentSearch['hide_if_empty']) // set to hide when empty
@@ -22,14 +22,14 @@
         }
       ?>
       <div id="<?=$this->escapeHtmlAttr($currentSearch['domId'])?>" class="combined-list">
-        <? $templateSuffix = (isset($currentSearch['ajax']) && $currentSearch['ajax']) ? 'ajax' : 'list'; ?>
+        <?php $templateSuffix = (isset($currentSearch['ajax']) && $currentSearch['ajax']) ? 'ajax' : 'list'; ?>
         <?=$this->render('combined/results-' . $templateSuffix . '.phtml', $viewParams)?>
       </div>
-      <? $columnIndex ++; ?>
-      <? if ($columnIndex < $columns): ?>
+      <?php $columnIndex ++; ?>
+      <?php if ($columnIndex < $columns): ?>
     </div>
     <div class="combined-column">
-      <? endif; ?>
-    <? endforeach; ?>
+      <?php endif; ?>
+    <?php endforeach; ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/confirm/confirm.phtml b/themes/bootstrap3/templates/confirm/confirm.phtml
index ba6c8248d04..497c90fe81a 100644
--- a/themes/bootstrap3/templates/confirm/confirm.phtml
+++ b/themes/bootstrap3/templates/confirm/confirm.phtml
@@ -1,4 +1,4 @@
-<? $this->headTitle($this->title) ?>
+<?php $this->headTitle($this->title) ?>
 <div class="alignleft">
   <h3><?=$this->transEsc($this->title) ?></h3>
 
@@ -6,17 +6,17 @@
 
   <div id="popupDetails" class="confirmDialog">
     <form class="pull-left flip" action="<?=$this->escapeHtmlAttr($this->confirm)?>" method="post">
-      <? if (isset($this->extras)): ?>
-        <? foreach ($this->extras as $extra => $value): ?>
-          <? if (is_array($value)): ?>
-            <? foreach ($value as $current): ?>
+      <?php if (isset($this->extras)): ?>
+        <?php foreach ($this->extras as $extra => $value): ?>
+          <?php if (is_array($value)): ?>
+            <?php foreach ($value as $current): ?>
               <input type="hidden" name="<?=$this->escapeHtmlAttr($extra) ?>[]" value="<?=$this->escapeHtmlAttr($current) ?>" />
-            <? endforeach; ?>
-          <? else: ?>
+            <?php endforeach; ?>
+          <?php else: ?>
             <input type="hidden" name="<?=$this->escapeHtmlAttr($extra) ?>" value="<?=$this->escapeHtmlAttr($value) ?>" />
-          <? endif; ?>
-        <? endforeach; ?>
-      <? endif;?>
+          <?php endif; ?>
+        <?php endforeach; ?>
+      <?php endif;?>
       <input class="btn btn-primary" type="submit" name="confirm" value="<?=$this->transEsc('confirm_dialog_yes') ?>" />
     </form>
     <form action="<?=$this->escapeHtmlAttr($this->cancel) ?>" method="post">
diff --git a/themes/bootstrap3/templates/content/asklibrary.phtml b/themes/bootstrap3/templates/content/asklibrary.phtml
index b8e493b6258..45902e38cc2 100644
--- a/themes/bootstrap3/templates/content/asklibrary.phtml
+++ b/themes/bootstrap3/templates/content/asklibrary.phtml
@@ -1,4 +1,4 @@
-<? $this->headTitle($this->translate('Ask a Librarian')); ?>
+<?php $this->headTitle($this->translate('Ask a Librarian')); ?>
 
 <h1><?=$this->transEsc('Ask a Librarian') ?></h1>
 
diff --git a/themes/bootstrap3/templates/content/asklibrary_en.phtml b/themes/bootstrap3/templates/content/asklibrary_en.phtml
index 6a3d03efdbb..eb73d48ac98 100644
--- a/themes/bootstrap3/templates/content/asklibrary_en.phtml
+++ b/themes/bootstrap3/templates/content/asklibrary_en.phtml
@@ -1,4 +1,4 @@
-<? $this->headTitle($this->translate('Ask a Librarian')); ?>
+<?php $this->headTitle($this->translate('Ask a Librarian')); ?>
 
 <h1><?=$this->transEsc('Ask a Librarian') ?></h1>
 
diff --git a/themes/bootstrap3/templates/content/faq.phtml b/themes/bootstrap3/templates/content/faq.phtml
index 60bd0e069c5..f97d91a625b 100644
--- a/themes/bootstrap3/templates/content/faq.phtml
+++ b/themes/bootstrap3/templates/content/faq.phtml
@@ -1,13 +1,13 @@
-<? $this->headTitle($this->translate('FAQs')); ?>
+<?php $this->headTitle($this->translate('FAQs')); ?>
 
 <h1><?=$this->transEsc('FAQs') ?></h1>
 
-<? if ($this->auth()->getManager()->supportsRecovery()): ?>
+<?php if ($this->auth()->getManager()->supportsRecovery()): ?>
   <p>
     Q: How do I reset my password?<br/>
     A: Go to the login screen and click the "Forgot password" link. Enter either your user name or email address, and you will get an email containing a link to reset your password.
   </p>
-<? endif; ?>
+<?php endif; ?>
 <p>
   Q: Why does the service use cookies?<br/>
   A: Cookies are used to manage sessions, which include selected language, last search, book bag contents, any login information, etc.
diff --git a/themes/bootstrap3/templates/devtools/deminify.phtml b/themes/bootstrap3/templates/devtools/deminify.phtml
index 7765502e1e7..035084c192b 100644
--- a/themes/bootstrap3/templates/devtools/deminify.phtml
+++ b/themes/bootstrap3/templates/devtools/deminify.phtml
@@ -1,39 +1,39 @@
-<?
+<?php
     $this->headTitle('Deminifier');
 ?>
 
 <h2>Deminifier</h2>
 
-<? if (empty($min)): ?>
+<?php if (empty($min)): ?>
   <form method='POST'>
     Minified text:
     <textarea name="min"></textarea>
     <input type="submit" />
   </form>
-<? else: ?>
+<?php else: ?>
   <h3>Minified Object</h3>
-  <pre><? print_r($min) ?></pre>
-<? endif; ?>
+  <pre><?php print_r($min) ?></pre>
+<?php endif; ?>
 
-<? if (isset($results)): ?>
+<?php if (isset($results)): ?>
   <h3>Results Object</h3>
   <p>Class: <?=get_class($results)?></p>
-<? endif; ?>
+<?php endif; ?>
 
-<? if (isset($query)): ?>
+<?php if (isset($query)): ?>
   <h3>Query Object</h3>
-  <pre><? print_r($query) ?></pre>
-<? endif; ?>
+  <pre><?php print_r($query) ?></pre>
+<?php endif; ?>
 
-<? if (isset($backendParams) || isset($queryParams)): ?>
+<?php if (isset($backendParams) || isset($queryParams)): ?>
   <h3>Backend Parameters</h3>
-  <? if (isset($queryParams)): ?>
+  <?php if (isset($queryParams)): ?>
     <h4>Query Parameters</h4>
-    <pre><? print_r($queryParams) ?></pre>
-  <? endif; ?>
-  <? if (isset($backendParams)): ?>
+    <pre><?php print_r($queryParams) ?></pre>
+  <?php endif; ?>
+  <?php if (isset($backendParams)): ?>
     <h4>Non-query Parameters</h4>
-    <pre><? print_r($backendParams) ?></pre>
-  <? endif; ?>
-<? endif; ?>
+    <pre><?php print_r($backendParams) ?></pre>
+  <?php endif; ?>
+<?php endif; ?>
 
diff --git a/themes/bootstrap3/templates/devtools/home.phtml b/themes/bootstrap3/templates/devtools/home.phtml
index 81e7038fe27..807de404681 100644
--- a/themes/bootstrap3/templates/devtools/home.phtml
+++ b/themes/bootstrap3/templates/devtools/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $this->headTitle('Development Tools');
 ?>
 
diff --git a/themes/bootstrap3/templates/devtools/language.phtml b/themes/bootstrap3/templates/devtools/language.phtml
index 1ac76e9c2c1..f03705aee16 100644
--- a/themes/bootstrap3/templates/devtools/language.phtml
+++ b/themes/bootstrap3/templates/devtools/language.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $this->headTitle($this->translate('Language'));
 ?>
 
@@ -8,21 +8,21 @@
 
 <table class="table table-striped">
   <tr><th>Language</th><th>Missing Lines</th><th>Extra Lines</th><th>Percent Translated</th><th>Extra Help Files</th></tr>
-  <? foreach ($details as $langCode => $diffs): ?>
-    <?
+  <?php foreach ($details as $langCode => $diffs): ?>
+    <?php
       $extraCount = count($diffs['notInL1']);
       $missingCount = count($diffs['notInL2']);
     ?>
     <tr>
       <td><?=$this->escapeHtml($langCode . ' (' . $diffs['name'] . ')')?></td>
-      <td><?=$missingCount ?><? if($missingCount > 0): ?> (<a href="#" onclick="return diffManager.showMissing('<?=$langCode ?>')"><?=$this->transEsc('show') ?></a>)<? endif; ?></td>
-      <td><?=$extraCount ?><? if($extraCount > 0): ?> (<a href="#" onclick="return diffManager.showExtra('<?=$langCode ?>')"><?=$this->transEsc('show') ?></a>)<? endif; ?></td>
+      <td><?=$missingCount ?><?php if($missingCount > 0): ?> (<a href="#" onclick="return diffManager.showMissing('<?=$langCode ?>')"><?=$this->transEsc('show') ?></a>)<?php endif; ?></td>
+      <td><?=$extraCount ?><?php if($extraCount > 0): ?> (<a href="#" onclick="return diffManager.showExtra('<?=$langCode ?>')"><?=$this->transEsc('show') ?></a>)<?php endif; ?></td>
       <td><?=$this->escapeHtml($diffs['l2Percent'])?></td>
       <td><?=count($diffs['helpFiles'])?></td>
     </tr>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </table>
-<?
+<?php
   $json = json_encode($details);
   $script = <<<JS
   function createDiffManager() {
diff --git a/themes/bootstrap3/templates/eds/advanced.phtml b/themes/bootstrap3/templates/eds/advanced.phtml
index 7811a785914..0c87a8b62e9 100644
--- a/themes/bootstrap3/templates/eds/advanced.phtml
+++ b/themes/bootstrap3/templates/eds/advanced.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Load the EDS-specific advanced search controls and inject them into the
   // standard advanced search layout:
   $this->extraAdvancedControls = $this->render('search/advanced/eds.phtml');
@@ -11,12 +11,12 @@
     <input type="hidden" name="join" value="AND"/>
     <input type="hidden" name="bool0[]" value="AND"/>
     <label class="adv-group-label"><?=$this->transEsc("adv_search_label")?>:</label>
-    <? for ($search = 0; $search < 3; $search++): ?>
-      <? if ($search === 0): ?>
+    <?php for ($search = 0; $search < 3; $search++): ?>
+      <?php if ($search === 0): ?>
         <div id="new_search_template">
-      <? endif; ?>
+      <?php endif; ?>
       <div class="adv-search">
-        <? if ($search === 0): ?><input type="hidden" value="AND" class="first-op"/><? endif; ?>
+        <?php if ($search === 0): ?><input type="hidden" value="AND" class="first-op"/><?php endif; ?>
         <select id="search_op0_<?=$search ?>" name="op0[]" class="adv-term-op form-control">
           <option value="AND"><?=$this->transEsc("AND")?></option>
           <option value="OR"><?=$this->transEsc("OR")?></option>
@@ -25,20 +25,20 @@
         <input id="search_lookfor0_<?=$search ?>" name="lookfor0[]" class="adv-term-input form-control" type="text" value=""/>
         <span class="help-block hidden-xs"><?=$this->transEsc("in")?></span>
         <select id="search_type0_<?=$search ?>" name="type0[]" class="adv-term-type form-control">
-          <? foreach ($this->options->getAdvancedHandlers() as $searchVal => $searchDesc): ?>
+          <?php foreach ($this->options->getAdvancedHandlers() as $searchVal => $searchDesc): ?>
             <option value="<?=$this->escapeHtml($searchVal)?>"><?=$this->transEsc($searchDesc)?></option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
         <a class="adv-term-remove">&times;</a>
       </div>
-      <? if ($search === 0): ?>
+      <?php if ($search === 0): ?>
         </div>
-      <? endif; ?>
-    <? endfor; ?>
+      <?php endif; ?>
+    <?php endfor; ?>
     <i class="fa fa-plus-circle search_place_holder hidden" aria-hidden="true"></i> <a href="#" class="add_search_link hidden"><?=$this->transEsc("add_search")?></a>
   </div>
 </div>
-<?
+<?php
   $this->formOverride = ob_get_contents();
   ob_end_clean();
 
diff --git a/themes/bootstrap3/templates/eds/home.phtml b/themes/bootstrap3/templates/eds/home.phtml
index ff9936df1db..db73c54bb03 100644
--- a/themes/bootstrap3/templates/eds/home.phtml
+++ b/themes/bootstrap3/templates/eds/home.phtml
@@ -1,3 +1,3 @@
-<?
+<?php
   echo $this->render('search/home.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/eds/search.phtml b/themes/bootstrap3/templates/eds/search.phtml
index 3f3e56e0a72..772edf01d51 100644
--- a/themes/bootstrap3/templates/eds/search.phtml
+++ b/themes/bootstrap3/templates/eds/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Load standard settings from the default search results screen:
   $this->overrideSideFacetCaption = 'Refine Results';
   $this->paginationOptions = ['disableFirst' => true, 'disableLast' => true];
diff --git a/themes/bootstrap3/templates/eit/advanced.phtml b/themes/bootstrap3/templates/eit/advanced.phtml
index 6d2d837a3c7..09eb9fab9f8 100644
--- a/themes/bootstrap3/templates/eit/advanced.phtml
+++ b/themes/bootstrap3/templates/eit/advanced.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // There are no EIT-specific advanced search controls, so just load the
   // standard advanced search layout:
   echo $this->render('search/advanced/layout.phtml');
diff --git a/themes/bootstrap3/templates/eit/search.phtml b/themes/bootstrap3/templates/eit/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/eit/search.phtml
+++ b/themes/bootstrap3/templates/eit/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/error/index.phtml b/themes/bootstrap3/templates/error/index.phtml
index 58595140071..c653fe6fbac 100644
--- a/themes/bootstrap3/templates/error/index.phtml
+++ b/themes/bootstrap3/templates/error/index.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('An error has occurred'));
 
@@ -10,19 +10,19 @@
   <p>
     <?=$this->transEsc('Please contact the Library Reference Department for assistance')?>
     <br/>
-    <? $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
+    <?php $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
     <a href="mailto:<?=$supportEmail?>"><?=$supportEmail?></a>
   </p>
 </div>
 
-<? if ($this->showInstallLink): ?>
+<?php if ($this->showInstallLink): ?>
   <h2><a href="<?=$this->url('install-home')?>"><?=$this->transEsc('auto_configure_title', [], 'Auto Configure')?></a></h2>
   <?=$this->transEsc('auto_configure_description', [], 'If this is a new installation, you may be able to fix the error using VuFind\'s Auto Configure tool.')?>
   <h2><a href="<?=$this->url('upgrade-home')?>"><?=$this->transEsc('Upgrade VuFind')?></a></h2>
   <?=$this->transEsc('upgrade_description', [], 'If you are upgrading a previous VuFind version, you can load your old settings with this tool.')?>
-<? endif; ?>
+<?php endif; ?>
 
-<? if (isset($this->display_exceptions) && $this->display_exceptions): ?>
+<?php if (isset($this->display_exceptions) && $this->display_exceptions): ?>
   <h2><?=$this->transEsc('Exception')?>:</h2>
   <p>
     <b><?=$this->transEsc('Message')?>:</b> <?=$this->escapeHtml($this->exception->getMessage())?>
@@ -32,18 +32,18 @@
   <pre><?=$this->exception->getTraceAsString()?>
   </pre>
 
-  <? if ($e = $this->exception->getPrevious()): ?>
+  <?php if ($e = $this->exception->getPrevious()): ?>
     <h3>Previous exceptions:</h3>
-    <? while($e): ?>
+    <?php while($e): ?>
         <h4><?php echo get_class($e); ?></h4>
         <p><?=$e->getMessage()?></p>
         <pre><?=$e->getTraceAsString()?></pre>
-        <? $e = $e->getPrevious(); ?>
-    <? endwhile; ?>
-  <? endif; ?>
+        <?php $e = $e->getPrevious(); ?>
+    <?php endwhile; ?>
+  <?php endif; ?>
 
-  <? if (isset($this->request)): ?>
+  <?php if (isset($this->request)): ?>
     <h2><?=$this->transEsc('error_page_parameter_list_heading')?>:</h2>
     <pre><?=$this->escapeHtml(var_export($this->request->getParams(), true))?></pre>
-  <? endif; ?>
-<? endif ?>
+  <?php endif; ?>
+<?php endif ?>
diff --git a/themes/bootstrap3/templates/error/permissiondenied.phtml b/themes/bootstrap3/templates/error/permissiondenied.phtml
index 344afc5be92..3ff0f6167e1 100644
--- a/themes/bootstrap3/templates/error/permissiondenied.phtml
+++ b/themes/bootstrap3/templates/error/permissiondenied.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('permission_denied_title'));
 
@@ -12,14 +12,14 @@
   <p><?=$this->flashmessages()?></p>
   <p>
     <?=$this->transEsc('permission_denied')?>
-    <? if (!empty($msg)): ?>
+    <?php if (!empty($msg)): ?>
       <div class="alert alert-danger"><?=$this->transEsc($msg)?></div>
-    <? endif; ?>
+    <?php endif; ?>
   </p>
   <p>
     <?=$this->transEsc('Please contact the Library Reference Department for assistance')?>
     <br/>
-    <? $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
+    <?php $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
     <a href="mailto:<?=$supportEmail?>"><?=$supportEmail?></a>
   </p>
 </div>
diff --git a/themes/bootstrap3/templates/error/unavailable.phtml b/themes/bootstrap3/templates/error/unavailable.phtml
index 9ebaa42658f..93f9fca5fb6 100644
--- a/themes/bootstrap3/templates/error/unavailable.phtml
+++ b/themes/bootstrap3/templates/error/unavailable.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('System Unavailable'));
 
@@ -16,7 +16,7 @@
   <p>
     <?=$this->transEsc('Please contact the Library Reference Department for assistance')?>
     <br/>
-    <? $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
+    <?php $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?>
     <a href="mailto:<?=$supportEmail?>"><?=$supportEmail?></a>
   </p>
 </div>
diff --git a/themes/bootstrap3/templates/externalauth/ezproxylogin.phtml b/themes/bootstrap3/templates/externalauth/ezproxylogin.phtml
index 1bef7b8f1ac..81b1c849257 100644
--- a/themes/bootstrap3/templates/externalauth/ezproxylogin.phtml
+++ b/themes/bootstrap3/templates/externalauth/ezproxylogin.phtml
@@ -1,16 +1,16 @@
-<?
+<?php
     // Set page title
     $this->headTitle($this->translate('external_auth_heading'));
 ?>
 
 <div class="external-content-access">
   <?=$this->flashmessages()?>
-  <? if ($this->unauthorized): ?>
+  <?php if ($this->unauthorized): ?>
     <div class="unauthorized-description">
       <p><?=$this->transEsc('external_auth_unauthorized_desc'); ?></p>
     </div>
     <div>
       <a href="<?=$this->url('myresearch-logout')?>" class="logout btn btn-primary" title="<?=$this->transEsc("Log Out")?>"><strong><?=$this->transEsc("Log Out")?></strong></a>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/feedback/email.phtml b/themes/bootstrap3/templates/feedback/email.phtml
index 53109c28fd2..d82a2b80032 100644
--- a/themes/bootstrap3/templates/feedback/email.phtml
+++ b/themes/bootstrap3/templates/feedback/email.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title
     $this->headTitle($this->translate('Feedback'));
     // Get rid of the feedback tab since this uses the same variables
diff --git a/themes/bootstrap3/templates/header.phtml b/themes/bootstrap3/templates/header.phtml
index 3d7fcf1bfb7..39a3e0cd9e6 100644
--- a/themes/bootstrap3/templates/header.phtml
+++ b/themes/bootstrap3/templates/header.phtml
@@ -1,4 +1,4 @@
-<? $account = $this->auth()->getManager(); ?>
+<?php $account = $this->auth()->getManager(); ?>
 <div class="banner container navbar">
   <div class="navbar-header">
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#header-collapse">
@@ -7,75 +7,75 @@
     </button>
     <a class="navbar-brand lang-<?=$this->layout()->userLang ?>" href="<?=$this->url('home')?>">VuFind</a>
   </div>
-  <? if (!isset($this->layout()->renderingError)): ?>
+  <?php if (!isset($this->layout()->renderingError)): ?>
     <div class="collapse navbar-collapse" id="header-collapse">
       <nav>
         <ul role="navigation" class="nav navbar-nav navbar-right flip">
-          <? if ($this->feedback()->tabEnabled()): ?>
+          <?php if ($this->feedback()->tabEnabled()): ?>
             <li>
               <a id="feedbackLink" data-lightbox href="<?=$this->url('feedback-home') ?>"><i class="fa fa-envelope" aria-hidden="true"></i> <?=$this->transEsc("Feedback")?></a>
             </li>
-          <? endif; ?>
-          <? $cart = $this->cart(); if ($cart->isActive()): ?>
+          <?php endif; ?>
+          <?php $cart = $this->cart(); if ($cart->isActive()): ?>
             <li id="cartSummary">
               <a id="cartItems" data-lightbox title="<?=$this->transEsc('View Book Bag')?>" href="<?=$this->url('cart-home')?>">
                 <i class="fa fa-suitcase" aria-hidden="true"></i> <strong><?=count($cart->getItems())?></strong> <?=$this->transEsc('items')?>
                 <span class="full<?=!$cart->isFull() ? ' hidden' : '' ?>">(<?=$this->transEsc('bookbag_full') ?>)</span>
               </a>
             </li>
-          <? endif; ?>
-          <? if (is_object($account) && $account->loginEnabled()): // hide login/logout if unavailable ?>
-            <li class="logoutOptions<? if(!$account->isLoggedIn()): ?> hidden<? endif ?>">
+          <?php endif; ?>
+          <?php if (is_object($account) && $account->loginEnabled()): // hide login/logout if unavailable ?>
+            <li class="logoutOptions<?php if(!$account->isLoggedIn()): ?> hidden<?php endif ?>">
               <a href="<?=$this->url('myresearch-home', [], ['query' => ['redirect' => 0]])?>"><i class="fa fa-home" aria-hidden="true"></i> <?=$this->transEsc("Your Account")?></a>
             </li>
-            <li class="logoutOptions<? if(!$account->isLoggedIn()): ?> hidden<? endif ?>">
+            <li class="logoutOptions<?php if(!$account->isLoggedIn()): ?> hidden<?php endif ?>">
               <a href="<?=$this->url('myresearch-logout')?>" class="logout"><i class="fa fa-sign-out" aria-hidden="true"></i> <?=$this->transEsc("Log Out")?></a>
             </li>
-            <li id="loginOptions"<? if($account->isLoggedIn()): ?> class="hidden"<? endif ?>>
-              <? if ($account->getSessionInitiator($this->serverUrl($this->url('myresearch-home')))): ?>
+            <li id="loginOptions"<?php if($account->isLoggedIn()): ?> class="hidden"<?php endif ?>>
+              <?php if ($account->getSessionInitiator($this->serverUrl($this->url('myresearch-home')))): ?>
                 <a href="<?=$this->url('myresearch-userlogin')?>"><i class="fa fa-sign-in" aria-hidden="true"></i> <?=$this->transEsc("Institutional Login")?></a>
-              <? else: ?>
+              <?php else: ?>
                 <a href="<?=$this->url('myresearch-userlogin')?>" data-lightbox><i class="fa fa-sign-in" aria-hidden="true"></i> <?=$this->transEsc("Login")?></a>
-              <? endif; ?>
+              <?php endif; ?>
             </li>
-          <? endif; ?>
+          <?php endif; ?>
 
-          <? if (isset($this->layout()->themeOptions) && count($this->layout()->themeOptions) > 1): ?>
+          <?php if (isset($this->layout()->themeOptions) && count($this->layout()->themeOptions) > 1): ?>
             <li class="theme dropdown">
               <form method="post" name="themeForm" id="themeForm">
                 <input type="hidden" name="ui"/>
               </form>
               <a href="#" class="dropdown-toggle" data-toggle="dropdown"><?=$this->transEsc("Theme")?> <b class="caret"></b></a>
               <ul class="dropdown-menu">
-                <? foreach ($this->layout()->themeOptions as $current): ?>
+                <?php foreach ($this->layout()->themeOptions as $current): ?>
                   <li<?=$current['selected'] ? ' class="active"' : ''?>><a href="#" onClick="document.themeForm.ui.value='<?=$this->escapeHtmlAttr($current['name'])?>';document.themeForm.submit()"><?=$this->transEsc($current['desc'])?></a></li>
-                <? endforeach; ?>
+                <?php endforeach; ?>
               </ul>
             </li>
-          <? endif; ?>
+          <?php endif; ?>
 
-          <? if (isset($this->layout()->allLangs) && count($this->layout()->allLangs) > 1): ?>
+          <?php if (isset($this->layout()->allLangs) && count($this->layout()->allLangs) > 1): ?>
             <li class="language dropdown">
               <form method="post" name="langForm" id="langForm">
                 <input type="hidden" name="mylang"/>
               </form>
               <a href="#" class="dropdown-toggle" data-toggle="dropdown"><?=$this->transEsc("Language")?> <b class="caret"></b></a>
               <ul class="dropdown-menu">
-                <? foreach ($this->layout()->allLangs as $langCode => $langName): ?>
+                <?php foreach ($this->layout()->allLangs as $langCode => $langName): ?>
                   <li<?=$this->layout()->userLang == $langCode ? ' class="active"' : ''?>><a href="#" onClick="document.langForm.mylang.value='<?=$langCode?>';document.langForm.submit()"><?=$this->displayLanguageOption($langName)?></a></li>
-                <? endforeach; ?>
+                <?php endforeach; ?>
               </ul>
             </li>
-          <? endif; ?>
+          <?php endif; ?>
         </ul>
       </nav>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
-<? if ($this->layout()->searchbox !== false): ?>
+<?php if ($this->layout()->searchbox !== false): ?>
   <div class="search container navbar">
     <nav class="nav searchbox hidden-print">
       <?=$this->layout()->searchbox ?>
     </nav>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/help/home.phtml b/themes/bootstrap3/templates/help/home.phtml
index 82e08b7db1f..9b159585c60 100644
--- a/themes/bootstrap3/templates/help/home.phtml
+++ b/themes/bootstrap3/templates/help/home.phtml
@@ -1,9 +1,9 @@
-<? $this->headTitle($this->translate('Help')); ?>
-<? if ($help = $this->helpText()->render($topic)): ?>
-  <? foreach ($this->helpText()->getWarnings() as $warning): ?>
+<?php $this->headTitle($this->translate('Help')); ?>
+<?php if ($help = $this->helpText()->render($topic)): ?>
+  <?php foreach ($this->helpText()->getWarnings() as $warning): ?>
     <p class="alert alert-warning"><?=$this->transEsc($warning)?></p>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <?=$help?>
-<? else: ?>
+<?php else: ?>
   <p class="alert alert-danger"><?=$this->transEsc('help_page_missing')?></p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/install/disabled.phtml b/themes/bootstrap3/templates/install/disabled.phtml
index dad2251b86a..32f495075c8 100644
--- a/themes/bootstrap3/templates/install/disabled.phtml
+++ b/themes/bootstrap3/templates/install/disabled.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
diff --git a/themes/bootstrap3/templates/install/done.phtml b/themes/bootstrap3/templates/install/done.phtml
index 52faf30cff8..575aeb84bb4 100644
--- a/themes/bootstrap3/templates/install/done.phtml
+++ b/themes/bootstrap3/templates/install/done.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
diff --git a/themes/bootstrap3/templates/install/fixbasicconfig.phtml b/themes/bootstrap3/templates/install/fixbasicconfig.phtml
index 0f880ec9dce..f6c9f069f5a 100644
--- a/themes/bootstrap3/templates/install/fixbasicconfig.phtml
+++ b/themes/bootstrap3/templates/install/fixbasicconfig.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
@@ -7,7 +7,7 @@
 ?>
 <h2><?=$this->transEsc('auto_configure_title')?></h2>
 
-<? if (isset($this->configDir)): ?>
+<?php if (isset($this->configDir)): ?>
   <p>VuFind cannot write to <b><?=$this->escapeHtml($this->configDir)?></b>.</p>
 
   <p>Please make sure that write permissions are available on this directory.</p>
@@ -15,12 +15,12 @@
   <p>In Linux, try this command (note that you may need to prefix with "sudo" on some flavors):</p>
 
   <pre>
-    <? if (isset($this->runningUser)): ?>
+    <?php if (isset($this->runningUser)): ?>
       chown <?=$this->escapeHtml($this->runningUser)?>:<?=$this->escapeHtml($this->runningUser)?> <?=$this->escapeHtml($this->configDir)?>
-    <? else: ?>
+    <?php else: ?>
       chmod 777 <?=$this->escapeHtml($this->configDir)?>
-    <? endif; ?>
+    <?php endif; ?>
   </pre>
-<? else: ?>
+<?php else: ?>
   <p>Your configuration has been successfully updated.</p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/install/fixcache.phtml b/themes/bootstrap3/templates/install/fixcache.phtml
index 16ce644addf..9f91069c99b 100644
--- a/themes/bootstrap3/templates/install/fixcache.phtml
+++ b/themes/bootstrap3/templates/install/fixcache.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
@@ -14,9 +14,9 @@
 <p>In Linux, try this command (note that you may need to prefix with "sudo" on some flavors):</p>
 
 <pre>
-  <? if (isset($this->runningUser)): ?>
+  <?php if (isset($this->runningUser)): ?>
     chown <?=$this->escapeHtml($this->runningUser)?>:<?=$this->escapeHtml($this->runningUser)?> <?=$this->escapeHtml($this->cacheDir)?>
-  <? else: ?>
+  <?php else: ?>
     chmod 777 <?=$this->escapeHtml($this->cacheDir)?>
-  <? endif; ?>
+  <?php endif; ?>
 </pre>
diff --git a/themes/bootstrap3/templates/install/fixdatabase.phtml b/themes/bootstrap3/templates/install/fixdatabase.phtml
index c2752823070..5696a87848d 100644
--- a/themes/bootstrap3/templates/install/fixdatabase.phtml
+++ b/themes/bootstrap3/templates/install/fixdatabase.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
@@ -16,7 +16,7 @@
     <label class="control-label" for="dbname">Select database type:</label>
     <select name="driver" class="form-control">
       <option value="mysql">MySQL</option>
-      <option <? if ($driver == 'pgsql'): ?>selected="selected" <? endif; ?>value="pgsql">PostgreSQL</option>
+      <option <?php if ($driver == 'pgsql'): ?>selected="selected" <?php endif; ?>value="pgsql">PostgreSQL</option>
     </select>
   </div>
   <div class="form-group">
diff --git a/themes/bootstrap3/templates/install/fixdependencies.phtml b/themes/bootstrap3/templates/install/fixdependencies.phtml
index bf4443c1510..8ea6bf9343d 100644
--- a/themes/bootstrap3/templates/install/fixdependencies.phtml
+++ b/themes/bootstrap3/templates/install/fixdependencies.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
@@ -9,4 +9,4 @@
 
 <?=$this->flashmessages()?>
 
-<? if ($this->problems == 0): ?><p><?=$this->transEsc('No dependency problems found') ?>.</p><? endif; ?>
+<?php if ($this->problems == 0): ?><p><?=$this->transEsc('No dependency problems found') ?>.</p><?php endif; ?>
diff --git a/themes/bootstrap3/templates/install/fixils.phtml b/themes/bootstrap3/templates/install/fixils.phtml
index 03a0e70aeee..9d8788b9d16 100644
--- a/themes/bootstrap3/templates/install/fixils.phtml
+++ b/themes/bootstrap3/templates/install/fixils.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
@@ -7,7 +7,7 @@
 ?>
 <h2><?=$this->transEsc('auto_configure_title')?></h2>
 
-<? if (isset($this->demo)): ?>
+<?php if (isset($this->demo)): ?>
   <p>You are using one of VuFind's simulated Integrated Library System (ILS) drivers, which display fake information
   in order to demonstrate the capabilities of the system.  If you want real patron and status information to display,
   you should change your configuration to communicate with a real ILS.</p>
@@ -16,9 +16,9 @@
     <div class="form-group">
       <label for="driver" class="control-label">Pick a driver:</label>
       <select id="driver" name="driver" class="form-control">
-        <? foreach ($this->drivers as $driver): ?>
+        <?php foreach ($this->drivers as $driver): ?>
           <option value="<?=$this->escapeHtmlAttr($driver)?>"><?=$this->escapeHtml($driver)?></option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
     </div>
     <div class="form-group">
@@ -28,8 +28,8 @@
 
   <p>If your ILS is not available in this list, you may be able to write your own driver.  See the
   <a href="https://vufind.org/wiki/development" target="_new">Developer Manual</a>.</p>
-<? else: ?>
+<?php else: ?>
   <p>VuFind is having trouble communicating with your Integrated Library System (ILS).  Check your configuration.
   You may need to edit the file at <strong><?=$this->escapeHtml($this->configPath)?></strong> and fill in some
   connection details.</p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/install/fixsecurity.phtml b/themes/bootstrap3/templates/install/fixsecurity.phtml
index 2c5617bf85f..cc5e0d22502 100644
--- a/themes/bootstrap3/templates/install/fixsecurity.phtml
+++ b/themes/bootstrap3/templates/install/fixsecurity.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
@@ -9,7 +9,7 @@
 
 <?=$this->flashmessages()?>
 
-<? if (isset($this->confirmUserFix) && $this->confirmUserFix): ?>
+<?php if (isset($this->confirmUserFix) && $this->confirmUserFix): ?>
   <p>You have existing user data in your database containing non-encrypted passwords.</p>
   <p>If you continue with enabling security, all of your passwords will be hashed and/or encrypted.</p>
   <p><b>Please make a database backup before proceeding.</b></p>
@@ -22,6 +22,6 @@
     <input type="submit" name="fix-user-table" value="Yes" class="btn btn-primary"/>
     <input type="submit" name="fix-user-table" value="No" class="btn btn-default"/>
   </form>
-<? else: ?>
+<?php else: ?>
   <p>No security problems found.</p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/install/fixsolr.phtml b/themes/bootstrap3/templates/install/fixsolr.phtml
index de0d99baa70..feac33ef530 100644
--- a/themes/bootstrap3/templates/install/fixsolr.phtml
+++ b/themes/bootstrap3/templates/install/fixsolr.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
diff --git a/themes/bootstrap3/templates/install/fixsslcerts.phtml b/themes/bootstrap3/templates/install/fixsslcerts.phtml
index 268b7624b5a..107241bad4c 100644
--- a/themes/bootstrap3/templates/install/fixsslcerts.phtml
+++ b/themes/bootstrap3/templates/install/fixsslcerts.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('auto_configure_title'));
 
diff --git a/themes/bootstrap3/templates/install/home.phtml b/themes/bootstrap3/templates/install/home.phtml
index a2ba043078f..1b393338756 100644
--- a/themes/bootstrap3/templates/install/home.phtml
+++ b/themes/bootstrap3/templates/install/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('auto_configure_title'));
 
@@ -7,11 +7,11 @@
 ?>
 <h2><?=$this->transEsc('auto_configure_title')?></h2>
 <?=$this->flashmessages()?>
-<? $errors = 0; foreach ($this->checks as $check): ?>
-<? if (!$check['status']) $errors++; ?>
+<?php $errors = 0; foreach ($this->checks as $check): ?>
+<?php if (!$check['status']) $errors++; ?>
   <div class="alert alert-<?=$check['status'] ? 'success':'danger'?>"><?=$this->escapeHtml($check['title'])?>... <?=$check['status'] ? $this->transEsc('test_ok') : $this->transEsc('test_fail') . ' <a class="btn btn-danger" href="' . $this->url('install-' . strtolower($check['fix'])) . '">' . $this->transEsc('test_fix') . '</a>' ?></div>
-<? endforeach; ?>
+<?php endforeach; ?>
 
-<? if ($errors == 0): ?>
+<?php if ($errors == 0): ?>
   <p>No problems were found.  You may wish to <a href="<?=$this->url('install-done')?>">Disable Auto Configuration</a> at this time.</p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/install/showsql.phtml b/themes/bootstrap3/templates/install/showsql.phtml
index 54bdc908945..6c3e7302326 100644
--- a/themes/bootstrap3/templates/install/showsql.phtml
+++ b/themes/bootstrap3/templates/install/showsql.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Install VuFind'));
 
diff --git a/themes/bootstrap3/templates/layout/layout.phtml b/themes/bootstrap3/templates/layout/layout.phtml
index 16426f10e9b..bc008cad3d4 100644
--- a/themes/bootstrap3/templates/layout/layout.phtml
+++ b/themes/bootstrap3/templates/layout/layout.phtml
@@ -1,13 +1,13 @@
 <?=$this->doctype('HTML5')?>
 <html lang="<?=$this->layout()->userLang?>">
   <head>
-    <? $this->headThemeResources(); ?>
+    <?php $this->headThemeResources(); ?>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
     <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
     <?=$this->headMeta()?>
     <?=$this->headTitle()?>
-    <?
+    <?php
       // Set up OpenSearch link:
       $this->headLink(
         [
@@ -19,12 +19,12 @@
       );
     ?>
     <!-- RTL styling -->
-    <? if ($this->layout()->rtl) {
+    <?php if ($this->layout()->rtl) {
       $this->headLink()->appendStylesheet('vendor/bootstrap-rtl.min.css');
     } ?>
     <?=$this->headLink()?>
     <?=$this->headStyle()?>
-    <?
+    <?php
       if (!isset($this->renderingError)) {
         // Add translation strings
         $this->jsTranslations()->addStrings(
@@ -108,7 +108,7 @@
           $this->headScript()->appendFile("keep_alive.js");
       }
     ?>
-    <?
+    <?php
       $root = rtrim($this->url('home'), '/');
       $translations = $this->jsTranslations()->getJSON();
       $dsb = DEFAULT_SEARCH_BACKEND;
@@ -121,8 +121,8 @@ JS;
     ?>
     <?=$this->headScript()?>
   </head>
-  <body class="template-dir-<?=$this->templateDir?> template-name-<?=$this->templateName?> <?=$this->layoutClass('offcanvas-row')?><? if ($this->layout()->rtl): ?> rtl<? endif; ?>">
-    <? // Set up the search box -- there are three possible cases:
+  <body class="template-dir-<?=$this->templateDir?> template-name-<?=$this->templateName?> <?=$this->layoutClass('offcanvas-row')?><?php if ($this->layout()->rtl): ?> rtl<?php endif; ?>">
+    <?php // Set up the search box -- there are three possible cases:
       // 1. No search box was set; we should default to the normal box
       // 2. It was set to false; we should display nothing
       // 3. It is set to a custom string; we should display the provided version
@@ -133,37 +133,37 @@ JS;
       }
     ?>
     <header class="hidden-print">
-      <? if (isset($this->layout()->srmessage)): // message for benefit of screen-reader users ?>
+      <?php if (isset($this->layout()->srmessage)): // message for benefit of screen-reader users ?>
         <span class="sr-only" role="heading" aria-level="1"><?=$this->layout()->srmessage ?></span>
-      <? endif; ?>
+      <?php endif; ?>
       <a class="sr-only" href="#content"><?=$this->transEsc('Skip to content') ?></a>
       <?=$this->render('header.phtml')?>
     </header>
     <nav class="breadcrumbs">
       <div class="container">
-        <? if((!isset($this->layout()->showBreadcrumbs) || $this->layout()->showBreadcrumbs == true)
+        <?php if((!isset($this->layout()->showBreadcrumbs) || $this->layout()->showBreadcrumbs == true)
           && !empty($this->layout()->breadcrumbs)
           && $this->layout()->breadcrumbs !== false
         ): ?>
           <ul class="breadcrumb hidden-print">
-            <? if(is_array($this->layout()->breadcrumbs)): ?>
-              <? if(count($this->layout()->breadcrumbs) > 1): ?>
+            <?php if(is_array($this->layout()->breadcrumbs)): ?>
+              <?php if(count($this->layout()->breadcrumbs) > 1): ?>
                 <?=$this->render('breadcrumbs/multi.phtml', [
                     'parents' => $this->layout()->breadcrumbs,
                     'title' => $this->layout()->title,
                     'from' => $this->layout()->from
                   ]) ?>
-              <? else: ?>
+              <?php else: ?>
                 <?=$this->render('breadcrumbs/default.phtml', [
                     'parents' => $this->layout()->breadcrumbs,
                     'title' => $this->layout()->title
                   ]) ?>
-              <? endif; ?>
-            <? else: ?>
+              <?php endif; ?>
+            <?php else: ?>
               <?=$this->layout()->breadcrumbs ?>
-            <? endif; ?>
+            <?php endif; ?>
           </ul>
-        <? endif; ?>
+        <?php endif; ?>
       </div>
     </nav>
     <div role="main" class="main">
@@ -185,8 +185,8 @@ JS;
     <div class="offcanvas-overlay" data-toggle="offcanvas"></div>
     <?=$this->googleanalytics()?>
     <?=$this->piwik()?>
-    <? if ($this->recaptcha()->active()): ?>
+    <?php if ($this->recaptcha()->active()): ?>
       <?=$this->inlineScript(\Zend\View\Helper\HeadScript::FILE, "https://www.google.com/recaptcha/api.js?onload=recaptchaOnLoad&render=explicit&hl=" . $this->layout()->userLang, 'SET')?>
-    <? endif; ?>
+    <?php endif; ?>
   </body>
 </html>
diff --git a/themes/bootstrap3/templates/libguides/results.phtml b/themes/bootstrap3/templates/libguides/results.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/libguides/results.phtml
+++ b/themes/bootstrap3/templates/libguides/results.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/librarycards/editcard.phtml b/themes/bootstrap3/templates/librarycards/editcard.phtml
index 9c2be42a724..1361cd6947b 100644
--- a/themes/bootstrap3/templates/librarycards/editcard.phtml
+++ b/themes/bootstrap3/templates/librarycards/editcard.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $pageTitle = empty($this->card->id) ? 'Add a Library Card' : "Edit Library Card";
   $this->headTitle($this->translate($pageTitle));
@@ -19,16 +19,16 @@
     <label class="control-label" for="card_name"><?=$this->transEsc('Library Card Name'); ?>:</label>
     <input id="card_name" class="form-control" type="text" name="card_name" value="<?=$this->escapeHtmlAttr($this->cardName)?>"/>
   </div>
-  <? if ($this->targets !== null): ?>
+  <?php if ($this->targets !== null): ?>
   <div class="form-group">
     <label class="control-label" for="login_target"><?=$this->transEsc('login_target')?>:</label>
     <select id="login_target" name="target" class="form-control">
-      <? foreach ($this->targets as $target): ?>
+      <?php foreach ($this->targets as $target): ?>
         <option value="<?=$this->escapeHtmlAttr($target)?>"<?=($target == $this->target ? ' selected="selected"' : '')?>><?=$this->transEsc("source_$target", null, $target)?></option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </select>
   </div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="form-group">
     <label class="control-label" for="login_username"><?=$this->transEsc('Username')?>:</label>
     <input id="login_username" type="text" name="username" value="<?=$this->escapeHtmlAttr($this->username)?>" class="form-control"/>
diff --git a/themes/bootstrap3/templates/librarycards/home.phtml b/themes/bootstrap3/templates/librarycards/home.phtml
index 33db93079dc..4a2ec14b2e1 100644
--- a/themes/bootstrap3/templates/librarycards/home.phtml
+++ b/themes/bootstrap3/templates/librarycards/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Library Cards'));
 
@@ -10,29 +10,29 @@
   <?=$this->flashmessages()?>
 
   <h2><?=$this->transEsc('Library Cards')?></h2>
-  <? if ($this->libraryCards->count() == 0): ?>
+  <?php if ($this->libraryCards->count() == 0): ?>
     <div><?=$this->transEsc('You do not have any library cards')?></div>
-  <? else: ?>
+  <?php else: ?>
     <table class="table table-striped">
       <caption class="sr-only"><?=$this->transEsc('Library Cards')?></caption>
     <tr>
       <th><?=$this->transEsc('Library Card Name')?></th>
-      <? if ($this->multipleTargets): ?>
+      <?php if ($this->multipleTargets): ?>
       <th><?=$this->transEsc('login_target')?></th>
-      <? endif; ?>
+      <?php endif; ?>
       <th><?=$this->transEsc('Username')?></th>
       <th>&nbsp;</th>
     </tr>
-    <? foreach ($this->libraryCards as $record): ?>
+    <?php foreach ($this->libraryCards as $record): ?>
       <tr>
         <td><?=$this->escapeHtml($record['card_name'])?></td>
-        <? $username = $record['cat_username']; if ($this->multipleTargets): ?>
-          <? $target = ''; ?>
-          <? if (strstr($username, '.')): ?>
-            <? list($target, $username) = explode('.', $username, 2); ?>
-          <? endif; ?>
+        <?php $username = $record['cat_username']; if ($this->multipleTargets): ?>
+          <?php $target = ''; ?>
+          <?php if (strstr($username, '.')): ?>
+            <?php list($target, $username) = explode('.', $username, 2); ?>
+          <?php endif; ?>
           <td><?=$target ? $this->transEsc("source_$target", null, $target) : '&nbsp;' ?></td>
-        <? endif; ?>
+        <?php endif; ?>
         <td><?=$this->escapeHtml($username)?></td>
         <td>
           <div class="btn-group">
@@ -47,9 +47,9 @@
           </div>
         </td>
       </tr>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     </table>
-  <? endif; ?>
+  <?php endif; ?>
 
   <div class="btn-group">
     <a href="<?=$this->url('editLibraryCard') ?>NEW" class="btn btn-link"><i class="fa fa-edit" aria-hidden="true"></i> <?=$this->transEsc('Add a Library Card')?></a>
diff --git a/themes/bootstrap3/templates/librarycards/selectcard.phtml b/themes/bootstrap3/templates/librarycards/selectcard.phtml
index c4807178ea7..ea295d90c99 100644
--- a/themes/bootstrap3/templates/librarycards/selectcard.phtml
+++ b/themes/bootstrap3/templates/librarycards/selectcard.phtml
@@ -1,10 +1,10 @@
-<? if ($this->user): ?>
-  <? $cards = $this->user->getLibraryCards(); if ($cards->count() > 1): ?>
+<?php if ($this->user): ?>
+  <?php $cards = $this->user->getLibraryCards(); if ($cards->count() > 1): ?>
     <form class="form-inline" action="<?=$this->url('librarycards-selectcard')?>" method="get">
       <label for="library_card"><?=$this->transEsc('Library Card')?></label>
       <select id="library_card" name="cardID" class="jumpMenu form-control">
-        <? foreach ($cards as $card): ?>
-          <?
+        <?php foreach ($cards as $card): ?>
+          <?php
             $target = '';
             $username = $card->cat_username;
             if (strstr($username, '.')) {
@@ -16,9 +16,9 @@
             }
           ?>
           <option value="<?=$this->escapeHtmlAttr($card->id)?>"<?=strcasecmp($card->cat_username, $this->user->cat_username) == 0 ? ' selected="selected"' : ''?>><?=$display ?></option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
       <noscript><input type="submit" class="btn btn-default" value="<?=$this->transEsc("Set")?>" /></noscript>
     </form>
-  <? endif; ?>
-<? endif; ?>
+  <?php endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/myresearch/account.phtml b/themes/bootstrap3/templates/myresearch/account.phtml
index ac81a11f783..5137e041584 100644
--- a/themes/bootstrap3/templates/myresearch/account.phtml
+++ b/themes/bootstrap3/templates/myresearch/account.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('User Account'));
 
diff --git a/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml b/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml
index 22df8cfc089..c45b65be814 100644
--- a/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml
+++ b/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml
@@ -1,8 +1,8 @@
-<? if (isset($list)): ?>
+<?php if (isset($list)): ?>
   <input type="hidden" name="listID" value="<?=$this->escapeHtmlAttr($list->id)?>" />
   <input type="hidden" name="listName" value="<?=$this->escapeHtmlAttr($list->title)?>" />
-<? endif; ?>
-<? $user = $this->auth()->isLoggedIn(); ?>
+<?php endif; ?>
+<?php $user = $this->auth()->isLoggedIn(); ?>
 <div class="bulkActionButtons">
   <div class="bulk-checkbox">
     <input type="checkbox" name="selectAll" class="checkbox-select-all" id="myresearchCheckAll"/>
@@ -10,15 +10,15 @@
   </div>
   <div class="btn-group">
     <input class="btn btn-default" type="submit" name="email" value="<?=$this->transEsc('Email')?>" title="<?=$this->transEsc('email_selected')?>"/>
-    <? if ((null !== $this->list && $this->list->editAllowed($user)) || null === $this->list && $user): ?>
+    <?php if ((null !== $this->list && $this->list->editAllowed($user)) || null === $this->list && $user): ?>
       <input class="btn btn-default" id="<?=$this->idPrefix?>delete_list_items_<?=null !== $this->list ? $this->escapeHtmlAttr($this->list->id) : ''?>" type="submit" name="delete" value="<?=$this->transEsc('Delete')?>" title="<?=$this->transEsc('delete_selected')?>"/>
-    <? endif; ?>
-    <? $exportOptions = $this->export()->getActiveFormats('bulk'); if (count($exportOptions) > 0): ?>
+    <?php endif; ?>
+    <?php $exportOptions = $this->export()->getActiveFormats('bulk'); if (count($exportOptions) > 0): ?>
       <input class="btn btn-default" type="submit" name="export" value="<?=$this->transEsc('Export')?>" title="<?=$this->transEsc('export_selected')?>"/>
-    <? endif; ?>
+    <?php endif; ?>
     <input class="btn btn-default" type="submit" name="print" value="<?=$this->transEsc('Print')?>" title="<?=$this->transEsc('print_selected')?>" data-lightbox-ignore/>
-    <? if ($this->cart()->isActive()): ?>
+    <?php if ($this->cart()->isActive()): ?>
       <input class="btn btn-default" id="<?=$this->idPrefix?>updateCart" type="submit" name="add" value="<?=$this->transEsc('Add to Book Bag')?>"/>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
 </div>
diff --git a/themes/bootstrap3/templates/myresearch/cataloglogin.phtml b/themes/bootstrap3/templates/myresearch/cataloglogin.phtml
index eed7393889c..27ad44901d2 100644
--- a/themes/bootstrap3/templates/myresearch/cataloglogin.phtml
+++ b/themes/bootstrap3/templates/myresearch/cataloglogin.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Login'));
 
@@ -8,23 +8,23 @@
     // Convenience variable:
     $offlineMode = $this->ils()->getOfflineMode();
 ?>
-<? if ($offlineMode == "ils-offline"): ?>
+<?php if ($offlineMode == "ils-offline"): ?>
   <?=$this->render('Helpers/ils-offline.phtml', ['offlineModeMsg' => 'ils_offline_login_message'])?>
-<? else: ?>
+<?php else: ?>
   <h3><?=$this->transEsc('Library Catalog Profile')?></h3>
   <?=$this->flashmessages()?>
   <p><?=$this->transEsc('cat_establish_account')?></p>
   <form method="post" action="<?=$this->serverUrl(true)?>" class="form-catalog-login">
-    <? if ($this->targets !== null): ?>
+    <?php if ($this->targets !== null): ?>
       <div class="form-group">
         <label class="control-label" for="login_target"><?=$this->transEsc('login_target')?>:</label>
         <select id="login_target" name="target" class="form-control">
-          <? foreach ($this->targets as $target): ?>
+          <?php foreach ($this->targets as $target): ?>
             <option value="<?=$this->escapeHtmlAttr($target)?>"><?=$this->transEsc("source_$target", null, $target)?></option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
     <div class="form-group">
       <label class="control-label" for="profile_cat_username"><?=$this->transEsc('Library Catalog Username')?>:</label>
       <input id="profile_cat_username" type="text" name="cat_username" value="" class="form-control"/>
@@ -37,4 +37,4 @@
       <input class="btn btn-primary" type="submit" name="processLogin" value="<?=$this->transEsc('Login')?>">
     </div>
   </form>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/myresearch/checkedout.phtml b/themes/bootstrap3/templates/myresearch/checkedout.phtml
index 135e3ceb9fe..96d1e30a62f 100644
--- a/themes/bootstrap3/templates/myresearch/checkedout.phtml
+++ b/themes/bootstrap3/templates/myresearch/checkedout.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $this->headTitle($this->translate('Checked Out Items'));
 
@@ -12,8 +12,8 @@
 
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-  <? if (!empty($this->transactions)): ?>
-    <? if ($this->renewForm): ?>
+  <?php if (!empty($this->transactions)): ?>
+    <?php if ($this->renewForm): ?>
     <form name="renewals" method="post" id="renewals">
       <div class="toolbar">
         <div class="checkbox">
@@ -25,10 +25,10 @@
           <input type="submit" class="btn btn-default" id="renewAll" name="renewAll" value="<?=$this->transEsc('renew_all')?>" />
         </div>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? if ($paginator): ?>
-      <?
+    <?php if ($paginator): ?>
+      <?php
         $end = min(
           $paginator->getAbsoluteItemNumber($paginator->getItemCountPerPage()),
           $paginator->getTotalItemCount()
@@ -40,30 +40,30 @@
         ];
       ?>
       <?=$this->translate('showing_items_of_html', $transParams); ?>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? foreach ($hiddenTransactions as $ilsDetails): ?>
-      <? if (isset($this->renewResult[$ilsDetails['item_id']])): ?>
-        <? $renewDetails = $this->renewResult[$ilsDetails['item_id']]; ?>
-        <? $prefix = isset($ilsDetails['title']) ? $ilsDetails['title'] : $ilsDetails['item_id']; ?>
-        <? if (isset($renewDetails['success']) && $renewDetails['success']): ?>
+    <?php foreach ($hiddenTransactions as $ilsDetails): ?>
+      <?php if (isset($this->renewResult[$ilsDetails['item_id']])): ?>
+        <?php $renewDetails = $this->renewResult[$ilsDetails['item_id']]; ?>
+        <?php $prefix = isset($ilsDetails['title']) ? $ilsDetails['title'] : $ilsDetails['item_id']; ?>
+        <?php if (isset($renewDetails['success']) && $renewDetails['success']): ?>
           <div class="alert alert-success"><?=$this->escapeHtml($prefix . ': ') . $this->transEsc('renew_success')?></div>
-        <? else: ?>
-          <div class="alert alert-danger"><?=$this->escapeHtml($prefix . ': ') . $this->transEsc('renew_fail')?><? if (isset($renewDetails['sysMessage'])): ?>: <?=$this->escapeHtml($renewDetails['sysMessage'])?><? endif; ?></div>
-        <? endif; ?>
-      <? endif; ?>
-      <? if (isset($ilsDetails['renewable']) && $ilsDetails['renewable'] && isset($ilsDetails['renew_details'])): ?>
-        <? $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $ilsDetails['renew_details']); ?>
+        <?php else: ?>
+          <div class="alert alert-danger"><?=$this->escapeHtml($prefix . ': ') . $this->transEsc('renew_fail')?><?php if (isset($renewDetails['sysMessage'])): ?>: <?=$this->escapeHtml($renewDetails['sysMessage'])?><?php endif; ?></div>
+        <?php endif; ?>
+      <?php endif; ?>
+      <?php if (isset($ilsDetails['renewable']) && $ilsDetails['renewable'] && isset($ilsDetails['renew_details'])): ?>
+        <?php $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $ilsDetails['renew_details']); ?>
         <input class="pull-left flip" type="hidden" name="renewAllIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['renew_details'])?>" />
-      <? endif; ?>
-    <? endforeach; ?>
+      <?php endif; ?>
+    <?php endforeach; ?>
 
-    <? $i = 0; foreach ($this->transactions as $resource): ?>
-      <? $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
+    <?php $i = 0; foreach ($this->transactions as $resource): ?>
+      <?php $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
       <div id="record<?=$this->escapeHtmlAttr($resource->getUniqueId())?>" class="result">
-        <? if ($this->renewForm): ?>
-          <? if (isset($ilsDetails['renewable']) && $ilsDetails['renewable'] && isset($ilsDetails['renew_details'])): ?>
-            <? $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $ilsDetails['renew_details']); ?>
+        <?php if ($this->renewForm): ?>
+          <?php if (isset($ilsDetails['renewable']) && $ilsDetails['renewable'] && isset($ilsDetails['renew_details'])): ?>
+            <?php $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $ilsDetails['renew_details']); ?>
             <div class="checkbox">
               <label>
                 <input class="checkbox-select-item" type="checkbox" name="renewSelectedIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['renew_details'])?>" id="checkbox_<?=$safeId?>" />
@@ -71,10 +71,10 @@
               <input type="hidden" name="selectAllIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['renew_details'])?>" />
               <input type="hidden" name="renewAllIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['renew_details'])?>" />
             </div>
-          <? endif; ?>
-        <? endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
 
-        <?
+        <?php
           $coverDetails = $this->record($resource)->getCoverDetails('checkedout', 'small', $this->recordLink()->getUrl($resource));
           $cover = $coverDetails['html'];
           $thumbnail = false;
@@ -84,15 +84,15 @@
             <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
               <?=$cover ?>
             </div>
-            <? $thumbnail = ob_get_contents(); ?>
-          <? ob_end_clean(); ?>
-        <? endif; ?>
+            <?php $thumbnail = ob_get_contents(); ?>
+          <?php ob_end_clean(); ?>
+        <?php endif; ?>
         <div class="media">
-          <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
           <div class="media-body">
-            <?
+            <?php
               // If this is a non-missing Solr record, we should display a link:
               if (is_a($resource, 'VuFind\\RecordDriver\\SolrDefault') && !is_a($resource, 'VuFind\\RecordDriver\\Missing')) {
                 $title = $resource->getTitle();
@@ -107,88 +107,88 @@
                 echo $this->transEsc('Title not available');
               }
             ?><br/>
-            <? $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
+            <?php $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
               <?=$this->transEsc('by')?>:
-              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><? if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?><br/>
-            <? endif; ?>
-            <? if (count($resource->getFormats()) > 0): ?>
+              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><?php if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?><br/>
+            <?php endif; ?>
+            <?php if (count($resource->getFormats()) > 0): ?>
               <?=$this->record($resource)->getFormatList() ?>
               <br/>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['volume'])): ?>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['volume'])): ?>
               <strong><?=$this->transEsc('Volume')?>:</strong> <?=$this->escapeHtml($ilsDetails['volume'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['publication_year'])): ?>
+            <?php if (!empty($ilsDetails['publication_year'])): ?>
               <strong><?=$this->transEsc('Year of Publication')?>:</strong> <?=$this->escapeHtml($ilsDetails['publication_year'])?>
               <br />
-            <? endif; ?>
-            <? if ($this->displayItemBarcode && !empty($ilsDetails['barcode'])): ?>
+            <?php endif; ?>
+            <?php if ($this->displayItemBarcode && !empty($ilsDetails['barcode'])): ?>
               <strong><?=$this->transEsc('Barcode')?>:</strong> <?=$this->escapeHtml($ilsDetails['barcode'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['institution_name']) && (empty($ilsDetails['borrowingLocation']) || $ilsDetails['institution_name'] != $ilsDetails['borrowingLocation'])): ?>
+            <?php if (!empty($ilsDetails['institution_name']) && (empty($ilsDetails['borrowingLocation']) || $ilsDetails['institution_name'] != $ilsDetails['borrowingLocation'])): ?>
               <strong><?=$this->transEsc('location_' . $ilsDetails['institution_name'], [], $ilsDetails['institution_name'])?></strong>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['borrowingLocation'])): ?>
+            <?php if (!empty($ilsDetails['borrowingLocation'])): ?>
               <strong><?=$this->transEsc('Borrowing Location')?>:</strong> <?=$this->transEsc('location_' . $ilsDetails['borrowingLocation'], [], $ilsDetails['borrowingLocation'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['renew'])): ?>
+            <?php if (isset($ilsDetails['renew'])): ?>
               <strong><?=$this->transEsc('Renewed')?>:</strong> <?=$this->transEsc($ilsDetails['renew'])?>
-              <? if (isset($ilsDetails['renewLimit'])): ?>
+              <?php if (isset($ilsDetails['renewLimit'])): ?>
                 / <?=$this->transEsc($ilsDetails['renewLimit'])?>
-              <? endif; ?>
+              <?php endif; ?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? $showStatus = true; ?>
+            <?php $showStatus = true; ?>
 
-            <? if (isset($this->renewResult[$ilsDetails['item_id']])): ?>
-              <? $renewDetails = $this->renewResult[$ilsDetails['item_id']]; ?>
-              <? if (isset($renewDetails['success']) && $renewDetails['success']): ?>
-                <? $showStatus = false; ?>
-                <strong><?=$this->transEsc('Due Date')?>: <?=$this->escapeHtml($renewDetails['new_date'])?> <? if (isset($renewDetails['new_time'])): ?><?=$this->escapeHtml($renewDetails['new_time'])?><? endif; ?></strong>
+            <?php if (isset($this->renewResult[$ilsDetails['item_id']])): ?>
+              <?php $renewDetails = $this->renewResult[$ilsDetails['item_id']]; ?>
+              <?php if (isset($renewDetails['success']) && $renewDetails['success']): ?>
+                <?php $showStatus = false; ?>
+                <strong><?=$this->transEsc('Due Date')?>: <?=$this->escapeHtml($renewDetails['new_date'])?> <?php if (isset($renewDetails['new_time'])): ?><?=$this->escapeHtml($renewDetails['new_time'])?><?php endif; ?></strong>
                 <div class="alert alert-success"><?=$this->transEsc('renew_success')?></div>
-              <? else: ?>
-                <strong><?=$this->transEsc('Due Date')?>: <?=$this->escapeHtml($ilsDetails['duedate'])?><? if (isset($ilsDetails['dueTime'])): ?> <?=$this->escapeHtml($ilsDetails['dueTime'])?><? endif; ?></strong>
-                <div class="alert alert-danger"><?=$this->transEsc('renew_fail')?><? if (isset($renewDetails['sysMessage'])): ?>: <?=$this->escapeHtml($renewDetails['sysMessage'])?><? endif; ?></div>
-              <? endif; ?>
-            <? else: ?>
-              <strong><?=$this->transEsc('Due Date')?>: <?=$this->escapeHtml($ilsDetails['duedate'])?><? if (isset($ilsDetails['dueTime'])): ?> <?=$this->escapeHtml($ilsDetails['dueTime'])?><? endif; ?></strong>
-              <? if ($showStatus): ?>
-                <? if (isset($ilsDetails['dueStatus']) && $ilsDetails['dueStatus'] == "overdue"): ?>
+              <?php else: ?>
+                <strong><?=$this->transEsc('Due Date')?>: <?=$this->escapeHtml($ilsDetails['duedate'])?><?php if (isset($ilsDetails['dueTime'])): ?> <?=$this->escapeHtml($ilsDetails['dueTime'])?><?php endif; ?></strong>
+                <div class="alert alert-danger"><?=$this->transEsc('renew_fail')?><?php if (isset($renewDetails['sysMessage'])): ?>: <?=$this->escapeHtml($renewDetails['sysMessage'])?><?php endif; ?></div>
+              <?php endif; ?>
+            <?php else: ?>
+              <strong><?=$this->transEsc('Due Date')?>: <?=$this->escapeHtml($ilsDetails['duedate'])?><?php if (isset($ilsDetails['dueTime'])): ?> <?=$this->escapeHtml($ilsDetails['dueTime'])?><?php endif; ?></strong>
+              <?php if ($showStatus): ?>
+                <?php if (isset($ilsDetails['dueStatus']) && $ilsDetails['dueStatus'] == "overdue"): ?>
                   <div class="alert alert-danger"><?=$this->transEsc("renew_item_overdue")?></div>
-                <? elseif (isset($ilsDetails['dueStatus']) && $ilsDetails['dueStatus'] == "due"): ?>
+                <?php elseif (isset($ilsDetails['dueStatus']) && $ilsDetails['dueStatus'] == "due"): ?>
                   <div class="alert alert-info"><?=$this->transEsc("renew_item_due")?></div>
-                <? endif; ?>
-              <? endif; ?>
-            <? endif; ?>
+                <?php endif; ?>
+              <?php endif; ?>
+            <?php endif; ?>
 
-            <? if ($showStatus && isset($ilsDetails['message']) && !empty($ilsDetails['message'])): ?>
+            <?php if ($showStatus && isset($ilsDetails['message']) && !empty($ilsDetails['message'])): ?>
               <div class="alert alert-info"><?=$this->transEsc($ilsDetails['message'])?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['renewable']) && $ilsDetails['renewable'] && isset($ilsDetails['renew_link'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['renewable']) && $ilsDetails['renewable'] && isset($ilsDetails['renew_link'])): ?>
               <a href="<?=$this->escapeHtmlAttr($ilsDetails['renew_link'])?>"><?=$this->transEsc('renew_item')?></a>
-            <? endif; ?>
+            <?php endif; ?>
           </div>
-          <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
         </div>
         <?=$resource->tryMethod('supportsCoinsOpenUrl')?'<span class="Z3988" title="' . $this->escapeHtmlAttr($resource->getCoinsOpenUrl()) . '"></span>':''?>
       </div>
-    <? endforeach; ?>
-    <? if ($this->renewForm): ?></form><? endif; ?>
+    <?php endforeach; ?>
+    <?php if ($this->renewForm): ?></form><?php endif; ?>
     <?=$paginator ? $this->paginationControl($paginator, 'Sliding', 'Helpers/pagination.phtml') : ''?>
-  <? else: ?>
+  <?php else: ?>
     <?=$this->transEsc('You do not have any items checked out')?>.
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/myresearch/controls/sort.phtml b/themes/bootstrap3/templates/myresearch/controls/sort.phtml
index 87cf4cb838e..0c24ec7c97c 100644
--- a/themes/bootstrap3/templates/myresearch/controls/sort.phtml
+++ b/themes/bootstrap3/templates/myresearch/controls/sort.phtml
@@ -2,9 +2,9 @@
   <form class="search-sort" action="<?=$this->currentPath()?>" method="get" name="sort">
     <label for="sort_options_1"><?=$this->transEsc('Sort')?></label>
     <select id="sort_options_1" name="sort" class="jumpMenu form-control">
-      <? foreach ($this->sortList as $sortType => $sortData): ?>
+      <?php foreach ($this->sortList as $sortType => $sortData): ?>
         <option value="<?=$this->escapeHtmlAttr($sortType)?>"<?=$sortData['selected']?' selected="selected"':''?>><?=$this->transEsc($sortData['desc'])?></option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </select>
     <noscript><input type="submit" class="btn btn-default" value="<?=$this->transEsc("Set")?>" /></noscript>
   </form>
diff --git a/themes/bootstrap3/templates/myresearch/delete.phtml b/themes/bootstrap3/templates/myresearch/delete.phtml
index 5829c92163f..269608ed02d 100644
--- a/themes/bootstrap3/templates/myresearch/delete.phtml
+++ b/themes/bootstrap3/templates/myresearch/delete.phtml
@@ -2,21 +2,21 @@
  <form action="<?=$this->url('myresearch-delete')?>" method="post" name="bulkDelete" data-lightbox-onclose="VuFind.refreshPage">
   <div id="popupMessages"><?=$this->flashmessages()?></div>
   <div id="popupDetails">
-    <? if (!$this->list): ?>
+    <?php if (!$this->list): ?>
       <div class="alert alert-info"><?=$this->transEsc("fav_delete_warn") ?></div>
-    <? else: ?>
+    <?php else: ?>
       <h3><?=$this->transEsc("List") ?>: <?=$this->escapeHtml($this->list->title) ?></h3>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? foreach ($this->records as $favorite): ?>
+    <?php foreach ($this->records as $favorite): ?>
       <strong><?=$this->transEsc('Title') ?>:</strong>
       <?=$this->escapeHtml($favorite->getBreadcrumb())?><br />
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <br />
     <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Delete')?>"/>
-    <? foreach ($this->deleteIDS as $deleteID): ?>
+    <?php foreach ($this->deleteIDS as $deleteID): ?>
       <input type="hidden" name="ids[]" value="<?=$this->escapeHtmlAttr($deleteID)?>" />
-    <? endforeach; ?>
+    <?php endforeach; ?>
       <input type="hidden" name="listID" value="<?=$this->list?$this->escapeHtmlAttr($this->list->id):''?>" />
   </div>
 </form>
diff --git a/themes/bootstrap3/templates/myresearch/edit.phtml b/themes/bootstrap3/templates/myresearch/edit.phtml
index 121f6b544ee..a1ff334e21c 100644
--- a/themes/bootstrap3/templates/myresearch/edit.phtml
+++ b/themes/bootstrap3/templates/myresearch/edit.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $this->headTitle($this->translate('Edit') . ' : ' . $this->driver->getBreadcrumb());
 
@@ -9,27 +9,27 @@
   <h2><?=$this->escapeHtml($this->driver->getBreadcrumb())?></h2>
 
   <form class="form-list-edit" method="post" name="editForm">
-  <? if (empty($this->savedData)): ?>
+  <?php if (empty($this->savedData)): ?>
     <p class="alert alert-info">
-      <? if (isset($listFilter)): ?>
+      <?php if (isset($listFilter)): ?>
         <?=$this->transEsc('The record you selected is not part of the selected list.') ?>
-      <? else: ?>
+      <?php else: ?>
         <?=$this->transEsc('The record you selected is not part of any of your lists.') ?>
-      <? endif; ?>
+      <?php endif; ?>
     </p>
-  <? else: ?>
+  <?php else: ?>
     <div class="list-edit-container">
-      <? foreach ($this->savedData as $i => $current): ?>
+      <?php foreach ($this->savedData as $i => $current): ?>
         <fieldset class="list-edit-group">
           <h3><?=$this->transEsc('List') ?>: <?=$this->escapeHtml($current['listTitle'])?></h3>
           <input type="hidden" name="lists[]" value="<?=$current['listId'] ?>"/>
-          <? if ($this->usertags()->getMode() !== 'disabled'): ?>
+          <?php if ($this->usertags()->getMode() !== 'disabled'): ?>
             <div class="form-group">
               <label class="control-label" for="edit_tags<?=$current['listId'] ?>"><?=$this->transEsc('Tags') ?>:</label>
               <input type="text" name="tags<?=$current['listId'] ?>" id="edit_tags<?=$current['listId'] ?>" class="form-control" value="<?=$this->escapeHtmlAttr($current['tags'])?>"/>
               <span class="help-block"><?=$this->transEsc("add_tag_note") ?></span>
             </div>
-          <? endif; ?>
+          <?php endif; ?>
           <div class="form-group">
             <label class="control-label" for="edit_notes<?=$current['listId'] ?>"><?=$this->transEsc('Notes') ?>:</label>
             <textarea class="form-control" id="edit_notes<?=$current['listId'] ?>" name="notes<?=$current['listId'] ?>" rows="3"><?=$this->escapeHtml($current['notes'])?></textarea>
@@ -38,24 +38,24 @@
             <i class="fa fa-trash"></i> <?=$this->transEsc('delete') /* TODO: replace with better string */ ?>
           </a>
         </fieldset>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endif; ?>
-  <? if (count($this->lists) > 0): ?>
+  <?php endif; ?>
+  <?php if (count($this->lists) > 0): ?>
     <hr/>
     <div class="form-group">
       <select name="addToList" class="form-control">
         <option value="-1">- <?=$this->transEsc('Add to another list')?> -</option>
-        <? foreach ($this->lists as $listID => $listTitle): ?>
+        <?php foreach ($this->lists as $listID => $listTitle): ?>
           <option value="<?=$listID ?>"><?=$this->escapeHtml($listTitle) ?></option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
     </div>
-  <? endif; ?>
-  <? if (!empty($this->savedData) || count($this->lists) > 0): ?>
+  <?php endif; ?>
+  <?php if (!empty($this->savedData) || count($this->lists) > 0): ?>
     <div class="form-group">
       <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Save') ?>"/>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   </form>
 </div>
diff --git a/themes/bootstrap3/templates/myresearch/editlist.phtml b/themes/bootstrap3/templates/myresearch/editlist.phtml
index df9daf9b89f..1bd67d0d147 100644
--- a/themes/bootstrap3/templates/myresearch/editlist.phtml
+++ b/themes/bootstrap3/templates/myresearch/editlist.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $pageTitle = empty($this->list->id) ? 'Create a List' : "edit_list";
   $this->headTitle($this->translate($pageTitle));
@@ -22,25 +22,25 @@
     <label class="control-label" for="list_desc"><?=$this->transEsc('Description') ?></label>
     <textarea id="list_desc" class="form-control" name="desc" rows="3"><?=isset($this->list['description']) ? $this->escapeHtml($this->list['description']) : ''?></textarea>
   </div>
-  <? if ($this->userlist()->getMode() === 'public_only'): ?>
+  <?php if ($this->userlist()->getMode() === 'public_only'): ?>
     <input type="hidden" name="public" value="1" />
-  <? elseif ($this->userlist()->getMode() === 'private_only'): ?>
+  <?php elseif ($this->userlist()->getMode() === 'private_only'): ?>
     <input type="hidden" name="public" value="0" />
-  <? else: ?>
+  <?php else: ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc('Access') ?></label>
       <div class="radio inline">
         <label>
-          <input id="list_public_1" type="radio" name="public" value="1"<? if ($this->list->isPublic()): ?> checked="checked"<? endif; ?>/> <?=$this->transEsc('Public') ?>
+          <input id="list_public_1" type="radio" name="public" value="1"<?php if ($this->list->isPublic()): ?> checked="checked"<?php endif; ?>/> <?=$this->transEsc('Public') ?>
         </label>
       </div>
       <div class="radio inline">
         <label>
-          <input id="list_public_0" type="radio" name="public" value="0"<? if (!$this->list->isPublic()): ?> checked="checked"<? endif; ?>/> <?=$this->transEsc('Private') ?>
+          <input id="list_public_0" type="radio" name="public" value="0"<?php if (!$this->list->isPublic()): ?> checked="checked"<?php endif; ?>/> <?=$this->transEsc('Private') ?>
         </label>
       </div>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <div class="form-group">
     <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Save') ?>"/>
   </div>
diff --git a/themes/bootstrap3/templates/myresearch/fines.phtml b/themes/bootstrap3/templates/myresearch/fines.phtml
index 9c15fee77a9..bd71880b490 100644
--- a/themes/bootstrap3/templates/myresearch/fines.phtml
+++ b/themes/bootstrap3/templates/myresearch/fines.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('My Fines'));
 
@@ -11,9 +11,9 @@
 
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-  <? if (empty($this->fines)): ?>
+  <?php if (empty($this->fines)): ?>
     <?=$this->transEsc('You do not have any fines')?>
-  <? else: ?>
+  <?php else: ?>
     <table class="table table-striped">
       <caption class="sr-only"><?=$this->transEsc('Your Fines')?></caption>
     <tr>
@@ -24,17 +24,17 @@
       <th><?=$this->transEsc('Fee')?></th>
       <th><?=$this->transEsc('Balance')?></th>
     </tr>
-    <? $totalDue = 0; ?>
-    <? foreach ($this->fines as $record): ?>
+    <?php $totalDue = 0; ?>
+    <?php foreach ($this->fines as $record): ?>
       <tr>
         <td>
-          <? if (empty($record['title'])): ?>
+          <?php if (empty($record['title'])): ?>
             <?=$this->transEsc('not_applicable')?>
-          <? elseif (!isset($record['driver']) || !is_object($record['driver'])): ?>
+          <?php elseif (!isset($record['driver']) || !is_object($record['driver'])): ?>
             <?=$this->escapeHtml(trim($record['title'], '/:'))?>
-          <? else: ?>
+          <?php else: ?>
             <a href="<?=$this->recordLink()->getUrl($record['driver'])?>"><?=$this->escapeHtml(trim($record['title'], '/:'))?></a>
-          <? endif; ?>
+          <?php endif; ?>
         </td>
         <td><?=isset($record['checkout']) ? $this->escapeHtml($record['checkout']) : ''?></td>
         <td><?=isset($record['duedate']) ? $this->escapeHtml($record['duedate']) : ''?></td>
@@ -42,11 +42,11 @@
         <td><?=isset($record['amount']) ? $this->safeMoneyFormat($record['amount'] / 100.00) : ''?></td>
         <td><?=isset($record['balance']) ? $this->safeMoneyFormat($record['balance'] / 100.00) : ''?></td>
       </tr>
-      <? $totalDue += $record['balance']; ?>
-    <? endforeach; ?>
+      <?php $totalDue += $record['balance']; ?>
+    <?php endforeach; ?>
       <tr style="font-weight:bold"><td colspan="5"><?=$this->transEsc('Total Balance Due')?></td><td><?=$this->safeMoneyFormat($totalDue / 100.00) ?></td></tr>
     </table>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/myresearch/historicloans.phtml b/themes/bootstrap3/templates/myresearch/historicloans.phtml
index a5a78967b72..d6e55653e0d 100644
--- a/themes/bootstrap3/templates/myresearch/historicloans.phtml
+++ b/themes/bootstrap3/templates/myresearch/historicloans.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $this->headTitle($this->translate('Loan History'));
 
@@ -12,11 +12,11 @@
 
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-  <? if (!empty($this->transactions)): ?>
+  <?php if (!empty($this->transactions)): ?>
     <nav class="search-header hidden-print">
-      <? if ($this->paginator): ?>
+      <?php if ($this->paginator): ?>
         <div class="search-stats">
-          <?
+          <?php
             $end = min(
               $this->paginator->getAbsoluteItemNumber($this->paginator->getItemCountPerPage()),
               $this->paginator->getTotalItemCount()
@@ -29,16 +29,16 @@
           ?>
           <?=$this->translate('showing_items_of_html', $transParams); ?>
         </div>
-      <? endif; ?>
-      <? if ($this->sortList): ?>
+      <?php endif; ?>
+      <?php if ($this->sortList): ?>
         <?=$this->context($this)->renderInContext('myresearch/controls/sort.phtml', ['sortList' => $this->sortList]); ?>
-      <? endif; ?>
+      <?php endif; ?>
     </nav>
 
-    <? $i = 0; foreach ($this->transactions as $resource): ?>
-      <? $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
+    <?php $i = 0; foreach ($this->transactions as $resource): ?>
+      <?php $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
       <div id="record<?=$this->escapeHtmlAttr($resource->getUniqueId())?>" class="result">
-        <?
+        <?php
           $coverDetails = $this->record($resource)->getCoverDetails('checkedout', 'small', $this->recordLink()->getUrl($resource));
           $cover = $coverDetails['html'];
           $thumbnail = false;
@@ -48,15 +48,15 @@
             <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
               <?=$cover ?>
             </div>
-            <? $thumbnail = ob_get_contents();
+            <?php $thumbnail = ob_get_contents();
             ob_end_clean();
           endif; ?>
         <div class="media">
-          <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
           <div class="media-body">
-            <?
+            <?php
               // If this is a non-missing Solr record, we should display a link:
               if (is_a($resource, 'VuFind\\RecordDriver\\SolrDefault') && !is_a($resource, 'VuFind\\RecordDriver\\Missing')) {
                 $title = $resource->getTitle();
@@ -71,59 +71,59 @@
                 echo $this->transEsc('Title not available');
               }
             ?><br/>
-            <? $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
+            <?php $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
               <?=$this->transEsc('by')?>:
-              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><? if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?><br/>
-            <? endif; ?>
-            <? if (count($resource->getFormats()) > 0): ?>
+              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><?php if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?><br/>
+            <?php endif; ?>
+            <?php if (count($resource->getFormats()) > 0): ?>
               <?=$this->record($resource)->getFormatList() ?>
               <br/>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['volume'])): ?>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['volume'])): ?>
               <strong><?=$this->transEsc('Volume')?>:</strong> <?=$this->escapeHtml($ilsDetails['volume'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['publication_year'])): ?>
+            <?php if (!empty($ilsDetails['publication_year'])): ?>
               <strong><?=$this->transEsc('Year of Publication')?>:</strong> <?=$this->escapeHtml($ilsDetails['publication_year'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['institution_name']) && (empty($ilsDetails['borrowingLocation']) || $ilsDetails['institution_name'] != $ilsDetails['borrowingLocation'])): ?>
+            <?php if (!empty($ilsDetails['institution_name']) && (empty($ilsDetails['borrowingLocation']) || $ilsDetails['institution_name'] != $ilsDetails['borrowingLocation'])): ?>
               <strong><?=$this->transEsc('location_' . $ilsDetails['institution_name'], [], $ilsDetails['institution_name'])?></strong>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['borrowingLocation'])): ?>
+            <?php if (!empty($ilsDetails['borrowingLocation'])): ?>
               <strong><?=$this->transEsc('Borrowing Location')?>:</strong> <?=$this->transEsc('location_' . $ilsDetails['borrowingLocation'], [], $ilsDetails['borrowingLocation'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['checkoutDate'])): ?>
-              <strong><?=$this->transEsc('Checkout Date')?>:</strong> <?=$this->escapeHtml($ilsDetails['checkoutDate'])?><? if (isset($ilsDetails['checkoutTime'])): ?> <span class="checkout-time"><?=$this->escapeHtml($ilsDetails['checkoutTime'])?><? endif; ?></span><br/>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['returnDate'])): ?>
-              <strong><?=$this->transEsc('Return Date')?>:</strong> <?=$this->escapeHtml($ilsDetails['returnDate'])?><? if (isset($ilsDetails['returnTime'])): ?> <span class="return-time"><?=$this->escapeHtml($ilsDetails['returnTime'])?><? endif; ?></span><br/>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['dueDate'])): ?>
-              <strong><?=$this->transEsc('Due Date')?>:</strong> <?=$this->escapeHtml($ilsDetails['dueDate'])?><? if (isset($ilsDetails['dueTime'])): ?> <span class="due-time"><?=$this->escapeHtml($ilsDetails['dueTime'])?></span><? endif; ?>
-            <? endif; ?>
+            <?php if (!empty($ilsDetails['checkoutDate'])): ?>
+              <strong><?=$this->transEsc('Checkout Date')?>:</strong> <?=$this->escapeHtml($ilsDetails['checkoutDate'])?><?php if (isset($ilsDetails['checkoutTime'])): ?> <span class="checkout-time"><?=$this->escapeHtml($ilsDetails['checkoutTime'])?><?php endif; ?></span><br/>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['returnDate'])): ?>
+              <strong><?=$this->transEsc('Return Date')?>:</strong> <?=$this->escapeHtml($ilsDetails['returnDate'])?><?php if (isset($ilsDetails['returnTime'])): ?> <span class="return-time"><?=$this->escapeHtml($ilsDetails['returnTime'])?><?php endif; ?></span><br/>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['dueDate'])): ?>
+              <strong><?=$this->transEsc('Due Date')?>:</strong> <?=$this->escapeHtml($ilsDetails['dueDate'])?><?php if (isset($ilsDetails['dueTime'])): ?> <span class="due-time"><?=$this->escapeHtml($ilsDetails['dueTime'])?></span><?php endif; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['message']) && !empty($ilsDetails['message'])): ?>
+            <?php if (isset($ilsDetails['message']) && !empty($ilsDetails['message'])): ?>
               <div class="alert alert-info"><?=$this->transEsc($ilsDetails['message'])?></div>
-            <? endif; ?>
+            <?php endif; ?>
           </div>
-          <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
         </div>
         <?=$resource->tryMethod('supportsCoinsOpenUrl')?'<span class="Z3988" title="' . $this->escapeHtmlAttr($resource->getCoinsOpenUrl()) . '"></span>':''?>
       </div>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <?=$this->paginator ? $this->paginationControl($this->paginator, 'Sliding', 'Helpers/pagination.phtml', ['params' => $this->params]) : ''?>
-  <? else: ?>
+  <?php else: ?>
     <?=$this->transEsc('loan_history_empty')?>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/myresearch/holds.phtml b/themes/bootstrap3/templates/myresearch/holds.phtml
index ee90c4aa7c9..1c5fc30e6e5 100644
--- a/themes/bootstrap3/templates/myresearch/holds.phtml
+++ b/themes/bootstrap3/templates/myresearch/holds.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $this->headTitle($this->translate('My Holds'));
 
@@ -13,8 +13,8 @@
 
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-  <? if (!empty($this->recordList)): ?>
-    <? if ($this->cancelForm): ?>
+  <?php if (!empty($this->recordList)): ?>
+    <?php if ($this->cancelForm): ?>
       <form name="cancelForm" class="inline" method="post" id="cancelHold">
         <input type="hidden" id="submitType" name="cancelSelected" value="1"/>
         <input type="hidden" id="cancelConfirm" name="confirm" value="0"/>
@@ -34,24 +34,24 @@
             <li><a href="#" onClick="return false;"><?=$this->transEsc('confirm_dialog_no')?></a></li>
           </ul>
         </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? $iteration = 0; ?>
-    <? foreach ($this->recordList as $resource): ?>
-      <? $iteration++; ?>
-      <? $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
+    <?php $iteration = 0; ?>
+    <?php foreach ($this->recordList as $resource): ?>
+      <?php $iteration++; ?>
+      <?php $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
       <div id="record<?=$this->escapeHtmlAttr($resource->getUniqueId()) ?>" class="result">
-        <? if ($this->cancelForm && isset($ilsDetails['cancel_details'])): ?>
-          <? $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $resource->getUniqueId()); ?>
+        <?php if ($this->cancelForm && isset($ilsDetails['cancel_details'])): ?>
+          <?php $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $resource->getUniqueId()); ?>
           <input type="hidden" name="cancelAllIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['cancel_details']) ?>" />
           <div class="checkbox">
             <label>
               <input type="checkbox" name="cancelSelectedIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['cancel_details']) ?>" id="checkbox_<?=$safeId?>" />
             </label>
           </div>
-        <? endif; ?>
+        <?php endif; ?>
 
-        <?
+        <?php
           $coverDetails = $this->record($resource)->getCoverDetails('holds', 'small', $this->recordLink()->getUrl($resource));
           $cover = $coverDetails['html'];
           $thumbnail = false;
@@ -61,15 +61,15 @@
             <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
               <?=$cover ?>
             </div>
-            <? $thumbnail = ob_get_contents(); ?>
-          <? ob_end_clean(); ?>
-        <? endif; ?>
+            <?php $thumbnail = ob_get_contents(); ?>
+          <?php ob_end_clean(); ?>
+        <?php endif; ?>
         <div class="media">
-          <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
           <div class="media-body">
-            <?
+            <?php
               // If this is a non-missing Solr record, we should display a link:
               if (is_a($resource, 'VuFind\\RecordDriver\\SolrDefault') && !is_a($resource, 'VuFind\\RecordDriver\\Missing')) {
                 $title = $resource->getTitle();
@@ -84,92 +84,92 @@
                 echo $this->transEsc('Title not available');
               }
             ?><br/>
-            <? $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
+            <?php $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
               <?=$this->transEsc('by')?>:
-              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><? if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?><br/>
-            <? endif; ?>
+              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><?php if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?><br/>
+            <?php endif; ?>
 
-            <? if (count($resource->getFormats()) > 0): ?>
+            <?php if (count($resource->getFormats()) > 0): ?>
               <?=$this->record($resource)->getFormatList() ?>
               <br/>
-            <? endif; ?>
-            <? if (isset($ilsDetails['volume']) && !empty($ilsDetails['volume'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['volume']) && !empty($ilsDetails['volume'])): ?>
               <strong><?=$this->transEsc('Volume')?>:</strong> <?=$this->escapeHtml($ilsDetails['volume'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['publication_year']) && !empty($ilsDetails['publication_year'])): ?>
+            <?php if (isset($ilsDetails['publication_year']) && !empty($ilsDetails['publication_year'])): ?>
               <strong><?=$this->transEsc('Year of Publication')?>:</strong> <?=$this->escapeHtml($ilsDetails['publication_year'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['requestGroup'])): ?>
+            <?php if (!empty($ilsDetails['requestGroup'])): ?>
               <strong><?=$this->transEsc('hold_requested_group') ?>:</strong> <?=$this->transEsc('request_group_' . $ilsDetails['requestGroup'], null, $ilsDetails['requestGroup'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? /* Depending on the ILS driver, the "location" value may be a string or an ID; figure out the best
+            <?php /* Depending on the ILS driver, the "location" value may be a string or an ID; figure out the best
                value to display... */ ?>
-            <? $pickupDisplay = ''; ?>
-            <? $pickupTranslate = false; ?>
-            <? if (isset($ilsDetails['location'])): ?>
-              <? if ($this->pickup): ?>
-                <? foreach ($this->pickup as $library): ?>
-                  <? if ($library['locationID'] == $ilsDetails['location']): ?>
-                    <? $pickupDisplay = $library['locationDisplay']; ?>
-                    <? $pickupTranslate = true; ?>
-                  <? endif; ?>
-                <? endforeach; ?>
-              <? endif; ?>
-              <? if (empty($pickupDisplay)): ?>
-                <? $pickupDisplay = $ilsDetails['location']; ?>
-              <? endif; ?>
-            <? endif; ?>
-            <? if (!empty($pickupDisplay)): ?>
+            <?php $pickupDisplay = ''; ?>
+            <?php $pickupTranslate = false; ?>
+            <?php if (isset($ilsDetails['location'])): ?>
+              <?php if ($this->pickup): ?>
+                <?php foreach ($this->pickup as $library): ?>
+                  <?php if ($library['locationID'] == $ilsDetails['location']): ?>
+                    <?php $pickupDisplay = $library['locationDisplay']; ?>
+                    <?php $pickupTranslate = true; ?>
+                  <?php endif; ?>
+                <?php endforeach; ?>
+              <?php endif; ?>
+              <?php if (empty($pickupDisplay)): ?>
+                <?php $pickupDisplay = $ilsDetails['location']; ?>
+              <?php endif; ?>
+            <?php endif; ?>
+            <?php if (!empty($pickupDisplay)): ?>
               <strong><?=$this->transEsc('pick_up_location') ?>:</strong>
               <?=$pickupTranslate ? $this->transEsc('location_' . $pickupDisplay, null, $pickupDisplay) : $this->escapeHtml($pickupDisplay)?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['create'])): ?>
+            <?php if (!empty($ilsDetails['create'])): ?>
               <strong><?=$this->transEsc('Created') ?>:</strong> <?=$this->escapeHtml($ilsDetails['create']) ?>
-              <? if (!empty($ilsDetails['expire'])): ?>|<? endif; ?>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['expire'])): ?>
+              <?php if (!empty($ilsDetails['expire'])): ?>|<?php endif; ?>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['expire'])): ?>
               <strong><?=$this->transEsc('Expires') ?>:</strong> <?=$this->escapeHtml($ilsDetails['expire']) ?>
-            <? endif; ?>
+            <?php endif; ?>
             <br />
 
-            <? if (isset($this->cancelResults['items'])): ?>
-              <? foreach ($this->cancelResults['items'] as $itemId => $cancelResult): ?>
-                <? if ($itemId == $ilsDetails['item_id'] && $cancelResult['success'] == false): ?>
-                  <div class="alert alert-danger"><?=$this->transEsc($cancelResult['status']) ?><? if ($cancelResult['sysMessage']) echo ' : ' . $this->transEsc($cancelResult['sysMessage']); ?></div>
-                <? endif; ?>
-              <? endforeach; ?>
-            <? endif; ?>
+            <?php if (isset($this->cancelResults['items'])): ?>
+              <?php foreach ($this->cancelResults['items'] as $itemId => $cancelResult): ?>
+                <?php if ($itemId == $ilsDetails['item_id'] && $cancelResult['success'] == false): ?>
+                  <div class="alert alert-danger"><?=$this->transEsc($cancelResult['status']) ?><?php if ($cancelResult['sysMessage']) echo ' : ' . $this->transEsc($cancelResult['sysMessage']); ?></div>
+                <?php endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['available']) && $ilsDetails['available'] == true): ?>
+            <?php if (isset($ilsDetails['available']) && $ilsDetails['available'] == true): ?>
               <div class="text-success"><?=$this->transEsc("hold_available") ?></div>
-            <? elseif (isset($ilsDetails['in_transit']) && $ilsDetails['in_transit']): ?>
+            <?php elseif (isset($ilsDetails['in_transit']) && $ilsDetails['in_transit']): ?>
               <div class="text-success"><?=$this->transEsc('request_in_transit') . (is_string($ilsDetails['in_transit']) ? ': ' . $this->transEsc('institution_' . $ilsDetails['in_transit'], [], $ilsDetails['in_transit']) : '') ?></div>
-            <? elseif (isset($ilsDetails['position'])): ?>
+            <?php elseif (isset($ilsDetails['position'])): ?>
               <p><strong><?=$this->transEsc("hold_queue_position") ?>:</strong> <?=$this->escapeHtml($ilsDetails['position']) ?></p>
-            <? endif; ?>
-            <? if (isset($ilsDetails['cancel_link'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['cancel_link'])): ?>
               <p><a href="<?=$this->escapeHtmlAttr($ilsDetails['cancel_link']) ?>"><?=$this->transEsc("hold_cancel") ?></a></p>
-            <? endif; ?>
+            <?php endif; ?>
           </div>
-          <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
         </div>
         <?=$resource->tryMethod('supportsCoinsOpenUrl')?'<span class="Z3988" title="' . $this->escapeHtmlAttr($resource->getCoinsOpenUrl()) . '"></span>':''?>
       </div>
-    <? endforeach; ?>
-    <? if ($this->cancelForm): ?></form><? endif; ?>
-  <? else: ?>
+    <?php endforeach; ?>
+    <?php if ($this->cancelForm): ?></form><?php endif; ?>
+  <?php else: ?>
     <?=$this->transEsc('You do not have any holds or recalls placed') ?>.
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/myresearch/illrequests.phtml b/themes/bootstrap3/templates/myresearch/illrequests.phtml
index 88f2266de58..d880f395d51 100644
--- a/themes/bootstrap3/templates/myresearch/illrequests.phtml
+++ b/themes/bootstrap3/templates/myresearch/illrequests.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Interlibrary Loan Requests'));
 
@@ -13,8 +13,8 @@
 
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-  <? if (!empty($this->recordList)): ?>
-    <? if ($this->cancelForm): ?>
+  <?php if (!empty($this->recordList)): ?>
+    <?php if ($this->cancelForm): ?>
       <form name="cancelForm" class="inline" method="post" id="cancelILLRequest">
         <input type="hidden" id="submitType" name="cancelSelected" value="1"/>
         <input type="hidden" id="cancelConfirm" name="confirm" value="0"/>
@@ -34,24 +34,24 @@
             <li><a href="#" onClick="return false;"><?=$this->transEsc('confirm_dialog_no')?></a></li>
           </ul>
         </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? $iteration = 0; ?>
-    <? foreach ($this->recordList as $resource): ?>
-      <? $iteration++; ?>
-      <? $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
+    <?php $iteration = 0; ?>
+    <?php foreach ($this->recordList as $resource): ?>
+      <?php $iteration++; ?>
+      <?php $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
       <div id="record<?=$this->escapeHtmlAttr($resource->getUniqueId()) ?>" class="result">
-        <? if ($this->cancelForm && isset($ilsDetails['cancel_details'])): ?>
-          <? $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $resource->getUniqueId()); ?>
+        <?php if ($this->cancelForm && isset($ilsDetails['cancel_details'])): ?>
+          <?php $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $resource->getUniqueId()); ?>
           <div class="checkbox">
             <input type="hidden" name="cancelAllIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['cancel_details']) ?>" />
             <label>
               <input type="checkbox" name="cancelSelectedIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['cancel_details']) ?>" id="checkbox_<?=$safeId?>" />
             </label>
           </div>
-        <? endif; ?>
+        <?php endif; ?>
 
-        <?
+        <?php
           $coverDetails = $this->record($resource)->getCoverDetails('illrequests', 'small', $this->recordLink()->getUrl($resource));
           $cover = $coverDetails['html'];
           $thumbnail = false;
@@ -61,15 +61,15 @@
             <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
               <?=$cover ?>
             </div>
-            <? $thumbnail = ob_get_contents(); ?>
-          <? ob_end_clean(); ?>
-        <? endif; ?>
+            <?php $thumbnail = ob_get_contents(); ?>
+          <?php ob_end_clean(); ?>
+        <?php endif; ?>
         <div class="media">
-          <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
           <div class="media-body">
-            <?
+            <?php
               // If this is a non-missing Solr record, we should display a link:
               if (is_a($resource, 'VuFind\\RecordDriver\\SolrDefault') && !is_a($resource, 'VuFind\\RecordDriver\\Missing')) {
                 $title = $resource->getTitle();
@@ -84,92 +84,92 @@
                 echo $this->transEsc('Title not available');
               }
             ?><br/>
-            <? $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
+            <?php $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
               <?=$this->transEsc('by')?>:
-              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><? if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?><br/>
-            <? endif; ?>
+              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><?php if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?><br/>
+            <?php endif; ?>
 
-            <? if (count($resource->getFormats()) > 0): ?>
+            <?php if (count($resource->getFormats()) > 0): ?>
               <?=$this->record($resource)->getFormatList() ?>
               <br/>
-            <? endif; ?>
-            <? if (isset($ilsDetails['volume']) && !empty($ilsDetails['volume'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['volume']) && !empty($ilsDetails['volume'])): ?>
               <strong><?=$this->transEsc('Volume')?>:</strong> <?=$this->escapeHtml($ilsDetails['volume'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['publication_year']) && !empty($ilsDetails['publication_year'])): ?>
+            <?php if (isset($ilsDetails['publication_year']) && !empty($ilsDetails['publication_year'])): ?>
               <strong><?=$this->transEsc('Year of Publication')?>:</strong> <?=$this->escapeHtml($ilsDetails['publication_year'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? /* Depending on the ILS driver, the "location" value may be a string or an ID; figure out the best
+            <?php /* Depending on the ILS driver, the "location" value may be a string or an ID; figure out the best
                value to display... */ ?>
-            <? $pickupDisplay = ''; ?>
-            <? $pickupTranslate = false; ?>
-            <? if (isset($ilsDetails['location'])): ?>
-              <? if ($this->pickup): ?>
-                <? foreach ($this->pickup as $library): ?>
-                  <? if ($library['locationID'] == $ilsDetails['location']): ?>
-                    <? $pickupDisplay = $library['locationDisplay']; ?>
-                    <? $pickupTranslate = true; ?>
-                  <? endif; ?>
-                <? endforeach; ?>
-              <? endif; ?>
-              <? if (empty($pickupDisplay)): ?>
-                <? $pickupDisplay = $ilsDetails['location']; ?>
-              <? endif; ?>
-            <? endif; ?>
-            <? if (!empty($pickupDisplay)): ?>
+            <?php $pickupDisplay = ''; ?>
+            <?php $pickupTranslate = false; ?>
+            <?php if (isset($ilsDetails['location'])): ?>
+              <?php if ($this->pickup): ?>
+                <?php foreach ($this->pickup as $library): ?>
+                  <?php if ($library['locationID'] == $ilsDetails['location']): ?>
+                    <?php $pickupDisplay = $library['locationDisplay']; ?>
+                    <?php $pickupTranslate = true; ?>
+                  <?php endif; ?>
+                <?php endforeach; ?>
+              <?php endif; ?>
+              <?php if (empty($pickupDisplay)): ?>
+                <?php $pickupDisplay = $ilsDetails['location']; ?>
+              <?php endif; ?>
+            <?php endif; ?>
+            <?php if (!empty($pickupDisplay)): ?>
               <strong><?=$this->transEsc('pick_up_location') ?>:</strong>
               <?=$pickupTranslate ? $this->transEsc($pickupDisplay) : $this->escapeHtml($pickupDisplay)?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['create'])): ?>
+            <?php if (!empty($ilsDetails['create'])): ?>
               <strong><?=$this->transEsc('Created') ?>:</strong> <?=$this->escapeHtml($ilsDetails['create']) ?>
-              <? if (!empty($ilsDetails['expire'])): ?>|<? endif; ?>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['expire'])): ?>
+              <?php if (!empty($ilsDetails['expire'])): ?>|<?php endif; ?>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['expire'])): ?>
               <strong><?=$this->transEsc('Expires') ?>:</strong> <?=$this->escapeHtml($ilsDetails['expire']) ?>
-            <? endif; ?>
+            <?php endif; ?>
             <br />
 
-            <? if (isset($this->cancelResults['items'])): ?>
-              <? foreach ($this->cancelResults['items'] as $itemId => $cancelResult): ?>
-                <? if ($itemId == $ilsDetails['item_id'] && $cancelResult['success'] == false): ?>
-                  <div class="alert alert-danger"><?=$this->transEsc($cancelResult['status']) ?><? if ($cancelResult['sysMessage']) echo ' : ' . $this->transEsc($cancelResult['sysMessage']); ?></div>
-                <? endif; ?>
-              <? endforeach; ?>
-            <? endif; ?>
+            <?php if (isset($this->cancelResults['items'])): ?>
+              <?php foreach ($this->cancelResults['items'] as $itemId => $cancelResult): ?>
+                <?php if ($itemId == $ilsDetails['item_id'] && $cancelResult['success'] == false): ?>
+                  <div class="alert alert-danger"><?=$this->transEsc($cancelResult['status']) ?><?php if ($cancelResult['sysMessage']) echo ' : ' . $this->transEsc($cancelResult['sysMessage']); ?></div>
+                <?php endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['in_transit']) && $ilsDetails['in_transit']): ?>
+            <?php if (isset($ilsDetails['in_transit']) && $ilsDetails['in_transit']): ?>
               <div class="text-success"><?=$this->transEsc("request_in_transit") . (is_string($ilsDetails['in_transit']) ? ': ' . $this->transEsc('institution_' . $ilsDetails['in_transit'], [], $ilsDetails['in_transit']) : '') ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['processed']) && $ilsDetails['processed']): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['processed']) && $ilsDetails['processed']): ?>
               <div class="text-success"><?=$this->transEsc("ill_request_processed") . (is_string($ilsDetails['processed']) ? ': ' . $ilsDetails['processed'] : '') ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['available']) && $ilsDetails['available']): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['available']) && $ilsDetails['available']): ?>
               <div class="text-success"><?=$this->transEsc("ill_request_available") ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['canceled']) && $ilsDetails['canceled']): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['canceled']) && $ilsDetails['canceled']): ?>
               <div class="text-success"><?=$this->transEsc("ill_request_canceled") . (is_string($ilsDetails['canceled']) ? ': ' . $ilsDetails['canceled'] : '') ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['cancel_link'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['cancel_link'])): ?>
               <p><a href="<?=$this->escapeHtmlAttr($ilsDetails['cancel_link']) ?>"><?=$this->transEsc("ill_request_cancel") ?></a></p>
-            <? endif; ?>
+            <?php endif; ?>
           </div>
-          <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
         </div>
         <?=$resource->tryMethod('supportsCoinsOpenUrl')?'<span class="Z3988" title="' . $this->escapeHtmlAttr($resource->getCoinsOpenUrl()) . '"></span>':''?>
       </div>
-    <? endforeach; ?>
-    <? if ($this->cancelForm): ?></form><? endif; ?>
-  <? else: ?>
+    <?php endforeach; ?>
+    <?php if ($this->cancelForm): ?></form><?php endif; ?>
+  <?php else: ?>
     <?=$this->transEsc('You do not have any interlibrary loan requests placed') ?>.
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/myresearch/login.phtml b/themes/bootstrap3/templates/myresearch/login.phtml
index 4f0e20bc161..6f0baad732c 100644
--- a/themes/bootstrap3/templates/myresearch/login.phtml
+++ b/themes/bootstrap3/templates/myresearch/login.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $this->headTitle($this->translate('Login'));
 
@@ -11,15 +11,15 @@
   $offlineMode = $this->ils()->getOfflineMode();
 ?>
 
-<? if ($offlineMode == "ils-offline"): ?>
+<?php if ($offlineMode == "ils-offline"): ?>
   <?=$this->render('Helpers/ils-offline.phtml', ['offlineModeMsg' => 'ils_offline_login_message'])?>
-<? endif; ?>
+<?php endif; ?>
 
 <h2 class="lightbox-header"><?=$this->transEsc('Login')?></h2>
 <?=$this->flashmessages()?>
 
-<? if ($hideLogin): ?>
+<?php if ($hideLogin): ?>
   <div class="alert alert-danger"><?=$this->transEsc('login_disabled')?></div>
-<? else: ?>
+<?php else: ?>
   <?=$this->auth()->getLogin()?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/myresearch/menu.phtml b/themes/bootstrap3/templates/myresearch/menu.phtml
index 4c1de81a218..71b842756e0 100644
--- a/themes/bootstrap3/templates/myresearch/menu.phtml
+++ b/themes/bootstrap3/templates/myresearch/menu.phtml
@@ -1,91 +1,91 @@
-<?
+<?php
   $user = $this->auth()->isLoggedIn();
   $patron = $user ? $this->auth()->getILSPatron() : false;
   $capabilityParams = $patron ? ['patron' => $patron] : [];
 ?>
 <h4><?=$this->transEsc('Your Account')?></h4>
 <div class="myresearch-menu">
-  <? if ($this->userlist()->getMode() !== 'disabled'): ?>
+  <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
     <a href="<?=$this->url('myresearch-favorites')?>"<?=$this->active == 'favorites' ? ' class="active"' : ''?>>
       <i class="fa fa-fw fa-star" aria-hidden="true"></i> <?=$this->transEsc('Favorites')?>
     </a>
-  <? endif; ?>
-  <? if ('ils-none' !== $this->ils()->getOfflineMode()): ?>
-    <? if ($this->ils()->checkCapability('getMyTransactions', $capabilityParams)): ?>
+  <?php endif; ?>
+  <?php if ('ils-none' !== $this->ils()->getOfflineMode()): ?>
+    <?php if ($this->ils()->checkCapability('getMyTransactions', $capabilityParams)): ?>
       <a href="<?=$this->url('myresearch-checkedout')?>"<?=$this->active == 'checkedout' ? ' class="active"' : ''?>>
         <i class="fa fa-fw fa-book" aria-hidden="true"></i> <?=$this->transEsc('Checked Out Items')?>
       </a>
-    <? endif; ?>
-    <? if ($this->ils()->checkFunction('getMyTransactionHistory', $capabilityParams)): ?>
+    <?php endif; ?>
+    <?php if ($this->ils()->checkFunction('getMyTransactionHistory', $capabilityParams)): ?>
       <a href="<?=$this->url('myresearch-historicloans')?>"<?=$this->active == 'historicloans' ? ' class="active"' : ''?>">
         <i class="fa fa-fw fa-history" aria-hidden="true"></i> <?=$this->transEsc('Loan History')?>
       </a>
-    <? endif; ?>
-    <? if ($this->ils()->checkCapability('getMyHolds', $capabilityParams)): ?>
+    <?php endif; ?>
+    <?php if ($this->ils()->checkCapability('getMyHolds', $capabilityParams)): ?>
       <a href="<?=$this->url('myresearch-holds')?>"<?=$this->active == 'holds' ? ' class="active"' : ''?>>
         <i class="fa fa-fw fa-flag" aria-hidden="true"></i> <?=$this->transEsc('Holds and Recalls')?>
       </a>
-    <? endif; ?>
-    <? if ($this->ils()->checkFunction('StorageRetrievalRequests', $capabilityParams)): ?>
+    <?php endif; ?>
+    <?php if ($this->ils()->checkFunction('StorageRetrievalRequests', $capabilityParams)): ?>
       <a href="<?=$this->url('myresearch-storageretrievalrequests')?>"<?=$this->active == 'storageRetrievalRequests' ? ' class="active"' : ''?>>
         <i class="fa fa-fw fa-archive" aria-hidden="true"></i> <?=$this->transEsc('Storage Retrieval Requests')?>
       </a>
-    <? endif; ?>
-    <? if ($this->ils()->checkFunction('ILLRequests', $capabilityParams)): ?>
+    <?php endif; ?>
+    <?php if ($this->ils()->checkFunction('ILLRequests', $capabilityParams)): ?>
     <a href="<?=$this->url('myresearch-illrequests')?>"<?=$this->active == 'ILLRequests' ? ' class="active"' : ''?>>
       <i class="fa fa-fw fa-exchange" aria-hidden="true"></i> <?=$this->transEsc('Interlibrary Loan Requests')?>
     </a>
-    <? endif; ?>
-    <? if ($this->ils()->checkCapability('getMyFines', $capabilityParams)): ?>
+    <?php endif; ?>
+    <?php if ($this->ils()->checkCapability('getMyFines', $capabilityParams)): ?>
       <a href="<?=$this->url('myresearch-fines')?>"<?=$this->active == 'fines' ? ' class="active"' : ''?>>
         <i class="fa fa-fw fa-usd" aria-hidden="true"></i> <?=$this->transEsc('Fines')?>
       </a>
-    <? endif; ?>
-    <? if ($this->ils()->checkCapability('getMyProfile', $capabilityParams)): ?>
+    <?php endif; ?>
+    <?php if ($this->ils()->checkCapability('getMyProfile', $capabilityParams)): ?>
       <a href="<?=$this->url('myresearch-profile')?>"<?=$this->active == 'profile' ? ' class="active"' : ''?>>
         <i class="fa fa-fw fa-user" aria-hidden="true"></i> <?=$this->transEsc('Profile')?>
       </a>
-    <? endif; ?>
-    <? if ($user && $user->libraryCardsEnabled()): ?>
+    <?php endif; ?>
+    <?php if ($user && $user->libraryCardsEnabled()): ?>
       <a href="<?=$this->url('librarycards-home')?>"<?=$this->active == 'librarycards' ? ' class="active"' : ''?>>
         <i class="fa fa-fw fa-barcode" aria-hidden="true"></i> <?=$this->transEsc('Library Cards')?>
       </a>
-    <? endif; ?>
-  <? endif; ?>
-  <? if ($this->accountCapabilities()->getSavedSearchSetting() === 'enabled'): ?>
+    <?php endif; ?>
+  <?php endif; ?>
+  <?php if ($this->accountCapabilities()->getSavedSearchSetting() === 'enabled'): ?>
     <a href="<?=$this->url('search-history')?>?require_login"<?=$this->active == 'history' ? ' class="active"' : ''?>>
       <i class="fa fa-fw fa-search" aria-hidden="true"></i> <?=$this->transEsc('history_saved_searches')?>
     </a>
-  <? endif; ?>
-  <? if ($user): ?>
+  <?php endif; ?>
+  <?php if ($user): ?>
     <a href="<?=$this->url('myresearch-logout')?>">
       <i class="fa fa-fw fa-sign-out" aria-hidden="true"></i> <?=$this->transEsc("Log Out")?>
     </a>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
-<? if ($user && $this->auth()->getManager()->supportsPasswordChange()): ?>
+<?php if ($user && $this->auth()->getManager()->supportsPasswordChange()): ?>
   <h4><?=$this->transEsc('Preferences')?></h4>
   <div class="myresearch-menu">
     <a href="<?=$this->url('myresearch-changepassword') ?>"<?=$this->active == 'newpassword' ? ' class="active"' : ''?>>
       <i class="fa fa-fw fa-lock" aria-hidden="true"></i> <?=$this->transEsc('Change Password') ?>
     </a>
   </div>
-<? endif; ?>
-<? if ($user && $this->userlist()->getMode() !== 'disabled'): ?>
+<?php endif; ?>
+<?php if ($user && $this->userlist()->getMode() !== 'disabled'): ?>
   <h4><?=$this->transEsc('Your Lists')?></h4>
   <div class="myresearch-menu">
     <a href="<?=$this->url('myresearch-favorites')?>"<?=$this->active == 'favorites' ? ' class="active"' : ''?>>
       <i class="fa fa-fw fa-star" aria-hidden="true"></i> <?=$this->transEsc('Your Favorites')?>
     </a>
-    <? $lists = $user->getLists() ?>
-    <? foreach ($lists as $list): ?>
+    <?php $lists = $user->getLists() ?>
+    <?php foreach ($lists as $list): ?>
       <a href="<?=$this->url('userList', ['id' => $list['id']])?>"<?=$this->active == 'list' . $list['id'] ? ' class="active"' : ''?>>
         <?=$this->escapeHtml($list['title'])?>
         <span class="badge"><?=$list->cnt ?></span>
       </a>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     <a href="<?=$this->url('editList', ['id' => 'NEW'])?>">
       <i class="fa fa-fw fa-plus" aria-hidden="true"></i> <?=$this->transEsc('Create a List') ?>
     </a>
   </div>
-<? endif ?>
+<?php endif ?>
diff --git a/themes/bootstrap3/templates/myresearch/mylist.phtml b/themes/bootstrap3/templates/myresearch/mylist.phtml
index a7579bdfc7d..33202c46afe 100644
--- a/themes/bootstrap3/templates/myresearch/mylist.phtml
+++ b/themes/bootstrap3/templates/myresearch/mylist.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Grab list object from search results (if applicable):
   $list = $this->results->getListObject();
 
@@ -31,8 +31,8 @@
   <h2><?=$list ? $this->escapeHtml($list->title) : $this->transEsc("Your Favorites")?></h2>
   <nav class="search-header hidden-print">
     <div class="search-stats">
-      <? if ($recordTotal > 0): ?>
-        <?
+      <?php if ($recordTotal > 0): ?>
+        <?php
           $transParams = [
             '%%start%%' => $this->localizedNumber($this->results->getStartRecord()),
             '%%end%%' => $this->localizedNumber($this->results->getEndRecord()),
@@ -40,11 +40,11 @@
           ];
         ?>
         <?=$this->translate('showing_items_of_html', $transParams); ?>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
     <div class="search-controls">
-      <? if (isset($list)): ?>
-        <? if ($list->editAllowed($account->isLoggedIn())): ?>
+      <?php if (isset($list)): ?>
+        <?php if ($list->editAllowed($account->isLoggedIn())): ?>
           <a href="<?=$this->url('editList', ['id' => $list->id]) ?>" class="btn btn-link"><i class="fa fa-edit" aria-hidden="true"></i> <?=$this->transEsc("edit_list")?></a>
           <div class="btn-group">
             <a class="btn btn-link dropdown-toggle" data-toggle="dropdown" href="<?=$this->url('myresearch-deletelist') ?>?listID=<?=urlencode($list->id)?>">
@@ -55,33 +55,33 @@
               <li><a href="#"><?=$this->transEsc('confirm_dialog_no')?></a></li>
             </ul>
           </div>
-        <? endif; ?>
-      <? endif; ?>
-      <? if ($recordTotal > 0): ?>
+        <?php endif; ?>
+      <?php endif; ?>
+      <?php if ($recordTotal > 0): ?>
         <?=$this->render('search/controls/limit.phtml')?>
         <?=$this->render('search/controls/sort.phtml')?>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
   </nav>
-  <? if ($list && !empty($list->description)): ?>
+  <?php if ($list && !empty($list->description)): ?>
     <p><?=$this->escapeHtml($list->description)?></p>
-  <? endif; ?>
-  <? if ($recordTotal > 0): ?>
+  <?php endif; ?>
+  <?php if ($recordTotal > 0): ?>
     <form class="form-inline" method="post" name="bulkActionForm" action="<?=$this->url('cart-myresearchbulk')?>" data-lightbox data-lightbox-onsubmit="bulkFormHandler">
       <?=$this->context($this)->renderInContext('myresearch/bulk-action-buttons.phtml', ['idPrefix' => '', 'list' => isset($list) ? $list : null, 'account' => $this->account])?>
-      <? foreach ($this->results->getResults() as $i => $current): ?>
+      <?php foreach ($this->results->getResults() as $i => $current): ?>
         <?=$this->record($current)->getListEntry($list, $user)?>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </form>
     <?=$this->paginationControl($this->results->getPaginator(), 'Sliding', 'search/pagination.phtml', ['results' => $this->results])?>
-  <? else: ?>
+  <?php else: ?>
     <p><?=$this->transEsc('You do not have any saved resources')?></p>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
   <?=$this->context($this)->renderInContext("myresearch/menu.phtml", ['active' => isset($list) ? 'list' . $list['id'] : 'favorites'])?>
-  <? foreach ($this->results->getRecommendations('side') as $current): ?>
+  <?php foreach ($this->results->getRecommendations('side') as $current): ?>
     <?=$this->recommend($current)?>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/myresearch/newpassword.phtml b/themes/bootstrap3/templates/myresearch/newpassword.phtml
index efe13c906c5..d79c622e70a 100644
--- a/themes/bootstrap3/templates/myresearch/newpassword.phtml
+++ b/themes/bootstrap3/templates/myresearch/newpassword.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Create New Password'));
 
@@ -6,18 +6,18 @@
     $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li>'
         . '<li class="active">' . $this->transEsc('Create New Password') . '</li>';
 ?>
-<? if ($this->auth()->isLoggedIn()): ?>
+<?php if ($this->auth()->isLoggedIn()): ?>
   <div class="<?=$this->layoutClass('mainbody')?>">
-<? endif; ?>
+<?php endif; ?>
 
 <h2><?=$this->transEsc('Create New Password') ?></h2>
 <?=$this->flashmessages() ?>
 
-<? if (!$this->auth()->getManager()->supportsPasswordChange($this->auth_method)): ?>
+<?php if (!$this->auth()->getManager()->supportsPasswordChange($this->auth_method)): ?>
   <div class="error"><?=$this->transEsc('recovery_new_disabled') ?></div>
-<? elseif (!isset($this->hash)): ?>
+<?php elseif (!isset($this->hash)): ?>
   <div class="error"><?=$this->transEsc('recovery_user_not_found') ?></div>
-<? else: ?>
+<?php else: ?>
   <form id="newpassword" class="form-new-password" action="<?=$this->url('myresearch-newpassword') ?>" method="post" data-toggle="validator" role="form">
     <input type="hidden" value="<?=$this->escapeHtmlAttr($this->auth()->getManager()->getCsrfHash(true))?>" name="csrf"/>
     <input type="hidden" value="<?=$this->escapeHtmlAttr($this->hash) ?>" name="hash"/>
@@ -29,11 +29,11 @@
       <input class="btn btn-primary" name="submit" type="submit" value="<?=$this->transEsc('Submit')?>" />
     </div>
   </form>
-<? endif; ?>
+<?php endif; ?>
 
-<? if ($this->auth()->isLoggedIn()): ?>
+<?php if ($this->auth()->isLoggedIn()): ?>
   </div>
   <div class="<?=$this->layoutClass('sidebar')?>">
     <?=$this->context($this)->renderInContext("myresearch/menu.phtml", ['active' => 'newpassword'])?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/myresearch/profile.phtml b/themes/bootstrap3/templates/myresearch/profile.phtml
index 495f97ba352..edc58328213 100644
--- a/themes/bootstrap3/templates/myresearch/profile.phtml
+++ b/themes/bootstrap3/templates/myresearch/profile.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('My Profile'));
 
@@ -18,7 +18,7 @@
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
   <table class="table table-striped">
-    <?
+    <?php
       echo $this->renderArray(
         $arrTemplate, $this->profile,
         [
@@ -27,24 +27,24 @@
         ]
       );
      ?>
-    <? if ($showHomeLibForm): ?>
+    <?php if ($showHomeLibForm): ?>
       <tr><th><?=$this->transEsc('Preferred Library')?>:</th>
-      <?
+      <?php
         $selected = (isset($this->profile['home_library']) && $this->profile['home_library'] != "")
             ? $this->profile['home_library'] : $this->defaultPickupLocation
       ?>
       <td>
         <form id="profile_form" class="form-inline" method="post">
           <select id="home_library" name="home_library" class="form-control">
-            <? foreach ($this->pickup as $lib): ?>
+            <?php foreach ($this->pickup as $lib): ?>
               <option value="<?=$this->escapeHtmlAttr($lib['locationID'])?>"<?=($selected == $lib['locationID'])?' selected="selected"':''?>><?=$this->transEsc('location_' . $lib['locationDisplay'], null, $lib['locationDisplay'])?></option>
-            <? endforeach; ?>
+            <?php endforeach; ?>
           </select>
           <input class="btn btn-default" type="submit" value="<?=$this->transEsc('Save')?>" />
         </form>
       </td>
-    <? endif; ?>
-    <?
+    <?php endif; ?>
+    <?php
       echo $this->renderArray(
         $arrTemplate, $this->profile,
         [
diff --git a/themes/bootstrap3/templates/myresearch/recover.phtml b/themes/bootstrap3/templates/myresearch/recover.phtml
index 4d89d789a48..704b0929cef 100644
--- a/themes/bootstrap3/templates/myresearch/recover.phtml
+++ b/themes/bootstrap3/templates/myresearch/recover.phtml
@@ -1,9 +1,9 @@
 <h2><?=$this->transEsc('recovery_title') ?></h2>
 <?=$this->flashmessages()?>
-<? if (!$this->auth()->getManager()->supportsRecovery()): ?>
+<?php if (!$this->auth()->getManager()->supportsRecovery()): ?>
   <div class="error"><?=$this->transEsc('recovery_disabled') ?></div>
-<? else: ?>
+<?php else: ?>
   <form class="form-password-recovery" method="post">
     <?=$this->auth()->getPasswordRecoveryForm() ?>
   </form>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/myresearch/storageretrievalrequests.phtml b/themes/bootstrap3/templates/myresearch/storageretrievalrequests.phtml
index 55d8460a653..412579a4f5b 100644
--- a/themes/bootstrap3/templates/myresearch/storageretrievalrequests.phtml
+++ b/themes/bootstrap3/templates/myresearch/storageretrievalrequests.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $this->headTitle($this->translate('Storage Retrieval Requests'));
 
@@ -13,8 +13,8 @@
 
   <?=$this->context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?>
 
-  <? if (!empty($this->recordList)): ?>
-    <? if ($this->cancelForm): ?>
+  <?php if (!empty($this->recordList)): ?>
+    <?php if ($this->cancelForm): ?>
       <form name="cancelForm" class="inline" method="post" id="cancelStorageRetrievalRequest">
         <input type="hidden" id="submitType" name="cancelSelected" value="1"/>
         <input type="hidden" id="cancelConfirm" name="confirm" value="0"/>
@@ -34,24 +34,24 @@
             <li><a href="#" onClick="return false;"><?=$this->transEsc('confirm_dialog_no')?></a></li>
           </ul>
         </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? $iteration = 0; ?>
-    <? foreach ($this->recordList as $resource): ?>
-      <? $iteration++; ?>
-      <? $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
+    <?php $iteration = 0; ?>
+    <?php foreach ($this->recordList as $resource): ?>
+      <?php $iteration++; ?>
+      <?php $ilsDetails = $resource->getExtraDetail('ils_details'); ?>
       <div id="record<?=$this->escapeHtmlAttr($resource->getUniqueId()) ?>" class="result">
-        <? if ($this->cancelForm && isset($ilsDetails['cancel_details'])): ?>
-          <? $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $resource->getUniqueId()); ?>
+        <?php if ($this->cancelForm && isset($ilsDetails['cancel_details'])): ?>
+          <?php $safeId = preg_replace('/[^a-zA-Z0-9]/', '', $resource->getUniqueId()); ?>
           <div class="checkbox">
             <input type="hidden" name="cancelAllIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['cancel_details']) ?>" />
             <label class="pull-left flip">
               <input type="checkbox" name="cancelSelectedIDS[]" value="<?=$this->escapeHtmlAttr($ilsDetails['cancel_details']) ?>" id="checkbox_<?=$safeId?>" />
             </label>
           </div>
-        <? endif; ?>
+        <?php endif; ?>
 
-        <?
+        <?php
           $coverDetails = $this->record($resource)->getCoverDetails('storageretrievalrequests', 'small', $this->recordLink()->getUrl($resource));
           $cover = $coverDetails['html'];
           $thumbnail = false;
@@ -61,15 +61,15 @@
             <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
               <?=$cover ?>
             </div>
-            <? $thumbnail = ob_get_contents(); ?>
-          <? ob_end_clean(); ?>
-        <? endif; ?>
+            <?php $thumbnail = ob_get_contents(); ?>
+          <?php ob_end_clean(); ?>
+        <?php endif; ?>
         <div class="media">
-          <? if ($thumbnail && $thumbnailAlignment == 'left'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
           <div class="media-body">
-            <?
+            <?php
               // If this is a non-missing Solr record, we should display a link:
               if (is_a($resource, 'VuFind\\RecordDriver\\SolrDefault') && !is_a($resource, 'VuFind\\RecordDriver\\Missing')) {
                 $title = $resource->getTitle();
@@ -84,89 +84,89 @@
                 echo $this->transEsc('Title not available');
               }
             ?><br/>
-            <? $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
+            <?php $listAuthors = $resource->getPrimaryAuthors(); if (!empty($listAuthors)): ?>
               <?=$this->transEsc('by')?>:
-              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><? if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><? endif; ?><br/>
-            <? endif; ?>
+              <a href="<?=$this->record($resource)->getLink('author', $listAuthors[0])?>"><?=$this->escapeHtml($listAuthors[0])?></a><?php if (count($listAuthors) > 1): ?>, <?=$this->transEsc('more_authors_abbrev')?><?php endif; ?><br/>
+            <?php endif; ?>
 
-            <? if (count($resource->getFormats()) > 0): ?>
+            <?php if (count($resource->getFormats()) > 0): ?>
               <?=$this->record($resource)->getFormatList() ?>
               <br/>
-            <? endif; ?>
-            <? if (isset($ilsDetails['volume']) && !empty($ilsDetails['volume'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['volume']) && !empty($ilsDetails['volume'])): ?>
               <strong><?=$this->transEsc('Volume')?>:</strong> <?=$this->escapeHtml($ilsDetails['volume'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['publication_year']) && !empty($ilsDetails['publication_year'])): ?>
+            <?php if (isset($ilsDetails['publication_year']) && !empty($ilsDetails['publication_year'])): ?>
               <strong><?=$this->transEsc('Year of Publication')?>:</strong> <?=$this->escapeHtml($ilsDetails['publication_year'])?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? /* Depending on the ILS driver, the "location" value may be a string or an ID; figure out the best
+            <?php /* Depending on the ILS driver, the "location" value may be a string or an ID; figure out the best
                value to display... */ ?>
-            <? $pickupDisplay = ''; ?>
-            <? $pickupTranslate = false; ?>
-            <? if (isset($ilsDetails['location'])): ?>
-              <? if ($this->pickup): ?>
-                <? foreach ($this->pickup as $library): ?>
-                  <? if ($library['locationID'] == $ilsDetails['location']): ?>
-                    <? $pickupDisplay = $library['locationDisplay']; ?>
-                    <? $pickupTranslate = true; ?>
-                  <? endif; ?>
-                <? endforeach; ?>
-              <? endif; ?>
-              <? if (empty($pickupDisplay)): ?>
-                <? $pickupDisplay = $ilsDetails['location']; ?>
-              <? endif; ?>
-            <? endif; ?>
-            <? if (!empty($pickupDisplay)): ?>
+            <?php $pickupDisplay = ''; ?>
+            <?php $pickupTranslate = false; ?>
+            <?php if (isset($ilsDetails['location'])): ?>
+              <?php if ($this->pickup): ?>
+                <?php foreach ($this->pickup as $library): ?>
+                  <?php if ($library['locationID'] == $ilsDetails['location']): ?>
+                    <?php $pickupDisplay = $library['locationDisplay']; ?>
+                    <?php $pickupTranslate = true; ?>
+                  <?php endif; ?>
+                <?php endforeach; ?>
+              <?php endif; ?>
+              <?php if (empty($pickupDisplay)): ?>
+                <?php $pickupDisplay = $ilsDetails['location']; ?>
+              <?php endif; ?>
+            <?php endif; ?>
+            <?php if (!empty($pickupDisplay)): ?>
               <strong><?=$this->transEsc('pick_up_location') ?>:</strong>
               <?=$pickupTranslate ? $this->transEsc($pickupDisplay) : $this->escapeHtml($pickupDisplay)?>
               <br />
-            <? endif; ?>
+            <?php endif; ?>
 
-            <? if (!empty($ilsDetails['create'])): ?>
+            <?php if (!empty($ilsDetails['create'])): ?>
               <strong><?=$this->transEsc('Created') ?>:</strong> <?=$this->escapeHtml($ilsDetails['create']) ?>
-              <? if (!empty($ilsDetails['expire'])): ?>|<? endif; ?>
-            <? endif; ?>
-            <? if (!empty($ilsDetails['expire'])): ?>
+              <?php if (!empty($ilsDetails['expire'])): ?>|<?php endif; ?>
+            <?php endif; ?>
+            <?php if (!empty($ilsDetails['expire'])): ?>
               <strong><?=$this->transEsc('Expires') ?>:</strong> <?=$this->escapeHtml($ilsDetails['expire']) ?>
-            <? endif; ?>
+            <?php endif; ?>
             <br />
 
-            <? if (isset($this->cancelResults['items'])): ?>
-              <? foreach ($this->cancelResults['items'] as $itemId => $cancelResult): ?>
-                <? if ($itemId == $ilsDetails['item_id'] && $cancelResult['success'] == false): ?>
-                  <div class="alert alert-danger"><?=$this->transEsc($cancelResult['status']) ?><? if ($cancelResult['sysMessage']) echo ' : ' . $this->transEsc($cancelResult['sysMessage']); ?></div>
-                <? endif; ?>
-              <? endforeach; ?>
-            <? endif; ?>
+            <?php if (isset($this->cancelResults['items'])): ?>
+              <?php foreach ($this->cancelResults['items'] as $itemId => $cancelResult): ?>
+                <?php if ($itemId == $ilsDetails['item_id'] && $cancelResult['success'] == false): ?>
+                  <div class="alert alert-danger"><?=$this->transEsc($cancelResult['status']) ?><?php if ($cancelResult['sysMessage']) echo ' : ' . $this->transEsc($cancelResult['sysMessage']); ?></div>
+                <?php endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
 
-            <? if (isset($ilsDetails['processed']) && $ilsDetails['processed']): ?>
+            <?php if (isset($ilsDetails['processed']) && $ilsDetails['processed']): ?>
               <div class="text-success"><?=$this->transEsc("storage_retrieval_request_processed") . (is_string($ilsDetails['processed']) ? ': ' . $ilsDetails['processed'] : '') ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['available']) && $ilsDetails['available']): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['available']) && $ilsDetails['available']): ?>
               <div class="text-success"><?=$this->transEsc("storage_retrieval_request_available") ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['canceled']) && $ilsDetails['canceled']): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['canceled']) && $ilsDetails['canceled']): ?>
               <div class="text-success"><?=$this->transEsc("storage_retrieval_request_canceled") . (is_string($ilsDetails['canceled']) ? ': ' . $ilsDetails['canceled'] : '') ?></div>
-            <? endif; ?>
-            <? if (isset($ilsDetails['cancel_link'])): ?>
+            <?php endif; ?>
+            <?php if (isset($ilsDetails['cancel_link'])): ?>
               <p><a href="<?=$this->escapeHtmlAttr($ilsDetails['cancel_link']) ?>"><?=$this->transEsc("storage_retrieval_request_cancel") ?></a></p>
-            <? endif; ?>
+            <?php endif; ?>
           </div>
-          <? if ($thumbnail && $thumbnailAlignment == 'right'): ?>
+          <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
             <?=$thumbnail ?>
-          <? endif ?>
+          <?php endif ?>
         </div>
         <?=$resource->tryMethod('supportsCoinsOpenUrl')?'<span class="Z3988" title="' . $this->escapeHtmlAttr($resource->getCoinsOpenUrl()) . '"></span>':''?>
       </div>
-    <? endforeach; ?>
-    <? if ($this->cancelForm): ?></form><? endif; ?>
-  <? else: ?>
+    <?php endforeach; ?>
+    <?php if ($this->cancelForm): ?></form><?php endif; ?>
+  <?php else: ?>
     <?=$this->transEsc('You do not have any storage retrieval requests placed') ?>.
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
 <div class="<?=$this->layoutClass('sidebar')?>">
diff --git a/themes/bootstrap3/templates/oai/home.phtml b/themes/bootstrap3/templates/oai/home.phtml
index c9f5c55ba29..5fbe86d46c8 100644
--- a/themes/bootstrap3/templates/oai/home.phtml
+++ b/themes/bootstrap3/templates/oai/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $this->headTitle($this->translate('OAI Server'));
   $this->layout()->breadcrumbs = $this->transEsc('OAI Server');
   $baseUrl = $this->url('oai-server');
diff --git a/themes/bootstrap3/templates/pazpar2/search.phtml b/themes/bootstrap3/templates/pazpar2/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/pazpar2/search.phtml
+++ b/themes/bootstrap3/templates/pazpar2/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/primo/advanced.phtml b/themes/bootstrap3/templates/primo/advanced.phtml
index 586975e45f3..3dc51bcc520 100644
--- a/themes/bootstrap3/templates/primo/advanced.phtml
+++ b/themes/bootstrap3/templates/primo/advanced.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Advanced Search'));
 
@@ -27,20 +27,20 @@
   <input type="hidden" name="join" value="AND" />
   <div class="<?=$this->layoutClass('mainbody')?>">
     <h3><?=$this->transEsc('Advanced Search')?></h3>
-    <? /* fallback to a fixed set of search groups/fields if JavaScript is turned off */ ?>
-    <? if ($groups !== false) {
+    <?php /* fallback to a fixed set of search groups/fields if JavaScript is turned off */ ?>
+    <?php if ($groups !== false) {
         $numGroups = count($groups);
       }
       if (!isset($numGroups) || $numGroups < 3) {
         $numGroups = 1;
       }
     ?>
-    <? for ($i = 0; $i < $numGroups; $i++): ?>
+    <?php for ($i = 0; $i < $numGroups; $i++): ?>
       <input type="hidden" name="bool<?=$i?>[]" value="AND" />
       <div class="primo adv-group" id="group<?=$i?>">
         <label class="primo-adv-label" id="group<?=$i?>SearchHolder"><?=$this->transEsc("adv_search_label")?>:</label>
         <div class="search-container">
-          <?
+          <?php
             if (isset($groups[$i])) {
               $currentGroup = $groups[$i]->getQueries();
               $numRows = count($currentGroup);
@@ -51,37 +51,37 @@
               $numRows = 3;
             }
           ?>
-          <? for ($j = 0; $j < $numRows; $j++): ?>
-            <? $currRow = isset($currentGroup[$j]) ? $currentGroup[$j] : false; ?>
+          <?php for ($j = 0; $j < $numRows; $j++): ?>
+            <?php $currRow = isset($currentGroup[$j]) ? $currentGroup[$j] : false; ?>
             <div class="search">
               <select id="search_type<?=$i?>_<?=$j?>" name="type<?=$i?>[]" class="form-control">
-                <? foreach ($this->options->getAdvancedHandlers() as $searchVal => $searchDesc): ?>
+                <?php foreach ($this->options->getAdvancedHandlers() as $searchVal => $searchDesc): ?>
                   <option value="<?=$this->escapeHtmlAttr($searchVal)?>"<?=($currRow && $currRow->getHandler() == $searchVal)?' selected="selected"':''?>><?=$this->transEsc($searchDesc)?></option>
-                <? endforeach; ?>
+                <?php endforeach; ?>
               </select>
               <select name="op<?=$i?>[]" id="searchForm_op<?=$i?>_<?=$j?>" class="form-control">
-                <? foreach ($this->options->getAdvancedOperators() as $searchVal => $searchDesc): ?>
+                <?php foreach ($this->options->getAdvancedOperators() as $searchVal => $searchDesc): ?>
                   <option value="<?=$this->escapeHtmlAttr($searchVal)?>"<?=($currRow && $currRow->getOperator() == $searchVal)?' selected="selected"':''?>><?=$this->transEsc($searchDesc)?></option>
-                <? endforeach; ?>
+                <?php endforeach; ?>
               </select>
                 <input id="search_lookfor<?=$i?>_<?=$j?>" type="text" value="<?=$currRow?$this->escapeHtmlAttr($currRow->getString()):''?>" size="30" name="lookfor<?=$i?>[]" class="form-control primo-adv-input"/>
             </div>
-          <? endfor; ?>
+          <?php endfor; ?>
         </div>
       </div>
-    <? endfor; ?>
-    <? $lastSort = $this->searchMemory()->getLastSort($this->options->getSearchClassId()); ?>
-    <? if (!empty($lastSort)): ?>
+    <?php endfor; ?>
+    <?php $lastSort = $this->searchMemory()->getLastSort($this->options->getSearchClassId()); ?>
+    <?php if (!empty($lastSort)): ?>
       <input type="hidden" name="sort" value="<?=$this->escapeHtmlAttr($lastSort)?>" />
-    <? endif; ?>
+    <?php endif; ?>
     <input type="submit" class="btn btn-primary" name="submit" value="<?=$this->transEsc("Find")?>"/>
   </div>
 
   <div class="<?=$this->layoutClass('sidebar')?>">
-    <? if ($hasDefaultsApplied): ?>
+    <?php if ($hasDefaultsApplied): ?>
       <input type="hidden" name="dfApplied" value="1" />
-    <? endif ?>
-    <? if (!empty($searchFilters)): ?>
+    <?php endif ?>
+    <?php if (!empty($searchFilters)): ?>
       <h4><?=$this->transEsc("adv_search_filters")?></h4>
       <ul class="list-group">
         <li class="list-group-item">
@@ -93,11 +93,11 @@
           </div>
         </li>
       </ul>
-      <? foreach ($searchFilters as $field => $data): ?>
+      <?php foreach ($searchFilters as $field => $data): ?>
         <div>
           <ul class="list-group">
             <li class="list-group-item title"><?=$this->transEsc($field)?></li>
-            <? foreach ($data as $value): ?>
+            <?php foreach ($data as $value): ?>
               <li class="list-group-item">
                 <div class="checkbox">
                   <label>
@@ -105,10 +105,10 @@
                   </label>
                 </div>
               </li>
-            <? endforeach; ?>
+            <?php endforeach; ?>
           </ul>
         </div>
-      <? endforeach; ?>
-    <? endif; ?>
+      <?php endforeach; ?>
+    <?php endif; ?>
   </div>
 </form>
diff --git a/themes/bootstrap3/templates/primo/search.phtml b/themes/bootstrap3/templates/primo/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/primo/search.phtml
+++ b/themes/bootstrap3/templates/primo/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/record/addtag.phtml b/themes/bootstrap3/templates/record/addtag.phtml
index 8708ac32b11..10b036b398e 100644
--- a/themes/bootstrap3/templates/record/addtag.phtml
+++ b/themes/bootstrap3/templates/record/addtag.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Add Tag'));
 
diff --git a/themes/bootstrap3/templates/record/ajaxtab.phtml b/themes/bootstrap3/templates/record/ajaxtab.phtml
index 5ee8df818ac..52d56d17613 100644
--- a/themes/bootstrap3/templates/record/ajaxtab.phtml
+++ b/themes/bootstrap3/templates/record/ajaxtab.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 foreach ($this->tabs as $tab => $obj) {
     if (strtolower($this->activeTab) == strtolower($tab)) {
         echo $this->record($this->driver)->getTab($obj);
diff --git a/themes/bootstrap3/templates/record/ajaxview-accordion.phtml b/themes/bootstrap3/templates/record/ajaxview-accordion.phtml
index 75768779695..aa0817b17e4 100644
--- a/themes/bootstrap3/templates/record/ajaxview-accordion.phtml
+++ b/themes/bootstrap3/templates/record/ajaxview-accordion.phtml
@@ -1,11 +1,11 @@
-<?
+<?php
   $this->defaultTab = strtolower($this->defaultTab);
   $idSuffix = $this->escapeHtmlAttr(md5($this->driver->getUniqueId() . '|' . $this->driver->getSourceIdentifier()));
 ?>
 
 <div class="list-tabs panel-group" id="accordion_<?=$idSuffix?>">
-  <? $coreMetadata = $this->record($this->driver)->getCoreMetadata(); ?>
-  <? if (!empty($coreMetadata)): ?>
+  <?php $coreMetadata = $this->record($this->driver)->getCoreMetadata(); ?>
+  <?php if (!empty($coreMetadata)): ?>
     <div class="panel panel-default">
       <div id="information_<?=$idSuffix?>" class="list-tab-toggle panel-heading loaded" data-toggle="collapse" data-parent="#accordion_<?=$idSuffix?>" data-target="#information_<?=$idSuffix?>-content">
         <h4 class="panel-title">
@@ -14,7 +14,7 @@
           </a>
         </h4>
       </div>
-      <div id="information_<?=$idSuffix?>-content" class="panel-collapse collapse<? if($this->defaultTab === 'information'): ?> in<? endif; ?>">
+      <div id="information_<?=$idSuffix?>-content" class="panel-collapse collapse<?php if($this->defaultTab === 'information'): ?> in<?php endif; ?>">
         <div class="list-tab-content record panel-body">
           <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueId())?>" class="hiddenId" id="record_id_<?=$idSuffix?>" />
           <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier()) ?>" class="hiddenSource" />
@@ -22,10 +22,10 @@
         </div>
       </div>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? $toolbar = $this->record($this->driver)->getToolbar(); ?>
-  <? if (!empty($toolbar)): ?>
+  <?php $toolbar = $this->record($this->driver)->getToolbar(); ?>
+  <?php if (!empty($toolbar)): ?>
     <div class="panel panel-default">
       <div id="tools_<?=$idSuffix?>" class="list-tab-toggle panel-heading loaded" data-toggle="collapse" data-parent="#accordion_<?=$idSuffix?>" data-target="#tools_<?=$idSuffix?>-content">
         <h4 class="panel-title">
@@ -34,16 +34,16 @@
           </a>
         </h4>
       </div>
-      <div id="tools_<?=$idSuffix?>-content" class="panel-collapse collapse<? if($this->defaultTab === 'tools'): ?> in<? endif; ?>">
+      <div id="tools_<?=$idSuffix?>-content" class="panel-collapse collapse<?php if($this->defaultTab === 'tools'): ?> in<?php endif; ?>">
         <div class="list-tab-content panel-body">
           <?=$toolbar ?>
         </div>
       </div>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? $relatedList = $this->related()->getList($this->driver); ?>
-  <? if ($relatedList != null): ?>
+  <?php $relatedList = $this->related()->getList($this->driver); ?>
+  <?php if ($relatedList != null): ?>
     <div class="panel panel-default">
       <div id="related_<?=$idSuffix?>" class="list-tab-toggle panel-heading loaded" data-toggle="collapse" data-parent="#accordion_<?=$idSuffix?>" data-target="#related_<?=$idSuffix?>-content">
         <h4 class="panel-title">
@@ -52,18 +52,18 @@
           </a>
         </h4>
       </div>
-      <div id="related_<?=$idSuffix?>-content" class="panel-collapse collapse<? if($this->defaultTab === 'related'): ?> in<? endif; ?>">
+      <div id="related_<?=$idSuffix?>-content" class="panel-collapse collapse<?php if($this->defaultTab === 'related'): ?> in<?php endif; ?>">
         <div class="list-tab-content panel-body">
-          <? foreach ($relatedList as $current): ?>
+          <?php foreach ($relatedList as $current): ?>
             <?=$this->related()->render($current)?>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </div>
       </div>
     </div>
-  <? endif; ?>
-  <? if (count($this->tabs) > 0): ?>
-    <? foreach ($this->tabs as $tab => $obj): ?>
-      <? // add current tab to breadcrumbs if applicable:
+  <?php endif; ?>
+  <?php if (count($this->tabs) > 0): ?>
+    <?php foreach ($this->tabs as $tab => $obj): ?>
+      <?php // add current tab to breadcrumbs if applicable:
         $desc = $obj->getDescription();
         $tab_classes = [];
         if (!$obj->isVisible()) { $tab_classes[] = 'hidden'; }
@@ -71,13 +71,13 @@
         if ($this->defaultTab === strtolower($tab)) { $tab_classes[] = 'default'; }
       ?>
       <div class="panel panel-default <?=implode(' ', $tab_classes) ?>">
-        <div id="<?=strtolower($tab)?>_<?=$idSuffix?>" class="list-tab-toggle panel-heading" data-toggle="collapse" data-parent="#accordion_<?=$idSuffix?>" data-target="#<?=strtolower($tab)?>_<?=$idSuffix?>-content"<? if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<? endif ?>>
+        <div id="<?=strtolower($tab)?>_<?=$idSuffix?>" class="list-tab-toggle panel-heading" data-toggle="collapse" data-parent="#accordion_<?=$idSuffix?>" data-target="#<?=strtolower($tab)?>_<?=$idSuffix?>-content"<?php if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<?php endif ?>>
           <h4 class="panel-title">
             <a class="accordion-toggle" data-href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav"><?=$this->transEsc($desc) ?></a>
           </h4>
         </div>
-        <div id="<?=strtolower($tab)?>_<?=$idSuffix?>-content" class="list-tab-content panel-collapse collapse<? if($this->defaultTab === strtolower($tab)): ?> in<? endif; ?>"></div>
+        <div id="<?=strtolower($tab)?>_<?=$idSuffix?>-content" class="list-tab-content panel-collapse collapse<?php if($this->defaultTab === strtolower($tab)): ?> in<?php endif; ?>"></div>
       </div>
-    <? endforeach; ?>
-  <? endif; ?>
+    <?php endforeach; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/record/ajaxview-tabs.phtml b/themes/bootstrap3/templates/record/ajaxview-tabs.phtml
index 3f4431c76c1..4c777e044d5 100644
--- a/themes/bootstrap3/templates/record/ajaxview-tabs.phtml
+++ b/themes/bootstrap3/templates/record/ajaxview-tabs.phtml
@@ -1,37 +1,37 @@
-<?
+<?php
   $this->defaultTab = strtolower($this->defaultTab);
   $idSuffix = $this->escapeHtmlAttr(md5($this->driver->getUniqueId() . '|' . $this->driver->getSourceIdentifier()));
 ?>
 <ul class="list-tabs nav nav-tabs">
-  <? $coreMetadata = trim($this->record($this->driver)->getCoreMetadata()); ?>
-  <? if (!empty($coreMetadata)): ?>
-    <li<? if($this->defaultTab === 'information'): ?> class="active"<? endif; ?>>
+  <?php $coreMetadata = trim($this->record($this->driver)->getCoreMetadata()); ?>
+  <?php if (!empty($coreMetadata)): ?>
+    <li<?php if($this->defaultTab === 'information'): ?> class="active"<?php endif; ?>>
       <a id="information_<?=$idSuffix?>" class="list-tab-toggle loaded" data-toggle="tab" data-target="#information_<?=$idSuffix?>-content" class="noajax">
         <?=$this->translate('ajaxview_label_information') ?>
       </a>
     </li>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? $toolbar = trim($this->record($this->driver)->getToolbar()); ?>
-  <? if (!empty($toolbar)): ?>
-    <li<? if($this->defaultTab === 'tools'): ?> class="active"<? endif; ?>>
+  <?php $toolbar = trim($this->record($this->driver)->getToolbar()); ?>
+  <?php if (!empty($toolbar)): ?>
+    <li<?php if($this->defaultTab === 'tools'): ?> class="active"<?php endif; ?>>
       <a id="tools_<?=$idSuffix?>" class="list-tab-toggle loaded" data-toggle="tab" data-target="#tools_<?=$idSuffix?>-content" class="noajax">
       <?=$this->translate('ajaxview_label_tools') ?>
       </a>
     </li>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? $list = $this->related()->getList($this->driver); ?>
-  <? if (!empty($list)): ?>
-    <li<? if($this->defaultTab === 'related'): ?> class="active"<? endif; ?>>
+  <?php $list = $this->related()->getList($this->driver); ?>
+  <?php if (!empty($list)): ?>
+    <li<?php if($this->defaultTab === 'related'): ?> class="active"<?php endif; ?>>
       <a id="related_<?=$idSuffix?>" class="list-tab-toggle loaded" data-toggle="tab" data-target="#related_<?=$idSuffix?>-content" class="noajax">
         <?=$this->transEsc("Related Items")?>
       </a>
     </li>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? foreach ($this->tabs as $tab => $obj): ?>
-    <? // add current tab to breadcrumbs if applicable:
+  <?php foreach ($this->tabs as $tab => $obj): ?>
+    <?php // add current tab to breadcrumbs if applicable:
       $desc = $obj->getDescription();
       $tab_classes = [];
       if ($this->defaultTab === strtolower($tab)) {
@@ -43,31 +43,31 @@
       if (!$obj->supportsAjax()) { $tab_classes[] = 'noajax'; }
     ?>
     <li<?=count($tab_classes) > 0 ? ' class="' . implode(' ', $tab_classes) . '"' : ''?>>
-      <a id="<?=strtolower($tab)?>_<?=$idSuffix?>" class="list-tab-toggle" href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav" data-toggle="tab" data-target="#<?=strtolower($tab)?>_<?=$idSuffix?>-content"<? if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<? endif ?>><?=$this->transEsc($desc)?></a>
+      <a id="<?=strtolower($tab)?>_<?=$idSuffix?>" class="list-tab-toggle" href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav" data-toggle="tab" data-target="#<?=strtolower($tab)?>_<?=$idSuffix?>-content"<?php if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<?php endif ?>><?=$this->transEsc($desc)?></a>
     </li>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </ul>
 <div class="tab-content">
-  <? if (!empty($coreMetadata)): ?>
-    <div class="list-tab-content record tab-pane<? if($this->defaultTab === 'information'): ?> active<? endif; ?>" id="information_<?=$idSuffix?>-content">
+  <?php if (!empty($coreMetadata)): ?>
+    <div class="list-tab-content record tab-pane<?php if($this->defaultTab === 'information'): ?> active<?php endif; ?>" id="information_<?=$idSuffix?>-content">
       <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueId())?>" class="hiddenId" id="record_id_<?=$idSuffix?>" />
       <input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier()) ?>" class="hiddenSource" />
       <?=$coreMetadata ?>
     </div>
-  <? endif; ?>
-  <? if (!empty($toolbar)): ?>
-    <div class="list-tab-content tab-pane<? if($this->defaultTab === 'tools'): ?> active<? endif; ?>" id="tools_<?=$idSuffix?>-content">
+  <?php endif; ?>
+  <?php if (!empty($toolbar)): ?>
+    <div class="list-tab-content tab-pane<?php if($this->defaultTab === 'tools'): ?> active<?php endif; ?>" id="tools_<?=$idSuffix?>-content">
       <?=$toolbar ?>
     </div>
-  <? endif; ?>
-  <? if (!empty($list)): ?>
-    <div class="list-tab-content tab-pane<? if($this->defaultTab === 'related'): ?> active<? endif; ?>" id="related_<?=$idSuffix?>-content">
-      <? foreach ($list as $current): ?>
+  <?php endif; ?>
+  <?php if (!empty($list)): ?>
+    <div class="list-tab-content tab-pane<?php if($this->defaultTab === 'related'): ?> active<?php endif; ?>" id="related_<?=$idSuffix?>-content">
+      <?php foreach ($list as $current): ?>
         <?=$this->related()->render($current)?>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
-  <? endif; ?>
-  <? foreach ($this->tabs as $tab => $obj): ?>
-    <div class="list-tab-content tab-pane<? if($this->defaultTab === strtolower($tab)): ?> active<? endif; ?>" id="<?=strtolower($tab)?>_<?=$idSuffix?>-content"></div>
-  <? endforeach; ?>
+  <?php endif; ?>
+  <?php foreach ($this->tabs as $tab => $obj): ?>
+    <div class="list-tab-content tab-pane<?php if($this->defaultTab === strtolower($tab)): ?> active<?php endif; ?>" id="<?=strtolower($tab)?>_<?=$idSuffix?>-content"></div>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/record/cart-buttons.phtml b/themes/bootstrap3/templates/record/cart-buttons.phtml
index c90799a3c45..3d6dc64262b 100644
--- a/themes/bootstrap3/templates/record/cart-buttons.phtml
+++ b/themes/bootstrap3/templates/record/cart-buttons.phtml
@@ -1,24 +1,24 @@
-<? $cart = $this->cart(); ?>
-<? if ($cart->isActive()): ?>
-  <? $cartId = $this->source . '|' . $this->id; ?>
+<?php $cart = $this->cart(); ?>
+<?php if ($cart->isActive()): ?>
+  <?php $cartId = $this->source . '|' . $this->id; ?>
   <span class="btn-bookbag-toggle" data-cart-id="<?=$this->escapeHtmlAttr($this->id)?>" data-cart-source="<?=$this->escapeHtmlAttr($this->source)?>">
-    <a class="cart-add hidden<? if(!$cart->contains($cartId)): ?> correct<? endif ?>">
+    <a class="cart-add hidden<?php if(!$cart->contains($cartId)): ?> correct<?php endif ?>">
       <i class="cart-link-icon fa fa-plus" title="<?=$this->transEsc('Add to Book Bag') ?>"></i><!--
    --><span class="cart-link-label"><?=$this->transEsc('Add to Book Bag') ?></span><!--
  --></a>
-    <a class="cart-remove hidden<? if($cart->contains($cartId)): ?> correct<? endif ?>">
+    <a class="cart-remove hidden<?php if($cart->contains($cartId)): ?> correct<?php endif ?>">
       <i class="cart-link-icon fa fa-minus-circle" title="<?=$this->transEsc('Remove from Book Bag') ?>"></i><!--
    --><span class="cart-link-label"><?=$this->transEsc('Remove from Book Bag') ?></span>
     </a>
     <noscript>
       <form method="post" name="addForm" action="<?=$this->url('cart-processor')?>">
         <input type="hidden" name="ids[]" value="<?=$this->escapeHtmlAttr($cartId)?>" />
-        <? if ($cart->contains($cartId)): ?>
+        <?php if ($cart->contains($cartId)): ?>
           <input class="btn btn-default" type="submit" name="delete" value="<?=$this->transEsc('Remove from Book Bag')?>"/>
-        <? else: ?>
+        <?php else: ?>
           <input class="btn btn-default" type="submit" name="add" value="<?=$this->transEsc('Add to Book Bag')?>"/>
-        <? endif; ?>
+        <?php endif; ?>
       </form>
     </noscript>
   </span>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/record/checkbox.phtml b/themes/bootstrap3/templates/record/checkbox.phtml
index 84663f8ab13..53d3b326dcb 100644
--- a/themes/bootstrap3/templates/record/checkbox.phtml
+++ b/themes/bootstrap3/templates/record/checkbox.phtml
@@ -1,5 +1,5 @@
 <label class="record-checkbox hidden-print">
-  <input class="checkbox-select-item" type="checkbox" name="ids[]" value="<?=$this->escapeHtmlAttr($this->id) ?>"<? if(isset($this->formAttr)): ?> form="<?=$this->formAttr ?>"<? endif; ?>/>
+  <input class="checkbox-select-item" type="checkbox" name="ids[]" value="<?=$this->escapeHtmlAttr($this->id) ?>"<?php if(isset($this->formAttr)): ?> form="<?=$this->formAttr ?>"<?php endif; ?>/>
   <span class="checkbox-icon"></span>
 </label>
-<input type="hidden" name="idsAll[]" value="<?=$this->escapeHtmlAttr($this->id) ?>"<? if(isset($this->formAttr)): ?> form="<?=$this->formAttr ?>"<? endif; ?>/>
+<input type="hidden" name="idsAll[]" value="<?=$this->escapeHtmlAttr($this->id) ?>"<?php if(isset($this->formAttr)): ?> form="<?=$this->formAttr ?>"<?php endif; ?>/>
diff --git a/themes/bootstrap3/templates/record/cite.phtml b/themes/bootstrap3/templates/record/cite.phtml
index 09798ecd670..5ba7d65fb00 100644
--- a/themes/bootstrap3/templates/record/cite.phtml
+++ b/themes/bootstrap3/templates/record/cite.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Record Citations'));
 
@@ -14,14 +14,14 @@
     $citations[$format . ' Citation'] = $helper->getCitation($format);
   }
 ?>
-<? if (count($citations) == 0): ?>
+<?php if (count($citations) == 0): ?>
   <?=$this->transEsc('No citations are available for this record')?>
-<? else: ?>
-  <? foreach ($citations as $caption => $citation): ?>
+<?php else: ?>
+  <?php foreach ($citations as $caption => $citation): ?>
     <strong><?=$this->transEsc($caption)?></strong>
     <p class="text-left">
       <?=$citation?>
     </p>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <div class="text-muted text-center"><?=$this->transEsc('Warning: These citations may not always be 100% accurate')?>.</div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/record/comments-list.phtml b/themes/bootstrap3/templates/record/comments-list.phtml
index ec9faf569a1..3b9d04c76dd 100644
--- a/themes/bootstrap3/templates/record/comments-list.phtml
+++ b/themes/bootstrap3/templates/record/comments-list.phtml
@@ -1,21 +1,21 @@
-<? $comments = $this->driver->getComments(); ?>
-<? if (empty($comments) || count($comments) == 0): ?>
+<?php $comments = $this->driver->getComments(); ?>
+<?php if (empty($comments) || count($comments) == 0): ?>
   <div class="alert alert-info"><?=$this->transEsc('Be the first to leave a comment')?>!</div>
-<? else: ?>
-  <? foreach ($comments as $comment): ?>
+<?php else: ?>
+  <?php foreach ($comments as $comment): ?>
     <div class="comment">
       <div class="comment-name">
         <strong><?=$this->escapeHtml(trim($comment->firstname . ' ' . $comment->lastname))?></strong><br/>
         <small>
           <?=$this->escapeHtml($comment->created)?>
-          <? if (($user = $this->auth()->isLoggedIn()) && $comment->user_id == $user->id): ?>
+          <?php if (($user = $this->auth()->isLoggedIn()) && $comment->user_id == $user->id): ?>
             <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'DeleteComment')?>?delete=<?=urlencode($comment->id)?>" id="recordComment<?=$this->escapeHtml($comment->id)?>" class="delete"><?=$this->transEsc('Delete')?></a>
-          <? endif; ?>
+          <?php endif; ?>
         </small>
       </div>
       <div class="comment-text">
         <?=$this->escapeHtml($comment->comment)?>
       </div>
     </div>
-  <? endforeach; ?>
-<? endif; ?>
+  <?php endforeach; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/record/cover.phtml b/themes/bootstrap3/templates/record/cover.phtml
index 435cb537950..f19dc13d093 100644
--- a/themes/bootstrap3/templates/record/cover.phtml
+++ b/themes/bootstrap3/templates/record/cover.phtml
@@ -1,8 +1,8 @@
-<? /* Display thumbnail if appropriate: */ ?>
-<? if ($cover): ?>
-  <? if ($this->link): ?><a href="<?=$this->escapeHtmlAttr($this->link)?>"><? endif; ?>
-  <img alt="<?=$this->transEsc('Cover Image')?>" <? if ($linkPreview): ?>data-linkpreview="true" <? endif; ?>class="recordcover" src="<?=$this->escapeHtmlAttr($cover); ?>"/>
-  <? if ($this->link): ?></a><? endif; ?>
-<? else: ?>
-  <img src="<?=$this->url('cover-unavailable')?>" <? if ($linkPreview): ?>data-linkpreview="true" <? endif; ?>class="recordcover" alt="<?=$this->transEsc('No Cover Image')?>"/>
-<? endif; ?>
+<?php /* Display thumbnail if appropriate: */ ?>
+<?php if ($cover): ?>
+  <?php if ($this->link): ?><a href="<?=$this->escapeHtmlAttr($this->link)?>"><?php endif; ?>
+  <img alt="<?=$this->transEsc('Cover Image')?>" <?php if ($linkPreview): ?>data-linkpreview="true" <?php endif; ?>class="recordcover" src="<?=$this->escapeHtmlAttr($cover); ?>"/>
+  <?php if ($this->link): ?></a><?php endif; ?>
+<?php else: ?>
+  <img src="<?=$this->url('cover-unavailable')?>" <?php if ($linkPreview): ?>data-linkpreview="true" <?php endif; ?>class="recordcover" alt="<?=$this->transEsc('No Cover Image')?>"/>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/record/email.phtml b/themes/bootstrap3/templates/record/email.phtml
index 470625daf8b..e6f5927f60a 100644
--- a/themes/bootstrap3/templates/record/email.phtml
+++ b/themes/bootstrap3/templates/record/email.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Email Record'));
 
diff --git a/themes/bootstrap3/templates/record/export-menu.phtml b/themes/bootstrap3/templates/record/export-menu.phtml
index 9b81be96143..ffb04ff00db 100644
--- a/themes/bootstrap3/templates/record/export-menu.phtml
+++ b/themes/bootstrap3/templates/record/export-menu.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Export Record'));
 
@@ -8,14 +8,14 @@
     . '<li class="active">' . $this->transEsc('Export Record') . '</li>';
 ?>
 <?=$this->flashmessages()?>
-<? $exportFormats = $this->export()->getFormatsForRecord($this->driver); if (count($exportFormats) > 0): ?>
+<?php $exportFormats = $this->export()->getFormatsForRecord($this->driver); if (count($exportFormats) > 0): ?>
   <?=$this->transEsc('export_choose_format')?>
   <ul>
-  <? foreach ($exportFormats as $exportFormat): ?>
+  <?php foreach ($exportFormats as $exportFormat): ?>
     <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>?style=<?=$this->escapeHtml($exportFormat)?>"><?=$this->transEsc('Export to')?> <?=$this->transEsc($this->export()->getLabelForFormat($exportFormat))?></a></li>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   </ul>
-<? else: ?>
+<?php else: ?>
   <?=$this->transEsc('export_no_formats')?>
-<? endif; ?>
+<?php endif; ?>
 
diff --git a/themes/bootstrap3/templates/record/hold.phtml b/themes/bootstrap3/templates/record/hold.phtml
index 36f7d3af002..e47ba5a96e8 100644
--- a/themes/bootstrap3/templates/record/hold.phtml
+++ b/themes/bootstrap3/templates/record/hold.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('request_place_text') . ': ' . $this->driver->getBreadcrumb());
 
@@ -8,32 +8,32 @@
         . '<li class="active">' . $this->transEsc('request_place_text') . '</li>';
 ?>
 <h2><?=$this->transEsc('request_place_text')?></h2>
-<? if ($this->helpText): ?>
+<?php if ($this->helpText): ?>
 <p class="helptext"><?=$this->helpText?></p>
-<? endif; ?>
+<?php endif; ?>
 
 <form class="form-record-hold" method="post" name="placeHold">
   <?=$this->flashmessages()?>
   <label class="control-label"><?=$this->transEsc('Title')?></label>
   <p class="form-control-static"><?=$this->driver->getBreadcrumb() ?></p>
-  <? if (in_array("comments", $this->extraHoldFields)): ?>
+  <?php if (in_array("comments", $this->extraHoldFields)): ?>
     <div class="form-group hold-comment">
       <label class="control-label"><?=$this->transEsc("Comments")?>:</label>
       <textarea rows="3" cols="20" name="gatheredDetails[comment]" class="form-control"><?=isset($this->gatheredDetails['comment']) ? $this->escapeHtml($this->gatheredDetails['comment']) : ''?></textarea>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("requiredByDate", $this->extraHoldFields)): ?>
+  <?php if (in_array("requiredByDate", $this->extraHoldFields)): ?>
     <div class="form-group hold-required-by">
       <label class="control-label"><?=$this->transEsc("hold_required_by")?>:</label>
       <input id="requiredByDate" type="text" name="gatheredDetails[requiredBy]" value="<?=(isset($this->gatheredDetails['requiredBy']) && !empty($this->gatheredDetails['requiredBy'])) ? $this->escapeHtmlAttr($this->gatheredDetails['requiredBy']) : $this->escapeHtmlAttr($this->defaultRequiredDate)?>" size="8" class="form-control"/>
       (<?=$this->dateTime()->getDisplayDateFormat()?>)
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if ($this->requestGroupNeeded): ?>
+  <?php if ($this->requestGroupNeeded): ?>
     <div class="form-group hold-request-group">
-      <?
+      <?php
         if (isset($this->gatheredDetails['requestGroupId']) && $this->gatheredDetails['requestGroupId'] !== "") {
             $selected = $this->gatheredDetails['requestGroupId'];
         } else {
@@ -42,22 +42,22 @@
      ?>
       <label class="control-label"><?=$this->transEsc("hold_request_group")?>:</label>
       <select id="requestGroupId" name="gatheredDetails[requestGroupId]" class="form-control">
-        <? if ($selected === false): ?>
+        <?php if ($selected === false): ?>
           <option value="" selected="selected">
             <?=$this->transEsc('select_request_group')?>
           </option>
-        <? endif; ?>
-        <? foreach ($this->requestGroups as $group): ?>
+        <?php endif; ?>
+        <?php foreach ($this->requestGroups as $group): ?>
           <option value="<?=$this->escapeHtmlAttr($group['id'])?>"<?=($selected == $group['id']) ? ' selected="selected"' : ''?>>
             <?=$this->transEsc('request_group_' . $group['name'], null, $group['name'])?>
           </option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("pickUpLocation", $this->extraHoldFields)): ?>
-    <?
+  <?php if (in_array("pickUpLocation", $this->extraHoldFields)): ?>
+    <?php
       if (isset($this->gatheredDetails['pickUpLocation']) && $this->gatheredDetails['pickUpLocation'] !== "") {
         $selected = $this->gatheredDetails['pickUpLocation'];
       } elseif (isset($this->homeLibrary) && $this->homeLibrary !== "") {
@@ -66,47 +66,47 @@
         $selected = $this->defaultPickup;
       }
     ?>
-    <? if ($this->requestGroupNeeded): ?>
+    <?php if ($this->requestGroupNeeded): ?>
       <div class="form-group hold-pickup-location">
         <label id="pickUpLocationLabel" class="control-label"><i></i> <?=$this->transEsc("pick_up_location")?>:
-          <? if (in_array("requestGroup", $this->extraHoldFields)): ?>
+          <?php if (in_array("requestGroup", $this->extraHoldFields)): ?>
             <noscript> (<?=$this->transEsc("Please enable JavaScript.")?>)</noscript>
-          <? endif; ?>
+          <?php endif; ?>
         </label>
         <select id="pickUpLocation" name="gatheredDetails[pickUpLocation]" data-default="<?=$this->escapeHtmlAttr($selected)?>" class="form-control">
-          <? if ($selected === false): ?>
+          <?php if ($selected === false): ?>
           <option value="" selected="selected">
             <?=$this->transEsc('select_pickup_location')?>
           </option>
-          <? endif; ?>
+          <?php endif; ?>
         </select>
       </div>
-    <? elseif ($this->pickup): ?>
+    <?php elseif ($this->pickup): ?>
       <div class="form-group hold-pickup-location">
         <label class="control-label"><?=$this->transEsc("pick_up_location")?>:</label>
         <select id="pickUpLocation" name="gatheredDetails[pickUpLocation]" class="form-control">
-          <? if ($selected === false && count($this->pickup) > 1): ?>
+          <?php if ($selected === false && count($this->pickup) > 1): ?>
             <option value="" selected="selected">
               <?=$this->transEsc('select_pickup_location')?>
             </option>
-          <? endif; ?>
-          <? foreach ($this->pickup as $lib): ?>
+          <?php endif; ?>
+          <?php foreach ($this->pickup as $lib): ?>
             <option value="<?=$this->escapeHtmlAttr($lib['locationID'])?>"<?=($selected == $lib['locationID']) ? ' selected="selected"' : ''?>>
               <?=$this->transEsc('location_' . $lib['locationDisplay'], null, $lib['locationDisplay'])?>
             </option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
       </div>
-    <? else: ?>
+    <?php else: ?>
       <input type="hidden" name="gatheredDetails[pickUpLocation]" value="<?=$this->escapeHtmlAttr($this->defaultPickup)?>" />
-    <? endif; ?>
-  <? endif; ?>
+    <?php endif; ?>
+  <?php endif; ?>
   <div class="form-group">
     <input class="btn btn-primary" type="submit" name="placeHold" value="<?=$this->transEsc('request_submit_text')?>"/>
   </div>
 </form>
 
-<?
+<?php
     // Set up hold script; we do this inline instead of in the header for lightbox compatibility:
     $this->inlineScript()->appendFile('hold.js');
 
diff --git a/themes/bootstrap3/templates/record/illrequest.phtml b/themes/bootstrap3/templates/record/illrequest.phtml
index e5cc9024220..9fac505e256 100644
--- a/themes/bootstrap3/templates/record/illrequest.phtml
+++ b/themes/bootstrap3/templates/record/illrequest.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('ill_request_place_text') . ': ' . $this->driver->getBreadcrumb());
 
@@ -8,62 +8,62 @@
         . '<li class="active">' . $this->transEsc('ill_request_place_text') . '</li>';
 ?>
 <h2><?=$this->transEsc('ill_request_place_text')?></h2>
-<? if ($this->helpText): ?>
+<?php if ($this->helpText): ?>
   <p class="help-block"><?=$this->helpText?></p>
-<? endif; ?>
+<?php endif; ?>
 
 <form id="ILLRequestForm" name="placeILLRequest" class="form-ill-retrieval-request" method="post">
   <?=$this->flashmessages()?>
-  <? if (in_array("itemId", $this->extraFields)): ?>
+  <?php if (in_array("itemId", $this->extraFields)): ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc('ill_request_item')?>:</label>
       <select id="itemId" name="gatheredDetails[itemId]" class="form-control">
-        <? foreach ($this->items as $item): ?>
+        <?php foreach ($this->items as $item): ?>
           <option value="<?=$this->escapeHtmlAttr($item['id'])?>"<?=($this->gatheredDetails['itemId'] == $item['id']) ? ' selected="selected"' : ''?>>
             <?=$this->escapeHtml($item['name'])?>
           </option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("pickUpLibrary", $this->extraFields) && !empty($this->pickupLibraries)): ?>
+  <?php if (in_array("pickUpLibrary", $this->extraFields) && !empty($this->pickupLibraries)): ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc("ill_request_pick_up_library")?>:</label>
-      <? if (count($this->pickupLibraries) > 1): ?>
+      <?php if (count($this->pickupLibraries) > 1): ?>
         <select id="pickupLibrary" name="gatheredDetails[pickUpLibrary]" class="form-control">
-        <?
+        <?php
           if (isset($this->gatheredDetails['pickUpLibrary']) && $this->gatheredDetails['pickUpLibrary'] !== "") {
               $selected = $this->gatheredDetails['pickUpLibrary'];
           } else {
               $selected = false;
           }
         ?>
-        <? foreach ($this->pickupLibraries as $lib): ?>
+        <?php foreach ($this->pickupLibraries as $lib): ?>
           <option value="<?=$this->escapeHtmlAttr($lib['id'])?>"<?=(($selected === false && isset($lib['isDefault']) && $lib['isDefault']) || $selected === $lib['id']) ? ' selected="selected"' : ''?>>
             <?=$this->transEsc('library_' . $lib['name'], null, $lib['name'])?>
           </option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
         </select>
-      <? else: ?>
-        <? $lib = $this->pickupLibraries[0]; ?>
+      <?php else: ?>
+        <?php $lib = $this->pickupLibraries[0]; ?>
         <input type="text" class="form-control" size="40" readonly="readonly" value="<?=$this->escapeHtmlAttr($this->translate('library_' . $lib['name'], null, $lib['name']))?>" />
         <input type="hidden" id="pickupLibrary" name="gatheredDetails[pickUpLibrary]" value="<?=$this->escapeHtmlAttr($lib['id'])?>" />
-      <? endif; ?>
+      <?php endif; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("pickUpLibraryLocation", $this->extraFields)): ?>
+  <?php if (in_array("pickUpLibraryLocation", $this->extraFields)): ?>
     <div class="form-group">
       <label id="pickupLibraryLocationLabel" class="control-label"><i></i>&nbsp;<?=$this->transEsc("ill_request_pick_up_location")?>:<noscript> (<?=$this->transEsc("Please enable JavaScript.")?>)</noscript></label>
       <select id="pickupLibraryLocation" name="gatheredDetails[pickUpLibraryLocation]" class="form-control"></select>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("pickUpLocation", $this->extraFields)): ?>
-    <? if (count($this->pickup) > 1): ?>
+  <?php if (in_array("pickUpLocation", $this->extraFields)): ?>
+    <?php if (count($this->pickup) > 1): ?>
       <div class="form-group">
-        <?
+        <?php
           if (isset($this->gatheredDetails['pickUpLocation']) && $this->gatheredDetails['pickUpLocation'] !== "") {
             $selected = $this->gatheredDetails['pickUpLocation'];
           } elseif (isset($this->homeLibrary) && $this->homeLibrary !== "") {
@@ -74,39 +74,39 @@
         ?>
         <label class="control-label"><?=$this->transEsc("pick_up_location")?>:</label>
         <select name="gatheredDetails[pickUpLocation]" class="form-control">
-          <? foreach ($this->pickup as $lib): ?>
+          <?php foreach ($this->pickup as $lib): ?>
             <option value="<?=$this->escapeHtmlAttr($lib['locationID'])?>"<?=($selected == $lib['locationID']) ? ' selected="selected"' : ''?>>
               <?=$this->escapeHtml($lib['locationDisplay'])?>
             </option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
       </div>
-    <? else: ?>
+    <?php else: ?>
       <input type="hidden" name="gatheredDetails[pickUpLocation]" value="<?=$this->escapeHtmlAttr($this->defaultPickup)?>" />
-    <? endif; ?>
-  <? endif; ?>
+    <?php endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("requiredByDate", $this->extraFields)): ?>
+  <?php if (in_array("requiredByDate", $this->extraFields)): ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc("hold_required_by")?>:</label>
       <input id="requiredByDate" type="text" name="gatheredDetails[requiredBy]" value="<?=(isset($this->gatheredDetails['requiredBy']) && !empty($this->gatheredDetails['requiredBy'])) ? $this->escapeHtmlAttr($this->gatheredDetails['requiredBy']) : $this->escapeHtmlAttr($this->defaultRequiredDate)?>" size="8" class="form-control"/>
       (<?=$this->dateTime()->getDisplayDateFormat()?>)
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("comments", $this->extraFields)): ?>
+  <?php if (in_array("comments", $this->extraFields)): ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc("Comments")?>:</label>
       <textarea rows="3" cols="20" name="gatheredDetails[comment]" class="form-control"><?=isset($this->gatheredDetails['comment']) ? $this->escapeHtml($this->gatheredDetails['comment']) : ''?></textarea>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
   <div class="form-group">
     <input class="btn btn-primary" type="submit" name="placeILLRequest" value="<?=$this->transEsc('ill_request_submit_text')?>"/>
   </div>
 </form>
 
-<?
+<?php
     // Set up ill script; we do this inline instead of in the header for lightbox compatibility:
     $this->inlineScript()->appendFile('ill.js');
 
diff --git a/themes/bootstrap3/templates/record/save.phtml b/themes/bootstrap3/templates/record/save.phtml
index e84910a39da..e9f10997fcd 100644
--- a/themes/bootstrap3/templates/record/save.phtml
+++ b/themes/bootstrap3/templates/record/save.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Save'));
 
@@ -12,44 +12,44 @@
   <input type="hidden" name="submit" value="1" />
   <input type="hidden" name="id" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueId()) ?>" />
   <input type="hidden" name="source" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" />
-  <? if (!empty($this->containingLists)): ?>
+  <?php if (!empty($this->containingLists)): ?>
     <p><?=$this->transEsc('This item is already part of the following list/lists') ?>:
-    <? foreach ($this->containingLists as $i => $list): ?>
-      <a href="<?=$this->url('userList', ['id' => $list['id']]) ?>" data-lightbox-ignore><?=$this->escapeHtml($list['title'])?></a><? if($i < count($this->containingLists) - 1): ?>, <? endif; ?>
-    <? endforeach; ?>
+    <?php foreach ($this->containingLists as $i => $list): ?>
+      <a href="<?=$this->url('userList', ['id' => $list['id']]) ?>" data-lightbox-ignore><?=$this->escapeHtml($list['title'])?></a><?php if($i < count($this->containingLists) - 1): ?>, <?php endif; ?>
+    <?php endforeach; ?>
     </p><hr/>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? /* Only display the list drop-down if the user has lists that do not contain
+  <?php /* Only display the list drop-down if the user has lists that do not contain
   this item OR if they have no lists at all and need to create a default list */?>
-  <? $showLists = (!empty($this->nonContainingLists) || (empty($this->containingLists) && empty($this->nonContainingLists))); ?>
+  <?php $showLists = (!empty($this->nonContainingLists) || (empty($this->containingLists) && empty($this->nonContainingLists))); ?>
 
   <div class="form-group">
-    <? if ($showLists): ?>
+    <?php if ($showLists): ?>
       <label class="control-label" for="save_list"><?=$this->transEsc('Choose a List') ?></label>
-    <? endif; ?>
-    <? if ($showLists): ?>
+    <?php endif; ?>
+    <?php if ($showLists): ?>
       <select class="form-control" id="save_list" name="list">
-      <? if ($this->nonContainingLists): ?>
-        <? foreach ($this->nonContainingLists as $list): ?>
-          <option value="<?=$list['id'] ?>"<? if ($list['id'] == $this->userlist()->lastUsed()): ?> selected="selected"<? endif; ?>><?=$this->escapeHtml($list['title'])?></option>
-        <? endforeach; ?>
-      <? else: ?>
+      <?php if ($this->nonContainingLists): ?>
+        <?php foreach ($this->nonContainingLists as $list): ?>
+          <option value="<?=$list['id'] ?>"<?php if ($list['id'] == $this->userlist()->lastUsed()): ?> selected="selected"<?php endif; ?>><?=$this->escapeHtml($list['title'])?></option>
+        <?php endforeach; ?>
+      <?php else: ?>
         <option value=""><?=$this->transEsc('My Favorites') ?></option>
-      <? endif; ?>
+      <?php endif; ?>
       </select>
-    <? endif; ?>
+    <?php endif; ?>
     <a class="btn btn-link" id="make-list" href="<?=$this->url('editList', ['id' => 'NEW'])?>?recordId=<?=urlencode($this->driver->getUniqueId())?>&amp;recordSource=<?=urlencode($this->driver->getSourceIdentifier())?>"><?=$showLists ? $this->transEsc('or create a new list') : $this->transEsc('Create a List'); ?></a>
   </div>
 
-  <? if ($showLists): ?>
-    <? if ($this->usertags()->getMode() !== 'disabled'): ?>
+  <?php if ($showLists): ?>
+    <?php if ($this->usertags()->getMode() !== 'disabled'): ?>
       <div class="form-group">
         <label class="control-label" for="add_mytags"><?=$this->transEsc('Add Tags') ?></label>
         <input class="form-control" id="add_mytags" type="text" name="mytags" value=""/>
         <span class="help-block"><?=$this->transEsc("add_tag_note") ?></span>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
     <div class="form-group">
       <label class="control-label" for="add_notes"><?=$this->transEsc('Add a Note') ?></label>
       <textarea class="form-control" id="add_notes" name="notes" rows="3"></textarea>
@@ -57,5 +57,5 @@
     <div class="form-group">
       <input class="btn btn-primary" type="submit" value="<?=$this->transEsc('Save') ?>"/>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </form>
diff --git a/themes/bootstrap3/templates/record/sms.phtml b/themes/bootstrap3/templates/record/sms.phtml
index 58cd4b2223a..243308f070c 100644
--- a/themes/bootstrap3/templates/record/sms.phtml
+++ b/themes/bootstrap3/templates/record/sms.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Text this'));
   echo $this->inlineScript(\Zend\View\Helper\HeadScript::FILE, 'vendor/libphonenumber.js', 'SET');
@@ -8,7 +8,7 @@
     . '<li>' . $this->recordLink()->getBreadcrumb($this->driver) . '</li> '
     . '<li class="active">' . $this->transEsc('Text this') . '</li>';
 ?>
-<? $validatorCallback = <<<JS
+<?php $validatorCallback = <<<JS
   function phoneNumberValidation() {
     return phoneNumberFormHandler('sms_to', '{$this->validation}');
   }
@@ -16,7 +16,7 @@ JS;
 ?>
 <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $validatorCallback, 'SET'); ?>
 <h2><?=$this->transEsc('Text this') ?>: <span class="title-in-heading"><?=$this->escapeHtml($this->driver->getBreadcrumb())?></span></h2>
-<form method="post" name="smsRecord" class="form-record-sms"<? if(isset($this->validation) && !empty($this->validation)):?> data-lightbox-onsubmit="phoneNumberValidation"<? endif; ?>>
+<form method="post" name="smsRecord" class="form-record-sms"<?php if(isset($this->validation) && !empty($this->validation)):?> data-lightbox-onsubmit="phoneNumberValidation"<?php endif; ?>>
   <?=$this->flashmessages()?>
   <input type="hidden" name="id" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueId())?>" />
   <input type="hidden" name="source" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" />
@@ -25,20 +25,20 @@ JS;
     <input id="sms_to" type="tel" name="to" placeholder="<?=$this->transEsc('sms_phone_number')?>" class="form-control"/>
     <div class="help-block with-errors"></div>
   </div>
-  <? if (is_array($this->carriers) && count($this->carriers) > 1): ?>
+  <?php if (is_array($this->carriers) && count($this->carriers) > 1): ?>
     <div class="form-group">
       <label class="control-label" for="sms_provider"><?=$this->transEsc('Provider')?>:</label>
       <select id="sms_provider" name="provider" class="form-control">
         <option selected="selected" value=""><?=$this->transEsc('Select your carrier')?></option>
-        <? foreach ($this->carriers as $val => $details): ?>
+        <?php foreach ($this->carriers as $val => $details): ?>
           <option value="<?=$this->escapeHtmlAttr($val)?>"><?=$this->escapeHtml($details['name'])?></option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
     </div>
-  <? else: ?>
-    <? $keys = is_array($this->carriers) ? array_keys($this->carriers) : []; ?>
+  <?php else: ?>
+    <?php $keys = is_array($this->carriers) ? array_keys($this->carriers) : []; ?>
     <input type="hidden" name="provider" value="<?=isset($keys[0]) ? $keys[0] : ''?>" />
-  <? endif; ?>
+  <?php endif; ?>
   <?=$this->recaptcha()->html($this->useRecaptcha) ?>
   <div class="form-group">
     <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Send Text')?>"/>
diff --git a/themes/bootstrap3/templates/record/storageretrievalrequest.phtml b/themes/bootstrap3/templates/record/storageretrievalrequest.phtml
index 315f4d77a26..f6aee9a841d 100644
--- a/themes/bootstrap3/templates/record/storageretrievalrequest.phtml
+++ b/themes/bootstrap3/templates/record/storageretrievalrequest.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('storage_retrieval_request_place_text') . ': ' . $this->driver->getBreadcrumb());
 
@@ -8,13 +8,13 @@
         . '<li class="active">' . $this->transEsc('storage_retrieval_request_place_text') . '</li>';
 ?>
 <h2><?=$this->transEsc('storage_retrieval_request_place_text')?></h2>
-<? if ($this->helpText): ?>
+<?php if ($this->helpText): ?>
 <p class="helptext"><?=$this->helpText?></p>
-<? endif; ?>
+<?php endif; ?>
 
 <form name="placeStorageRetrievalRequest" class="form-storage-retrieval-request" method="post">
   <?=$this->flashmessages()?>
-  <? if (in_array("item-issue", $this->extraFields)): ?>
+  <?php if (in_array("item-issue", $this->extraFields)): ?>
     <div class="form-group controls">
       <div class="radio">
         <label>
@@ -40,20 +40,20 @@
         <input type="text" name="gatheredDetails[year]" value="<?=isset($this->gatheredDetails['year']) ? $this->escapeHtmlAttr($this->gatheredDetails['year']) : ''?>" class="form-control"/><br/>
       </div>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("requiredByDate", $this->extraFields)): ?>
+  <?php if (in_array("requiredByDate", $this->extraFields)): ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc("hold_required_by")?>:</label>
       <input id="requiredByDate" type="text" name="gatheredDetails[requiredBy]" value="<?=(isset($this->gatheredDetails['requiredBy']) && !empty($this->gatheredDetails['requiredBy'])) ? $this->escapeHtmlAttr($this->gatheredDetails['requiredBy']) : $this->escapeHtmlAttr($this->defaultRequiredDate)?>" size="8" class="form-control"/>
       (<?=$this->dateTime()->getDisplayDateFormat()?>)
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("pickUpLocation", $this->extraFields)): ?>
-    <? if ($this->pickup): ?>
+  <?php if (in_array("pickUpLocation", $this->extraFields)): ?>
+    <?php if ($this->pickup): ?>
       <div class="form-group">
-        <?
+        <?php
           if (isset($this->gatheredDetails['pickUpLocation']) && $this->gatheredDetails['pickUpLocation'] !== "") {
             $selected = $this->gatheredDetails['pickUpLocation'];
           } elseif (isset($this->homeLibrary) && $this->homeLibrary !== "") {
@@ -64,29 +64,29 @@
         ?>
         <label class="control-label"><?=$this->transEsc("pick_up_location")?>:</label>
         <select name="gatheredDetails[pickUpLocation]" class="form-control">
-          <? if ($selected === false && count($this->pickup) > 1): ?>
+          <?php if ($selected === false && count($this->pickup) > 1): ?>
             <option value="" selected="selected">
               <?=$this->transEsc('select_pickup_location')?>
             </option>
-          <? endif; ?>
-          <? foreach ($this->pickup as $lib): ?>
+          <?php endif; ?>
+          <?php foreach ($this->pickup as $lib): ?>
             <option value="<?=$this->escapeHtmlAttr($lib['locationID'])?>"<?=($selected == $lib['locationID']) ? ' selected="selected"' : ''?>>
               <?=$this->transEsc('location_' . $lib['locationDisplay'], null, $lib['locationDisplay'])?>
             </option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
       </div>
-    <? else: ?>
+    <?php else: ?>
       <input type="hidden" name="gatheredDetails[pickUpLocation]" value="<?=$this->escapeHtmlAttr($this->defaultPickup)?>" />
-    <? endif; ?>
-  <? endif; ?>
+    <?php endif; ?>
+  <?php endif; ?>
 
-  <? if (in_array("comments", $this->extraFields)): ?>
+  <?php if (in_array("comments", $this->extraFields)): ?>
     <div class="form-group">
       <label class="control-label"><?=$this->transEsc("Comments")?>:</label>
       <textarea rows="3" cols="20" name="gatheredDetails[comment]" class="form-control"><?=isset($this->gatheredDetails['comment']) ? $this->escapeHtml($this->gatheredDetails['comment']) : ''?></textarea>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 
   <div class="form-group">
     <input class="btn btn-primary" type="submit" name="placeStorageRetrievalRequest" value="<?=$this->transEsc('storage_retrieval_request_submit_text')?>"/>
diff --git a/themes/bootstrap3/templates/record/taglist.phtml b/themes/bootstrap3/templates/record/taglist.phtml
index d0fc1540437..ccf84ff458a 100644
--- a/themes/bootstrap3/templates/record/taglist.phtml
+++ b/themes/bootstrap3/templates/record/taglist.phtml
@@ -1,26 +1,26 @@
 <div class="tagList<?=$loggedin ? ' loggedin' : ''?>">
-  <? if (count($tagList) > 0): ?>
-    <? foreach ($tagList as $tag): ?>
-      <? $is_me = isset($tag['is_me']) && null !== $tag['is_me'] ? $tag['is_me'] : false; ?>
+  <?php if (count($tagList) > 0): ?>
+    <?php foreach ($tagList as $tag): ?>
+      <?php $is_me = isset($tag['is_me']) && null !== $tag['is_me'] ? $tag['is_me'] : false; ?>
       <div class="tag<?=$is_me ? ' selected' : ''?>">
         <a href="<?=$this->url('tag-home')?>?lookfor=<?=urlencode($tag['tag'])?>"><?=$this->escapeHtml($tag['tag'])?></a>
-        <? if($loggedin): ?>
+        <?php if($loggedin): ?>
           <form method="POST" action="<?=$this->recordLink()->getActionUrl($this->driver, $is_me ? 'DeleteTag' : 'AddTag') ?>" class="tag-form">
             <input type="hidden" name="tag" value="<?=$this->escapeHtmlAttr($tag['tag'])?>"/>
             <button type="submit" class="badge" onClick="ajaxTagUpdate(this, '<?=$this->escapeHtmlAttr($tag['tag'])?>', <?=$is_me ? 'true' : 'false' ?>);return false;"><?=$this->escapeHtml($tag['cnt']) ?>
-            <? if($is_me): ?>
+            <?php if($is_me): ?>
               <i class="fa fa-close" title="<?=$this->transEsc('delete_tag') ?>"></i>
-            <? else: ?>
+            <?php else: ?>
               <i class="fa fa-plus" title="<?=$this->transEsc('Add Tag') ?>"></i>
-            <? endif; ?>
+            <?php endif; ?>
             </button>
           </form>
-        <? else: ?>
+        <?php else: ?>
           <span class="badge"><?=$this->escapeHtml($tag['cnt'])?></span>
-        <? endif; ?>
+        <?php endif; ?>
       </div>
-    <? endforeach; ?>
-  <? else: ?>
+    <?php endforeach; ?>
+  <?php else: ?>
     <?=$this->transEsc('No Tags')?>, <?=$this->transEsc('Be the first to tag this record')?>!
-  <? endif; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/record/view.phtml b/themes/bootstrap3/templates/record/view.phtml
index d6395cfb7e0..f798b8a9cab 100644
--- a/themes/bootstrap3/templates/record/view.phtml
+++ b/themes/bootstrap3/templates/record/view.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up standard record scripts:
   $this->headScript()->appendFile("record.js");
   $this->headScript()->appendFile("check_save_statuses.js");
@@ -18,44 +18,44 @@
   $this->layout()->title = $this->driver->getShortTitle();
 ?>
 
-<? if (isset($this->scrollData) && ($this->scrollData['previousRecord'] || $this->scrollData['nextRecord'])): ?>
+<?php if (isset($this->scrollData) && ($this->scrollData['previousRecord'] || $this->scrollData['nextRecord'])): ?>
   <ul class="pager hidden-print">
-    <? if ($this->scrollData['previousRecord']): ?>
-      <? if ($this->scrollData['firstRecord']): ?>
+    <?php if ($this->scrollData['previousRecord']): ?>
+      <?php if ($this->scrollData['firstRecord']): ?>
         <li>
           <a href="<?=$this->recordLink()->getUrl($this->scrollData['firstRecord'])?>" title="<?=$this->transEsc('First Search Result')?>" rel="nofollow">&laquo; <?=$this->transEsc('First')?></a>
         </li>
-      <? endif; ?>
+      <?php endif; ?>
       <li>
         <a href="<?=$this->recordLink()->getUrl($this->scrollData['previousRecord'])?>" title="<?=$this->transEsc('Previous Search Result')?>" rel="nofollow">&laquo; <?=$this->transEsc('Prev')?></a>
       </li>
-    <? else: ?>
-      <? if ($this->scrollData['firstRecord']): ?>
+    <?php else: ?>
+      <?php if ($this->scrollData['firstRecord']): ?>
         <li class="disabled"><a href="#">&laquo; <?=$this->transEsc('First')?></a></li>
-      <? endif; ?>
+      <?php endif; ?>
       <li class="disabled"><a href="#">&laquo; <?=$this->transEsc('Prev')?></a></li>
-    <? endif; ?>
+    <?php endif; ?>
     <?=$this->transEsc('of_num_results', [
       '%%position%%' => $this->localizedNumber($this->scrollData['currentPosition']),
       '%%total%%' => $this->localizedNumber($this->scrollData['resultTotal'])
     ]) ?>
-    <? if ($this->scrollData['nextRecord']): ?>
+    <?php if ($this->scrollData['nextRecord']): ?>
       <li>
         <a href="<?=$this->recordLink()->getUrl($this->scrollData['nextRecord'])?>" title="<?=$this->transEsc('Next Search Result')?>" rel="nofollow"><?=$this->transEsc('Next')?> &raquo;</a>
       </li>
-      <? if ($this->scrollData['lastRecord']): ?>
+      <?php if ($this->scrollData['lastRecord']): ?>
         <li>
           <a href="<?=$this->recordLink()->getUrl($this->scrollData['lastRecord'])?>" title="<?=$this->transEsc('Last Search Result')?>" rel="nofollow"><?=$this->transEsc('Last')?> &raquo;</a>
         </li>
-      <? endif; ?>
-     <? else: ?>
+      <?php endif; ?>
+     <?php else: ?>
       <li class="disabled"><a href="#"><?=$this->transEsc('Next')?> &raquo;</a></li>
-      <? if ($this->scrollData['lastRecord']): ?>
+      <?php if ($this->scrollData['lastRecord']): ?>
         <li class="disabled"><a href="#"><?=$this->transEsc('Last')?> &raquo;</a></li>
-      <? endif; ?>
-    <? endif; ?>
+      <?php endif; ?>
+    <?php endif; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
 
 <?=$this->record($this->driver)->getToolbar()?>
 
@@ -66,12 +66,12 @@
     <?=$this->flashmessages()?>
     <?=$this->record($this->driver)->getCoreMetadata()?>
 
-    <? if (count($this->tabs) > 0): ?>
+    <?php if (count($this->tabs) > 0): ?>
       <a name="tabnav"></a>
       <div class="record-tabs">
         <ul class="nav nav-tabs">
-          <? foreach ($this->tabs as $tab => $obj): ?>
-            <? // add current tab to breadcrumbs if applicable:
+          <?php foreach ($this->tabs as $tab => $obj): ?>
+            <?php // add current tab to breadcrumbs if applicable:
               $desc = $obj->getDescription();
               $tab_classes = [];
               if (0 === strcasecmp($this->activeTab, $tab)) {
@@ -86,28 +86,28 @@
               if (!$obj->supportsAjax()) { $tab_classes[] = 'noajax'; }
             ?>
             <li<?=count($tab_classes) > 0 ? ' class="' . implode(' ', $tab_classes) . '"' : ''?>>
-              <a class="<?=strtolower($tab) ?>" href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav"<? if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<? endif ?>><?=$this->transEsc($desc)?></a>
+              <a class="<?=strtolower($tab) ?>" href="<?=$this->recordLink()->getTabUrl($this->driver, $tab)?>#tabnav"<?php if ($obj->supportsAjax() && in_array($tab, $this->backgroundTabs)):?> data-background<?php endif ?>><?=$this->transEsc($desc)?></a>
             </li>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </ul>
 
         <div class="tab-content">
-          <? if (!$this->loadInitialTabWithAjax || !isset($activeTabObj) || !$activeTabObj->supportsAjax()): ?>
+          <?php if (!$this->loadInitialTabWithAjax || !isset($activeTabObj) || !$activeTabObj->supportsAjax()): ?>
             <div class="tab-pane active <?=$this->escapeHtmlAttr($this->activeTab) ?>-tab">
               <?=isset($activeTabObj) ? $this->record($this->driver)->getTab($activeTabObj) : '' ?>
             </div>
-          <? endif; ?>
+          <?php endif; ?>
         </div>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
 
     <?=$this->driver->supportsCoinsOpenURL()?'<span class="Z3988" title="' . $this->escapeHtmlAttr($this->driver->getCoinsOpenURL()) . '"></span>':''?>
   </div>
 
   <div class="<?=$this->layoutClass('sidebar')?>">
-    <? foreach ($this->related()->getList($this->driver) as $current): ?>
+    <?php foreach ($this->related()->getList($this->driver) as $current): ?>
       <?=$this->related()->render($current)?>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
 </div>
 <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '$(document).ready(recordDocReady);', 'SET'); ?>
diff --git a/themes/bootstrap3/templates/records/home.phtml b/themes/bootstrap3/templates/records/home.phtml
index 2aa66836fa1..e8e558779b4 100644
--- a/themes/bootstrap3/templates/records/home.phtml
+++ b/themes/bootstrap3/templates/records/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     $this->overrideTitle = $this->translate('View Records');
     $this->overrideSearchHeading = '';
 
diff --git a/themes/bootstrap3/templates/search/advanced.phtml b/themes/bootstrap3/templates/search/advanced.phtml
index 779b5a8ea59..5a3d71ded69 100644
--- a/themes/bootstrap3/templates/search/advanced.phtml
+++ b/themes/bootstrap3/templates/search/advanced.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Load the Solr-specific advanced search controls and inject them into the
   // standard advanced search layout:
   $this->extraAdvancedControls = $this->render('search/advanced/solr.phtml');
diff --git a/themes/bootstrap3/templates/search/advanced/build_page.phtml b/themes/bootstrap3/templates/search/advanced/build_page.phtml
index cfb4ad36d92..c64aa98613d 100644
--- a/themes/bootstrap3/templates/search/advanced/build_page.phtml
+++ b/themes/bootstrap3/templates/search/advanced/build_page.phtml
@@ -11,19 +11,19 @@ $(document).ready(function() {
   $('#new_group_template .adv-search').remove();
   $('#advSearchForm .no-js').remove();
   // Build page
-  <? if (isset($this->searchDetails) && is_object($this->searchDetails)): ?>
-    <? foreach ($this->searchDetails->getQueries() as $searchGroup): ?>
-      <? $i = 0; foreach ($searchGroup->getQueries() as $search): ?>
-        <? if (++$i == 1): ?>
+  <?php if (isset($this->searchDetails) && is_object($this->searchDetails)): ?>
+    <?php foreach ($this->searchDetails->getQueries() as $searchGroup): ?>
+      <?php $i = 0; foreach ($searchGroup->getQueries() as $search): ?>
+        <?php if (++$i == 1): ?>
           var new_group = addGroup('<?=addslashes($search->getString())?>', '<?=addslashes($search->getHandler())?>', '<?=$searchGroup->isNegated() ? 'NOT' : $searchGroup->getOperator()?>');
-        <? else: ?>
+        <?php else: ?>
           addSearch(new_group, {term:'<?=addslashes($search->getString())?>', field:'<?=addslashes($search->getHandler())?>'});
-        <? endif; ?>
-      <? endforeach; ?>
-    <? endforeach; ?>
-  <? else: ?>
+        <?php endif; ?>
+      <?php endforeach; ?>
+    <?php endforeach; ?>
+  <?php else: ?>
     var group = addGroup();
     addSearch(group);
     addSearch(group);
-  <? endif; ?>
+  <?php endif; ?>
 });
diff --git a/themes/bootstrap3/templates/search/advanced/build_page_eds.phtml b/themes/bootstrap3/templates/search/advanced/build_page_eds.phtml
index 6fe08fcebcc..7207789f705 100644
--- a/themes/bootstrap3/templates/search/advanced/build_page_eds.phtml
+++ b/themes/bootstrap3/templates/search/advanced/build_page_eds.phtml
@@ -10,27 +10,27 @@ $(document).ready(function() {
   $('#advSearchForm .no-js').remove();
   $('#groupJoin').remove();
   // Build page
-  <? if (isset($this->searchDetails) && is_object($this->searchDetails)): ?>
-    <? foreach ($this->searchDetails->getQueries() as $searchGroup): ?>
-      <? $i = 0; foreach ($searchGroup->getQueries() as $search): ?>
-        <? if (++$i == 1): ?>
+  <?php if (isset($this->searchDetails) && is_object($this->searchDetails)): ?>
+    <?php foreach ($this->searchDetails->getQueries() as $searchGroup): ?>
+      <?php $i = 0; foreach ($searchGroup->getQueries() as $search): ?>
+        <?php if (++$i == 1): ?>
           var new_group = addGroup(
             '<?=addslashes($search->getString())?>',
             '<?=addslashes($search->getHandler())?>',
             '<?=$searchGroup->isNegated() ? 'NOT' : $searchGroup->getOperator()?>'
           );
-        <? else: ?>
+        <?php else: ?>
           addSearch(new_group, {
             term :'<?=addslashes($search->getString())?>',
             field:'<?=addslashes($search->getHandler())?>',
             op   :'<?=addslashes($search->getOperator())?>'
           });
-        <? endif; ?>
-      <? endforeach; ?>
-    <? endforeach; ?>
-  <? else: ?>
+        <?php endif; ?>
+      <?php endforeach; ?>
+    <?php endforeach; ?>
+  <?php else: ?>
     var new_group = addGroup();
     addSearch(new_group);
     addSearch(new_group);
-  <? endif; ?>
+  <?php endif; ?>
 });
diff --git a/themes/bootstrap3/templates/search/advanced/checkbox-filters.phtml b/themes/bootstrap3/templates/search/advanced/checkbox-filters.phtml
index a1b55ad7b45..6edb65cb721 100644
--- a/themes/bootstrap3/templates/search/advanced/checkbox-filters.phtml
+++ b/themes/bootstrap3/templates/search/advanced/checkbox-filters.phtml
@@ -1,12 +1,12 @@
-<? if (isset($this->checkboxFacets) && count($this->checkboxFacets) > 0): ?>
+<?php if (isset($this->checkboxFacets) && count($this->checkboxFacets) > 0): ?>
   <div class="checkbox-filters">
-    <? foreach ($this->checkboxFacets as $current): ?>
+    <?php foreach ($this->checkboxFacets as $current): ?>
       <div class="checkbox">
         <label>
-          <input type="checkbox" name="filter[]" value="<?=$this->escapeHtmlAttr($current['filter'])?>" id="<?=$this->escapeHtmlAttr(str_replace(' ', '', $current['desc']))?>"<? if ($current['selected']): ?> checked="checked"<? endif; ?>/>
+          <input type="checkbox" name="filter[]" value="<?=$this->escapeHtmlAttr($current['filter'])?>" id="<?=$this->escapeHtmlAttr(str_replace(' ', '', $current['desc']))?>"<?php if ($current['selected']): ?> checked="checked"<?php endif; ?>/>
           <?=$this->transEsc($current['desc'])?>
         </label>
       </div>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/advanced/eds.phtml b/themes/bootstrap3/templates/search/advanced/eds.phtml
index a437c9d6622..99913e3baaa 100644
--- a/themes/bootstrap3/templates/search/advanced/eds.phtml
+++ b/themes/bootstrap3/templates/search/advanced/eds.phtml
@@ -1,7 +1,7 @@
-<? if (!empty($this->expanderList)): ?>
+<?php if (!empty($this->expanderList)): ?>
   <fieldset class="eds">
     <legend><?=$this->transEsc('eds_modes_and_expanders')?></legend>
-    <? foreach ($this->expanderList as $field => $expander):
+    <?php foreach ($this->expanderList as $field => $expander):
       $value = $expander['Value'] ?>
       <div class="checkbox">
         <label for="expand_<?=$this->escapeHtmlAttr(str_replace(' ', '+', $field))?>">
@@ -9,35 +9,35 @@
           <?=$this->transEsc('eds_expander_' . $value, [], $expander['Label'])?>
         </label>
       </div>
-    <? endforeach; ?>
+    <?php endforeach; ?>
 
     <label for="searchModes"><?=$this->transEsc('Search Mode')?></label>
     <select id="searchMode_<?=$this->escapeHtmlAttr($field)?>" name="filter[]" class="form-control">
-      <? foreach ($this->searchModes as $field => $searchMode):
+      <?php foreach ($this->searchModes as $field => $searchMode):
         $value = $searchMode['Value'] ?>
         <option <?=(isset($searchMode['selected']) && $searchMode['selected'])?'selected="selected"':''?> value="SEARCHMODE:<?=$this->escapeHtmlAttr($value)?>">
           <?= /* 'Label' comes from API and is always in English; try to translate structured value before using it: */ $this->transEsc('eds_mode_' . $value, [], $searchMode['Label']) ?>
         </option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </select>
   </fieldset>
-<? endif; ?>
+<?php endif; ?>
 
-<? if (!empty($this->limiterList)): ?>
+<?php if (!empty($this->limiterList)): ?>
   <fieldset class="eds">
     <legend><?=$this->transEsc('Limit To')?></legend>
-    <? foreach ($this->limiterList as $field => $facet): ?>
-      <? switch($facet['Type']){
+    <?php foreach ($this->limiterList as $field => $facet): ?>
+      <?php switch($facet['Type']){
           case 'multiselectvalue': ?>
             <label for="limit_<?=$this->escapeHtmlAttr(str_replace(' ', '+', $field))?>"><?=$this->transEsc($facet['Label'])?></label><br/>
             <select id="limit_<?=$this->escapeHtmlAttr($field)?>" name="filter[]" multiple="multiple" size="10" class="form-control">
-              <? foreach ($facet['LimiterValues'] as $id => $facetValue): ?>
-                <? $value = $facetValue['Value']; ?>
+              <?php foreach ($facet['LimiterValues'] as $id => $facetValue): ?>
+                <?php $value = $facetValue['Value']; ?>
                 <option value="<?='LIMIT|' . $this->escapeHtmlAttr($field . ':' . $facetValue['Value'])?>"<?=(isset($facetValue['selected']) && $facetValue['selected'])?' selected="selected"':''?>><?=$this->escapeHtml($facetValue['Value'])?></option>
-              <? endforeach; ?>
+              <?php endforeach; ?>
             </select>
             <!-- <br/> -->
-            <? break;
+            <?php break;
           case 'select':
             $value = $facet['LimiterValues'][0]['Value'] ?>
             <div class="checkbox">
@@ -46,33 +46,33 @@
                 <?=$this->transEsc('eds_limiter_' . $field, [], $facet['Label'])?>
               </label>
             </div>
-            <? break;
+            <?php break;
           case 'text': ?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
           case 'numeric':?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
           case 'numericrange':?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
           case 'ymrange': ?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
           case 'yrange': ?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
           case 'historicalrange':?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
           case 'singleselectvalue':?>
             <!-- not implemented -->
-            <? break;
+            <?php break;
         } ?>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </fieldset>
-<? endif; ?>
-<? if (isset($this->dateRangeLimit)): ?>
+<?php endif; ?>
+<?php if (isset($this->dateRangeLimit)): ?>
   <fieldset class="eds">
     <legend><?=$this->transEsc('adv_search_year')?></legend>
     <input type="hidden" name="daterange[]" value="PublicationDate"/>
@@ -89,7 +89,7 @@
       <div class="slider-container">
         <input type="text" id="PublicationDateSlider">
       </div>
-      <?
+      <?php
         $this->headScript()->appendFile('vendor/bootstrap-slider.min.js');
         $this->headLink()->appendStylesheet('vendor/bootstrap-slider.min.css');
         $min = !empty($current['values'][0]) ? min($current['values'][0], 1400) : 1400;
@@ -125,4 +125,4 @@ JS;
     ?>
     <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
   </fieldset>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/advanced/layout.phtml b/themes/bootstrap3/templates/search/advanced/layout.phtml
index ba199df4684..87476abe8cb 100644
--- a/themes/bootstrap3/templates/search/advanced/layout.phtml
+++ b/themes/bootstrap3/templates/search/advanced/layout.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Advanced Search'));
 
@@ -64,23 +64,23 @@
 <?=$this->flashmessages()?>
 <div role="search">
   <form name="searchForm" id="advSearchForm" method="get" action="<?=$this->url($this->options->getSearchAction())?>">
-    <? foreach ($hiddenFilters as $key => $filter): ?>
-      <? foreach ($filter as $value): ?>
+    <?php foreach ($hiddenFilters as $key => $filter): ?>
+      <?php foreach ($filter as $value): ?>
         <input type="hidden" name="hiddenFilters[]" value="<?=$this->escapeHtmlAttr($key) . ':' . $this->escapeHtmlAttr($value)?>" />
-      <? endforeach; ?>
-    <? endforeach; ?>
+      <?php endforeach; ?>
+    <?php endforeach; ?>
     <div class="<?=$this->layoutClass('mainbody')?>">
-      <? $lastSort = $this->searchMemory()->getLastSort($this->searchClassId); ?>
-      <? if (!empty($lastSort)): ?>
+      <?php $lastSort = $this->searchMemory()->getLastSort($this->searchClassId); ?>
+      <?php if (!empty($lastSort)): ?>
         <input type="hidden" name="sort" value="<?=$this->escapeHtmlAttr($lastSort)?>" />
-      <? endif; ?>
+      <?php endif; ?>
       <div class="clearfix">
         <h2 class="pull-left flip"><?=$this->transEsc('Advanced Search')?></h2>
         <div id="groupJoin" class="form-inline pull-right flip">
           <label for="groupJoinOptions"><?=$this->transEsc("search_match")?>:</label>
           <select id="groupJoinOptions" name="join" class="form-control">
-            <option value="AND"<? if($searchDetails && $searchDetails->getOperator() == 'ALL'):?> selected<? endif; ?>><?= $this->transEsc('group_AND') ?></option>
-            <option value="OR"<? if($searchDetails && $searchDetails->getOperator() == 'OR'):?> selected<? endif; ?>><?= $this->transEsc('group_OR') ?></option>
+            <option value="AND"<?php if($searchDetails && $searchDetails->getOperator() == 'ALL'):?> selected<?php endif; ?>><?= $this->transEsc('group_AND') ?></option>
+            <option value="OR"<?php if($searchDetails && $searchDetails->getOperator() == 'OR'):?> selected<?php endif; ?>><?= $this->transEsc('group_OR') ?></option>
           </select>
         </div>
       </div>
@@ -88,61 +88,61 @@
         <i class="fa fa-plus-circle" aria-hidden="true"></i>
         <a href="#" onClick="addGroup();return false"><?= $this->transEsc('add_search_group') ?></a>
       </span>
-      <? /* fallback to a fixed set of search groups/fields if JavaScript is turned off */ ?>
+      <?php /* fallback to a fixed set of search groups/fields if JavaScript is turned off */ ?>
       <div class="no-js">
-        <? if(!empty($this->formOverride)): ?>
+        <?php if(!empty($this->formOverride)): ?>
           <?=$this->formOverride ?>
-        <? else: ?>
-          <? for($group = 0; $group < 3 || $group <= $setGroupCount; $group++): ?>
-            <? if($group == 0): ?>
+        <?php else: ?>
+          <?php for($group = 0; $group < 3 || $group <= $setGroupCount; $group++): ?>
+            <?php if($group == 0): ?>
               <div id="new_group_template">
-            <? endif; ?>
+            <?php endif; ?>
             <div id="group<?=$group ?>" class="adv-group">
               <div class="adv-group-terms">
                 <label class="adv-group-label"><?=$this->transEsc("adv_search_label")?>:</label>
-                <? for($search = 0; $search < 3 || (isset($setQueries[$group]) && $search < count($setQueries[$group])); $search++): ?>
-                  <? if($group == 0 && $search == 0): ?>
+                <?php for($search = 0; $search < 3 || (isset($setQueries[$group]) && $search < count($setQueries[$group])); $search++): ?>
+                  <?php if($group == 0 && $search == 0): ?>
                     <div id="new_search_template">
-                  <? endif; ?>
+                  <?php endif; ?>
                   <div id="search<?=$group . '_' . $search ?>" class="adv-search">
-                    <input name="lookfor<?=$group ?>[]" id="search_lookfor<?=$group . '_' . $search ?>" class="adv-term-input form-control" type="text"<? if (isset($setQueries[$group][$search])): ?> value="<?=$this->escapeHtml($setQueries[$group][$search]->getString())?>"<? endif; ?>>
+                    <input name="lookfor<?=$group ?>[]" id="search_lookfor<?=$group . '_' . $search ?>" class="adv-term-input form-control" type="text"<?php if (isset($setQueries[$group][$search])): ?> value="<?=$this->escapeHtml($setQueries[$group][$search]->getString())?>"<?php endif; ?>>
                     <select class="adv-term-type form-control" name="type<?=$group ?>[]">
-                      <? foreach ($this->options->getAdvancedHandlers() as $searchVal => $searchDesc): ?>
-                        <option value="<?=$this->escapeHtml($searchVal)?>"<? if (isset($setQueries[$group][$search]) && $searchVal == $setQueries[$group][$search]->getHandler()): ?> selected<? endif; ?>><?=$this->transEsc($searchDesc)?></option>
-                      <? endforeach; ?>
+                      <?php foreach ($this->options->getAdvancedHandlers() as $searchVal => $searchDesc): ?>
+                        <option value="<?=$this->escapeHtml($searchVal)?>"<?php if (isset($setQueries[$group][$search]) && $searchVal == $setQueries[$group][$search]->getHandler()): ?> selected<?php endif; ?>><?=$this->transEsc($searchDesc)?></option>
+                      <?php endforeach; ?>
                     </select>
                     <a href="#" class="adv-term-remove hidden">&times;</a>
                   </div>
-                  <? if($group == 0 && $search == 0): ?>
+                  <?php if($group == 0 && $search == 0): ?>
                       </div>
                     <span class="float-left">
                       <i class="fa fa-plus-circle search_place_holder hidden" aria-hidden="true"></i>
                       <a href="#" class="add_search_link hidden"><?=$this->transEsc("add_search")?></a>
                     </span>
-                  <? endif; ?>
-                <? endfor; ?>
+                  <?php endif; ?>
+                <?php endfor; ?>
               </div>
               <div class="adv-group-match">
                 <label class="search_bool"><?=$this->transEsc("search_match")?>:&nbsp;</label>
                 <select name="bool<?=$group ?>[]" id="search_bool<?=$group ?>" class="form-control">
-                  <option value="AND"<? if(isset($setSearchGroups[$group]) && 'AND' == $setSearchGroups[$group]):?> selected<? endif; ?>><?=$this->transEsc("search_AND")?></option>
-                  <option value="OR"<? if(isset($setSearchGroups[$group]) && 'OR' == $setSearchGroups[$group]):?> selected<? endif; ?>><?=$this->transEsc("search_OR")?></option>
-                  <option value="NOT"<? if(isset($setSearchGroups[$group]) && 'NOT' == $setSearchGroups[$group]):?> selected<? endif; ?>><?=$this->transEsc("search_NOT")?></option>
+                  <option value="AND"<?php if(isset($setSearchGroups[$group]) && 'AND' == $setSearchGroups[$group]):?> selected<?php endif; ?>><?=$this->transEsc("search_AND")?></option>
+                  <option value="OR"<?php if(isset($setSearchGroups[$group]) && 'OR' == $setSearchGroups[$group]):?> selected<?php endif; ?>><?=$this->transEsc("search_OR")?></option>
+                  <option value="NOT"<?php if(isset($setSearchGroups[$group]) && 'NOT' == $setSearchGroups[$group]):?> selected<?php endif; ?>><?=$this->transEsc("search_NOT")?></option>
                 </select>
               </div>
               <a href="#" class="adv-group-close hidden"><i class="fa fa-close"></i> <?=$this->transEsc("del_search")?></a>
             </div>
-            <? if($group == 0): ?>
+            <?php if($group == 0): ?>
               </div>
-            <? endif; ?>
-          <? endfor; ?>
-        <? endif; ?>
+            <?php endif; ?>
+          <?php endfor; ?>
+        <?php endif; ?>
       </div>
       <div class="adv-submit">
         <input class="clear-btn btn btn-default" type="button" value="<?= $this->transEsc('Clear')?>">
         <input class="btn btn-primary" type="submit" value="<?= $this->transEsc('Find')?>">
       </div>
-      <? if (isset($this->extraAdvancedControls)): ?>
+      <?php if (isset($this->extraAdvancedControls)): ?>
         <div class="clearfix">
           <?=$this->extraAdvancedControls ?>
         </div>
@@ -150,14 +150,14 @@
           <input class="clear-btn btn btn-default" type="button" value="<?= $this->transEsc('Clear')?>">
           <input class="btn btn-primary" type="submit" value="<?= $this->transEsc('Find')?>">
         </div>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
 
     <div class="<?=$this->layoutClass('sidebar')?>">
-      <? if ($hasDefaultsApplied): ?>
+      <?php if ($hasDefaultsApplied): ?>
         <input type="hidden" name="dfApplied" value="1" />
-      <? endif ?>
-      <? if (!empty($searchFilters)): ?>
+      <?php endif ?>
+      <?php if (!empty($searchFilters)): ?>
         <h4><?=$this->transEsc("adv_search_filters")?></h4>
         <div class="facet-group">
           <label class="checkbox">
@@ -165,15 +165,15 @@
             <?=$this->transEsc("adv_search_select_all")?>
           </label>
         </div>
-        <? foreach ($searchFilters as $field => $data): ?>
+        <?php foreach ($searchFilters as $field => $data): ?>
           <div class="facet-group">
             <div class="title"><?=$this->transEsc($field)?></div>
-            <? foreach ($data as $value): ?>
+            <?php foreach ($data as $value): ?>
               <label class="facet checkbox"><input class="checkbox-select-item" type="checkbox" checked="checked" name="filter[]" value='<?=$this->escapeHtmlAttr($value['field'])?>:"<?=$this->escapeHtmlAttr($value['value'])?>"' /> <?=$this->escapeHtml($value['displayText'])?></label>
-            <? endforeach; ?>
+            <?php endforeach; ?>
           </div>
-        <? endforeach; ?>
-      <? endif; ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
       <h4><?=$this->transEsc("Search Tips")?></h4>
       <div class="facet-group">
         <a class="facet help-link" data-lightbox href="<?=$this->url('help-home')?>?topic=advsearch&amp;_=<?=time() ?>"><?=$this->transEsc("Help with Advanced Search")?></a>
diff --git a/themes/bootstrap3/templates/search/advanced/limit.phtml b/themes/bootstrap3/templates/search/advanced/limit.phtml
index 29a25960d9c..cefe0802f32 100644
--- a/themes/bootstrap3/templates/search/advanced/limit.phtml
+++ b/themes/bootstrap3/templates/search/advanced/limit.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up convenience variables:
     $limitList = $this->options->getLimitOptions();
 
@@ -6,13 +6,13 @@
     $lastLimit = $this->searchMemory()->getLastLimit($this->options->getSearchClassId());
     $defaultLimit = empty($lastLimit) ? $this->options->getDefaultLimit() : $lastLimit;
 ?>
-<? if (count($limitList) > 1): ?>
+<?php if (count($limitList) > 1): ?>
   <fieldset class="limits">
     <legend><?=$this->transEsc('Results per page')?></legend>
     <select id="limit" name="limit" class="form-control">
-      <? foreach ($limitList as $limitVal): ?>
+      <?php foreach ($limitList as $limitVal): ?>
         <option value="<?=$this->escapeHtmlAttr($limitVal)?>" <?=($limitVal == $defaultLimit) ? 'selected="selected"' : ''?>><?=$this->escapeHtml($limitVal)?></option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </select>
   </fieldset>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/advanced/ranges.phtml b/themes/bootstrap3/templates/search/advanced/ranges.phtml
index b24fcc390af..7f51cb42262 100644
--- a/themes/bootstrap3/templates/search/advanced/ranges.phtml
+++ b/themes/bootstrap3/templates/search/advanced/ranges.phtml
@@ -1,7 +1,7 @@
-<? if (isset($this->ranges) && !empty($this->ranges)): ?>
-  <? $params = $this->searchParams($this->searchClassId); $params->activateAllFacets(); ?>
-  <? foreach ($this->ranges as $current): $escField = $this->escapeHtmlAttr($current['field']); ?>
-    <? $extraInputAttribs = ($current['type'] == 'date') ? 'maxlength="4" ' : ''; ?>
+<?php if (isset($this->ranges) && !empty($this->ranges)): ?>
+  <?php $params = $this->searchParams($this->searchClassId); $params->activateAllFacets(); ?>
+  <?php foreach ($this->ranges as $current): $escField = $this->escapeHtmlAttr($current['field']); ?>
+    <?php $extraInputAttribs = ($current['type'] == 'date') ? 'maxlength="4" ' : ''; ?>
     <fieldset class="range">
       <legend><?=$this->transEsc($params->getFacetLabel($current['field']))?></legend>
       <input type="hidden" name="<?=$this->escapeHtmlAttr($current['type'])?>range[]" value="<?=$escField?>"/>
@@ -15,11 +15,11 @@
           <input type="text" name="<?=$escField?>to" id="<?=$escField?>to" value="<?=isset($current['values'][1])?$this->escapeHtmlAttr($current['values'][1]):''?>" class="form-control" <?=$extraInputAttribs?>/>
         </div>
       </div>
-      <? if ($current['type'] == 'date'): ?>
+      <?php if ($current['type'] == 'date'): ?>
         <div class="slider-container">
           <input type="text" id="<?=$escField?><?=$this->escapeHtmlAttr($current['type'])?>Slider">
         </div>
-        <?
+        <?php
           $this->headScript()->appendFile('vendor/bootstrap-slider.min.js');
           $this->headLink()->appendStylesheet('vendor/bootstrap-slider.min.css');
           $min = !empty($current['values'][0]) ? min($current['values'][0], 1400) : 1400;
@@ -67,7 +67,7 @@ $('#{$escField}from, #{$escField}to').change(function () {
 JS;
         ?>
         <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
-      <? endif; ?>
+      <?php endif; ?>
     </fieldset>
-  <? endforeach; ?>
-<? endif; ?>
+  <?php endforeach; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/advanced/solr.phtml b/themes/bootstrap3/templates/search/advanced/solr.phtml
index 9e9362877a5..a305515e0f2 100644
--- a/themes/bootstrap3/templates/search/advanced/solr.phtml
+++ b/themes/bootstrap3/templates/search/advanced/solr.phtml
@@ -1,21 +1,21 @@
-<? if (!empty($this->facetList) || !empty($this->checkboxFacets)): ?>
+<?php if (!empty($this->facetList) || !empty($this->checkboxFacets)): ?>
   <fieldset class="solr-facets">
     <legend><?=$this->transEsc('Limit To')?></legend>
-    <? if (!empty($this->checkboxFacets)): ?>
+    <?php if (!empty($this->checkboxFacets)): ?>
       <?=$this->render('search/advanced/checkbox-filters.phtml')?>
-    <? endif; ?>
+    <?php endif; ?>
     <div class="solr-facet-container">
-      <? foreach ($this->facetList as $field => $list): ?>
+      <?php foreach ($this->facetList as $field => $list): ?>
         <div class="solr-adv-facet">
           <label for="limit_<?=$this->escapeHtmlAttr(str_replace(' ', '', $field))?>"><?=$this->transEsc($list['label'])?>:</label>
           <select class="form-control" id="limit_<?=$this->escapeHtmlAttr(str_replace(' ', '', $field))?>" name="filter[]" multiple="multiple" size="10">
-            <? if (is_array($this->hierarchicalFacets) && in_array($field, $this->hierarchicalFacets)): ?>
-              <? foreach ($list['list'] as $value): ?>
-                <? $display = str_pad('', 4 * $value['level'] * 6, '&nbsp;', STR_PAD_LEFT) . $this->escapeHtml($value['displayText']); ?>
+            <?php if (is_array($this->hierarchicalFacets) && in_array($field, $this->hierarchicalFacets)): ?>
+              <?php foreach ($list['list'] as $value): ?>
+                <?php $display = str_pad('', 4 * $value['level'] * 6, '&nbsp;', STR_PAD_LEFT) . $this->escapeHtml($value['displayText']); ?>
                 <option value="<?=$this->escapeHtmlAttr(($value['operator'] == 'OR' ? '~' : '') . $field . ':"' . $value['value'] . '"')?>"<?=(isset($value['selected']) && $value['selected'])?' selected="selected"':''?>><?=$display?></option>
-              <? endforeach; ?>
-            <? else: ?>
-              <?
+              <?php endforeach; ?>
+            <?php else: ?>
+              <?php
               // Sort the current facet list alphabetically; we'll use this data
               // along with the foreach below to display facet options in the
               // correct order.
@@ -27,25 +27,25 @@
               }
               natcasesort($sorted);
               ?>
-              <? foreach ($sorted as $i => $display): ?>
-                <? $value = $list['list'][$i]; ?>
+              <?php foreach ($sorted as $i => $display): ?>
+                <?php $value = $list['list'][$i]; ?>
                 <option value="<?=$this->escapeHtmlAttr(($value['operator'] == 'OR' ? '~' : '') . $field . ':"' . $value['value'] . '"')?>"<?=(isset($value['selected']) && $value['selected'])?' selected="selected"':''?>><?=$this->escapeHtml($display)?></option>
-              <? endforeach; ?>
-            <? endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
           </select>
         </div>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
   </fieldset>
-<? endif; ?>
-<? if (isset($this->illustratedLimit)): ?>
+<?php endif; ?>
+<?php if (isset($this->illustratedLimit)): ?>
   <fieldset class="solr">
     <legend><?=$this->transEsc("Illustrated")?>:</legend>
-    <? foreach ($this->illustratedLimit as $current): ?>
+    <?php foreach ($this->illustratedLimit as $current): ?>
       <input id="illustrated_<?=$this->escapeHtmlAttr($current['value'])?>" type="radio" name="illustration" value="<?=$this->escapeHtmlAttr($current['value'])?>"<?=$current['selected']?' checked="checked"':''?>/>
       <label for="illustrated_<?=$this->escapeHtmlAttr($current['value'])?>"><?=$this->transEsc($current['text'])?></label><br/>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </fieldset>
-<? endif; ?>
+<?php endif; ?>
 <?=$this->render('search/advanced/limit.phtml')?>
 <?=$this->render('search/advanced/ranges.phtml')?>
diff --git a/themes/bootstrap3/templates/search/advanced/summon.phtml b/themes/bootstrap3/templates/search/advanced/summon.phtml
index 9d8a6ec3e07..ee16f075e8f 100644
--- a/themes/bootstrap3/templates/search/advanced/summon.phtml
+++ b/themes/bootstrap3/templates/search/advanced/summon.phtml
@@ -1,14 +1,14 @@
-<? if (!empty($this->facetList) || !empty($this->checkboxFacets)): ?>
+<?php if (!empty($this->facetList) || !empty($this->checkboxFacets)): ?>
   <fieldset class="summon-facets">
     <legend><?=$this->transEsc('Limit To')?></legend>
-    <? if (!empty($this->checkboxFacets)): ?>
+    <?php if (!empty($this->checkboxFacets)): ?>
       <?=$this->render('search/advanced/checkbox-filters.phtml')?>
-    <? endif; ?>
-    <? foreach ($this->facetList as $field => $list): ?>
+    <?php endif; ?>
+    <?php foreach ($this->facetList as $field => $list): ?>
       <div class="facet-fieldset">
         <label for="limit_<?=$this->escapeHtmlAttr(str_replace(' ', '', $field))?>"><?=$this->transEsc($list['label'])?>:</label>
         <select class="form-control" id="limit_<?=$this->escapeHtmlAttr(str_replace(' ', '', $field))?>" name="filter[]" multiple="multiple" size="10">
-          <?
+          <?php
             // Sort the current facet list alphabetically; we'll use this data
             // along with the foreach below to display facet options in the
             // correct order.
@@ -18,14 +18,14 @@
             }
             natcasesort($sorted);
           ?>
-          <? foreach ($sorted as $i => $display): ?>
-            <? $value = $list['list'][$i]; ?>
+          <?php foreach ($sorted as $i => $display): ?>
+            <?php $value = $list['list'][$i]; ?>
             <option value="<?=$this->escapeHtmlAttr(($value['operator'] == 'OR' ? '~' : '') . $field . ':"' . $value['value'] . '"')?>"<?=(isset($value['selected']) && $value['selected'])?' selected="selected"':''?>><?=$this->escapeHtml($display)?></option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
       </div>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </fieldset>
-<? endif; ?>
+<?php endif; ?>
 <?=$this->render('search/advanced/limit.phtml')?>
 <?=$this->render('search/advanced/ranges.phtml')?>
diff --git a/themes/bootstrap3/templates/search/bulk-action-buttons.phtml b/themes/bootstrap3/templates/search/bulk-action-buttons.phtml
index 06cf0f43298..5955b7d2782 100644
--- a/themes/bootstrap3/templates/search/bulk-action-buttons.phtml
+++ b/themes/bootstrap3/templates/search/bulk-action-buttons.phtml
@@ -1,26 +1,26 @@
-<? if (isset($this->showCheckboxes) && $this->showCheckboxes): ?>
+<?php if (isset($this->showCheckboxes) && $this->showCheckboxes): ?>
   <div class="bulkActionButtons hidden-print">
     <div class="bulk-checkbox">
-      <input type="checkbox" class="checkbox-select-all" name="selectAll" id="<?=$this->idPrefix?>addFormCheckboxSelectAll"<? if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<? endif; ?>/>
+      <input type="checkbox" class="checkbox-select-all" name="selectAll" id="<?=$this->idPrefix?>addFormCheckboxSelectAll"<?php if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<?php endif; ?>/>
       <label for="<?=$this->idPrefix?>addFormCheckboxSelectAll">
         <?=$this->transEsc('select_page')?>
         &#124; <?=$this->transEsc('with_selected')?>:
       </label>
     </div>
     <div class="btn-group">
-      <? if (isset($this->showBulkOptions) && $this->showBulkOptions): ?>
-        <input id="ribbon-email" class="btn btn-default" type="submit" name="email" title="<?=$this->transEsc('bookbag_email_selected')?>" value="<?=$this->transEsc('Email')?>"<? if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<? endif; ?>/>
-        <? $exportOptions = $this->export()->getBulkOptions(); if (count($exportOptions) > 0): ?>
-          <input id="ribbon-export" class="btn btn-default" type="submit" name="export" title="<?=$this->transEsc('bookbag_export_selected')?>" value="<?=$this->transEsc('Export')?>"<? if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<? endif; ?>/>
-        <? endif; ?>
-        <input id="ribbon-print" class="btn btn-default" type="submit" name="print" title="<?=$this->transEsc('bookbag_print_selected')?>" value="<?=$this->transEsc('Print')?>"<? if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<? endif; ?>/>
-        <? if ($this->userlist()->getMode() !== 'disabled'): ?>
-          <input id="ribbon-save" class="btn btn-default" type="submit" name="saveCart" title="<?=$this->transEsc('bookbag_save_selected')?>" value="<?=$this->transEsc('Save')?>"<? if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<? endif; ?>/>
-        <? endif; ?>
-      <? endif; ?>
-      <? if (isset($this->showCartControls) && $this->showCartControls): ?>
-        <input id="<?=$this->idPrefix?>updateCart" type="submit" class="btn btn-default" name="add" value="<?=$this->transEsc('Add to Book Bag')?>"<? if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<? endif; ?>/>
-      <? endif; ?>
+      <?php if (isset($this->showBulkOptions) && $this->showBulkOptions): ?>
+        <input id="ribbon-email" class="btn btn-default" type="submit" name="email" title="<?=$this->transEsc('bookbag_email_selected')?>" value="<?=$this->transEsc('Email')?>"<?php if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<?php endif; ?>/>
+        <?php $exportOptions = $this->export()->getBulkOptions(); if (count($exportOptions) > 0): ?>
+          <input id="ribbon-export" class="btn btn-default" type="submit" name="export" title="<?=$this->transEsc('bookbag_export_selected')?>" value="<?=$this->transEsc('Export')?>"<?php if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<?php endif; ?>/>
+        <?php endif; ?>
+        <input id="ribbon-print" class="btn btn-default" type="submit" name="print" title="<?=$this->transEsc('bookbag_print_selected')?>" value="<?=$this->transEsc('Print')?>"<?php if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<?php endif; ?>/>
+        <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
+          <input id="ribbon-save" class="btn btn-default" type="submit" name="saveCart" title="<?=$this->transEsc('bookbag_save_selected')?>" value="<?=$this->transEsc('Save')?>"<?php if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<?php endif; ?>/>
+        <?php endif; ?>
+      <?php endif; ?>
+      <?php if (isset($this->showCartControls) && $this->showCartControls): ?>
+        <input id="<?=$this->idPrefix?>updateCart" type="submit" class="btn btn-default" name="add" value="<?=$this->transEsc('Add to Book Bag')?>"<?php if ($this->formAttr): ?> form="<?=$this->escapeHtmlAttr($this->formAttr) ?>"<?php endif; ?>/>
+      <?php endif; ?>
     </div>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/controls/limit.phtml b/themes/bootstrap3/templates/search/controls/limit.phtml
index 6d691ecfb46..b322fbac571 100644
--- a/themes/bootstrap3/templates/search/controls/limit.phtml
+++ b/themes/bootstrap3/templates/search/controls/limit.phtml
@@ -1,12 +1,12 @@
-<? $limitList = $this->params->getLimitList(); ?>
-<? if (count($limitList) > 1): ?>
+<?php $limitList = $this->params->getLimitList(); ?>
+<?php if (count($limitList) > 1): ?>
   <form class="form-inline" action="<?=$this->currentPath() . $this->results->getUrlQuery()->setLimit(null)?>" method="post">
     <label for="limit"><?=$this->transEsc('Results per page')?></label>
     <select id="limit" name="limit" class="jumpMenu form-control">
-      <? foreach ($limitList as $limitVal => $limitData): ?>
+      <?php foreach ($limitList as $limitVal => $limitData): ?>
         <option value="<?=$this->escapeHtmlAttr($limitVal)?>"<?=$limitData['selected']?' selected="selected"':''?>><?=$this->escapeHtml($limitData['desc'])?></option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </select>
     <noscript><input type="submit" value="<?=$this->transEsc("Set")?>" /></noscript>
   </form>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/controls/showing.phtml b/themes/bootstrap3/templates/search/controls/showing.phtml
index cb8c4d933cf..b0ae18b0c94 100644
--- a/themes/bootstrap3/templates/search/controls/showing.phtml
+++ b/themes/bootstrap3/templates/search/controls/showing.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $transParams = [
     '%%start%%' => $this->localizedNumber($this->results->getStartRecord()),
     '%%end%%' => $this->localizedNumber($this->results->getEndRecord()),
@@ -6,23 +6,23 @@
     '%%lookfor%%' => $this->escapeHtml($this->lookfor)
   ];
 ?>
-<? if (!isset($this->skipTotalCount)): ?>
-  <? $showingResults = $this->translate('showing_results_of_html', $transParams); ?>
-<? else: ?>
-  <? $showingResults = $this->translate('showing_results_html', $transParams); ?>
-<? endif; ?>
-<? if (isset($this->overrideSearchHeading)): ?>
-  <? $showingResults .= ' ' . $this->overrideSearchHeading; ?>
-<? elseif ($this->params->getSearchType() == 'basic'): ?>
-  <? if (!isset($this->skipTotalCount)): ?>
-    <? $showingResults = $this->translate('showing_results_of_for_html', $transParams); ?>
-  <? else: ?>
-    <? $showingResults = $this->translate('showing_results_for_html', $transParams); ?>
-  <? endif; ?>
-<? endif; ?>
-<? $this->layout()->srmessage = $showingResults; ?>
-<? if ($qtime = $this->results->getQuerySpeed()): ?>
+<?php if (!isset($this->skipTotalCount)): ?>
+  <?php $showingResults = $this->translate('showing_results_of_html', $transParams); ?>
+<?php else: ?>
+  <?php $showingResults = $this->translate('showing_results_html', $transParams); ?>
+<?php endif; ?>
+<?php if (isset($this->overrideSearchHeading)): ?>
+  <?php $showingResults .= ' ' . $this->overrideSearchHeading; ?>
+<?php elseif ($this->params->getSearchType() == 'basic'): ?>
+  <?php if (!isset($this->skipTotalCount)): ?>
+    <?php $showingResults = $this->translate('showing_results_of_for_html', $transParams); ?>
+  <?php else: ?>
+    <?php $showingResults = $this->translate('showing_results_for_html', $transParams); ?>
+  <?php endif; ?>
+<?php endif; ?>
+<?php $this->layout()->srmessage = $showingResults; ?>
+<?php if ($qtime = $this->results->getQuerySpeed()): ?>
   <?=$showingResults; ?><span class="search-query-time">, <?=$this->transEsc('query time')?>: <?=$this->localizedNumber($qtime, 2) . $this->transEsc('seconds_abbrev')?></span>
-<? else: ?>
+<?php else: ?>
   <?=$showingResults; ?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/controls/sort.phtml b/themes/bootstrap3/templates/search/controls/sort.phtml
index e2dcc77937f..51e0d4f4c7a 100644
--- a/themes/bootstrap3/templates/search/controls/sort.phtml
+++ b/themes/bootstrap3/templates/search/controls/sort.phtml
@@ -1,12 +1,12 @@
-<? $list = $this->params->getSortList(); if (!empty($list)): ?>
+<?php $list = $this->params->getSortList(); if (!empty($list)): ?>
   <form class="search-sort" action="<?=$this->currentPath()?>" method="get" name="sort">
     <?=$this->results->getUrlQuery()->asHiddenFields(['sort' => '/.*/']);?>
     <label for="sort_options_1"><?=$this->transEsc('Sort')?></label>
     <select id="sort_options_1" name="sort" class="jumpMenu form-control">
-      <? foreach ($list as $sortType => $sortData): ?>
+      <?php foreach ($list as $sortType => $sortData): ?>
         <option value="<?=$this->escapeHtmlAttr($sortType)?>"<?=$sortData['selected']?' selected="selected"':''?>><?=$this->transEsc($sortData['desc'])?></option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </select>
     <noscript><input type="submit" class="btn btn-default" value="<?=$this->transEsc("Set")?>" /></noscript>
   </form>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/controls/view.phtml b/themes/bootstrap3/templates/search/controls/view.phtml
index 0d8fef0da6b..82844b9da90 100644
--- a/themes/bootstrap3/templates/search/controls/view.phtml
+++ b/themes/bootstrap3/templates/search/controls/view.phtml
@@ -1,20 +1,20 @@
 <div class="view-buttons hidden-xs">
-  <? $viewList = $this->params->getViewList(); if (count($viewList) > 1): ?>
-    <? foreach ($viewList as $viewType => $viewData): ?>
-      <? $viewDesc = $this->translate($viewData['desc']); ?>
-      <? if (!$viewData['selected']): ?>
+  <?php $viewList = $this->params->getViewList(); if (count($viewList) > 1): ?>
+    <?php foreach ($viewList as $viewType => $viewData): ?>
+      <?php $viewDesc = $this->translate($viewData['desc']); ?>
+      <?php if (!$viewData['selected']): ?>
         <a href="<?=$this->results->getUrlQuery()->setViewParam($viewType)?>" title="<?=$this->escapeHtmlAttr($this->translate('switch_view', ['%%view%%' => $viewDesc]))?>" >
-      <? else: ?>
+      <?php else: ?>
         <span title="<?=$this->escapeHtmlAttr($this->translate('view_already_selected', ['%%current%%' => $viewDesc])) ?>">
-      <? endif; ?>
+      <?php endif; ?>
       <i class="fa fa-<?=$viewType ?>" alt="<?=$this->escapeHtmlAttr($viewDesc)?>"></i>
       <?=$viewDesc ?>
-      <? if (!$viewData['selected']): ?>
+      <?php if (!$viewData['selected']): ?>
         </a>
-      <? else: ?>
+      <?php else: ?>
         </span>
-      <? endif; ?>
+      <?php endif; ?>
       &nbsp;
-    <? endforeach; ?>
-  <? endif; ?>
+    <?php endforeach; ?>
+  <?php endif; ?>
 </div>
diff --git a/themes/bootstrap3/templates/search/email.phtml b/themes/bootstrap3/templates/search/email.phtml
index 9894222f545..f2f80a9fd29 100644
--- a/themes/bootstrap3/templates/search/email.phtml
+++ b/themes/bootstrap3/templates/search/email.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Email this Search'));
 
diff --git a/themes/bootstrap3/templates/search/facet-list.phtml b/themes/bootstrap3/templates/search/facet-list.phtml
index 1d92bff3dc1..17a8705d042 100644
--- a/themes/bootstrap3/templates/search/facet-list.phtml
+++ b/themes/bootstrap3/templates/search/facet-list.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   $options = $this->results->getParams()->getOptions();
   $facetLightbox = $options->getFacetListAction();
   if (empty($this->sortOptions)) {
@@ -13,68 +13,68 @@
   }
 ?>
 <h2><?=$this->transEsc($this->facetLabel) ?></h2>
-<? if (count($this->sortOptions) > 1): ?>
+<?php if (count($this->sortOptions) > 1): ?>
   <div class="full-facet-sort-options">
     <label><?=$this->translate('Sort') ?></label>
     <div class="btn-group">
-      <? foreach ($this->sortOptions as $key => $sort): ?>
-        <a href="<?=$urlBase . '&amp;facetpage=1&amp;facetsort=' . urlencode($key) ?>" class="btn btn-default js-facet-sort<? if($this->sort == $key): ?> active<? endif; ?>" data-sort="<?=$key ?>" data-lightbox-ignore><?=$this->translate($sort) ?></a>
-      <? endforeach; ?>
+      <?php foreach ($this->sortOptions as $key => $sort): ?>
+        <a href="<?=$urlBase . '&amp;facetpage=1&amp;facetsort=' . urlencode($key) ?>" class="btn btn-default js-facet-sort<?php if($this->sort == $key): ?> active<?php endif; ?>" data-sort="<?=$key ?>" data-lightbox-ignore><?=$this->translate($sort) ?></a>
+      <?php endforeach; ?>
     </div>
   </div>
-<? endif; ?>
+<?php endif; ?>
 <div class="lightbox-scroll full-facets">
-  <? foreach ($this->sortOptions as $key => $sort): ?>
-    <? $active = $this->sort == $key; ?>
-    <div class="full-facet-list facet-group<? if(!$active): ?> hidden<? endif; ?>" id="facet-list-<?=$this->escapeHtmlAttr($key) ?>">
-      <? if ($active): ?>
-        <? if ($this->page > 1): ?>
+  <?php foreach ($this->sortOptions as $key => $sort): ?>
+    <?php $active = $this->sort == $key; ?>
+    <div class="full-facet-list facet-group<?php if(!$active): ?> hidden<?php endif; ?>" id="facet-list-<?=$this->escapeHtmlAttr($key) ?>">
+      <?php if ($active): ?>
+        <?php if ($this->page > 1): ?>
           <a href="<?=$urlBase . '&amp;facetpage=' . ($this->page - 1) . '&amp;facetsort=' . $this->sort ?>" class="facet js-facet-prev-page" data-page="<?=($this->page + 1) ?>" data-sort="<?=$this->sort ?>" data-limit="<?=count($this->data) ?>" data-lightbox-ignore><?=$this->translate('prev') ?> ...</a>
-        <? endif; ?>
-        <? foreach ($this->data as $item): ?>
-          <? $toggleUrl = $item['isApplied']
+        <?php endif; ?>
+        <?php foreach ($this->data as $item): ?>
+          <?php $toggleUrl = $item['isApplied']
               ? $searchAction . $this->results->getUrlQuery()->removeFacet($this->facet, $item['value'], $item['operator'])
               : $searchAction . $this->results->getUrlQuery()->addFacet($this->facet, $item['value'], $item['operator'])
           ?>
-          <? $subLinks = $this->exclude && !$item['isApplied']; ?>
-          <? if ($subLinks): ?>
+          <?php $subLinks = $this->exclude && !$item['isApplied']; ?>
+          <?php if ($subLinks): ?>
             <li class="facet js-facet-item">
-              <a href="<?=$toggleUrl ?>" data-lightbox-ignore data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<? if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<? endif;?>>
-          <? else: ?>
-            <a href="<?=$toggleUrl ?>" data-lightbox-ignore class="facet js-facet-item<? if($item['isApplied']): ?> active<? endif; ?>" data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<? if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<? endif;?>>
-          <? endif; ?>
-              <? if (!empty($item['displayText'])): ?>
+              <a href="<?=$toggleUrl ?>" data-lightbox-ignore data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<?php if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<?php endif;?>>
+          <?php else: ?>
+            <a href="<?=$toggleUrl ?>" data-lightbox-ignore class="facet js-facet-item<?php if($item['isApplied']): ?> active<?php endif; ?>" data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<?php if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<?php endif;?>>
+          <?php endif; ?>
+              <?php if (!empty($item['displayText'])): ?>
                 <?=$this->escapeHtml($item['displayText']) ?>
-              <? elseif (!empty($item['value'])): ?>
+              <?php elseif (!empty($item['value'])): ?>
                 <?=$this->escapeHtml($item['value']) ?>
-              <? else: // prevent empty value inside <a> tag ?>
+              <?php else: // prevent empty value inside <a> tag ?>
                 -
-              <? endif; ?>
-            <? if ($subLinks): ?>
+              <?php endif; ?>
+            <?php if ($subLinks): ?>
               </a>
-            <? endif; ?>
-            <? if($item['isApplied']): ?>
-              <? if ($item['operator'] == 'OR'): ?>
+            <?php endif; ?>
+            <?php if($item['isApplied']): ?>
+              <?php if ($item['operator'] == 'OR'): ?>
                 <i class="fa fa-check-square-o" aria-hidden="true"></i>
-              <? else: ?>
+              <?php else: ?>
                 <i class="fa fa-check" aria-hidden="true"></i>
-              <? endif; ?>
-            <? else: ?>
+              <?php endif; ?>
+            <?php else: ?>
               <span class="badge">
                 <?=$this->localizedNumber($item['count']) ?>
-                <? if ($this->exclude): ?>
+                <?php if ($this->exclude): ?>
                   <a href="<?=$this->url($options->getSearchAction()) . $this->results->getUrlQuery()->addFacet($this->facet, $item['value'], 'NOT') ?>" title="<?=$this->transEsc('exclude_facet') ?>" data-lightbox-ignore><i class="fa fa-times" aria-hidden="true"></i></a>
-                <? endif; ?>
+                <?php endif; ?>
               </span>
-            <? endif; ?>
+            <?php endif; ?>
           <?=$subLinks ? '</li>' : '</a>'; ?>
-        <? endforeach; ?>
-      <? endif; ?>
-      <? if ($this->anotherPage): ?>
+        <?php endforeach; ?>
+      <?php endif; ?>
+      <?php if ($this->anotherPage): ?>
         <a href="<?=$urlBase . '&amp;facetpage=' . ($this->page + 1) . '&amp;facetsort=' . urlencode($key) ?>" class="facet js-facet-next-page" data-page="<?=($this->page + 1) ?>" data-sort="<?=$this->escapeHtmlAttr($key) ?>" data-lightbox-ignore><?=$this->translate('more') ?> ...</a>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
 <button class="btn btn-default lightbox-only" data-dismiss="modal"><?=$this->translate('close') ?></button>
 <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '(typeof VuFind.lightbox_facets !== "undefined") && VuFind.lightbox_facets.setup();', 'SET'); ?>
diff --git a/themes/bootstrap3/templates/search/history-table.phtml b/themes/bootstrap3/templates/search/history-table.phtml
index a916c37c7c9..fcb62013317 100644
--- a/themes/bootstrap3/templates/search/history-table.phtml
+++ b/themes/bootstrap3/templates/search/history-table.phtml
@@ -1,45 +1,45 @@
-<? $saveSupported = $this->accountCapabilities()->getSavedSearchSetting() === 'enabled'; ?>
+<?php $saveSupported = $this->accountCapabilities()->getSavedSearchSetting() === 'enabled'; ?>
 <table class="table table-striped">
   <tr>
     <th width="20%"><?=$this->transEsc("history_time")?></th>
     <th><?=$this->transEsc("history_search")?></th>
     <th><?=$this->transEsc("history_limits")?></th>
     <th><?=$this->transEsc("history_results")?></th>
-    <? if ($saveSupported): ?><th><?=$this->transEsc($this->showSaved ? "history_delete" : "history_save")?></th><? endif; ?>
+    <?php if ($saveSupported): ?><th><?=$this->transEsc($this->showSaved ? "history_delete" : "history_save")?></th><?php endif; ?>
   </tr>
-  <? foreach (($this->showSaved ? array_reverse($this->saved) : array_reverse($this->unsaved)) as $iteration => $info): ?>
+  <?php foreach (($this->showSaved ? array_reverse($this->saved) : array_reverse($this->unsaved)) as $iteration => $info): ?>
     <tr class="<?=$iteration % 2 == 1 ? 'even' : 'odd'?>row">
       <td><?=$this->escapeHtml($this->dateTime()->convertToDisplayDateAndTime("U", $info->getStartTime()))?></td>
       <td>
         <?=$this->historylabel($info->getParams()->getSearchClassId())?>
-        <a href="<?=$this->url($info->getOptions()->getSearchAction()) . $info->getUrlQuery()->getParams()?>"><?
+        <a href="<?=$this->url($info->getOptions()->getSearchAction()) . $info->getUrlQuery()->getParams()?>"><?php
           $desc = $info->getParams()->getDisplayQuery();
           echo empty($desc) ? $this->transEsc("history_empty_search") : $this->escapeHtml($desc);
         ?></a>
       </td>
       <td>
-        <? $info->getParams()->activateAllFacets(); foreach ($info->getParams()->getFilterList(true) as $field => $filters): ?>
-          <? foreach ($filters as $i => $filter): ?>
-            <? if ($filter['operator'] == 'NOT') echo $this->transEsc('NOT') . ' '; if ($filter['operator'] == 'OR' && $i > 0) echo $this->transEsc('OR') . ' '; ?>
+        <?php $info->getParams()->activateAllFacets(); foreach ($info->getParams()->getFilterList(true) as $field => $filters): ?>
+          <?php foreach ($filters as $i => $filter): ?>
+            <?php if ($filter['operator'] == 'NOT') echo $this->transEsc('NOT') . ' '; if ($filter['operator'] == 'OR' && $i > 0) echo $this->transEsc('OR') . ' '; ?>
             <strong><?=$this->transEsc($field)?></strong>: <?=$this->escapeHtml($filter['displayText'])?><br/>
-          <? endforeach; ?>
-        <? endforeach; ?>
-        <? foreach($info->getParams()->getCheckboxFacets() as $facet): ?>
-          <? if ($facet['selected']): ?>
+          <?php endforeach; ?>
+        <?php endforeach; ?>
+        <?php foreach($info->getParams()->getCheckboxFacets() as $facet): ?>
+          <?php if ($facet['selected']): ?>
             <strong><?=$this->transEsc($facet['desc'])?></strong><br/>
-          <? endif; ?>
-        <? endforeach; ?>
+          <?php endif; ?>
+        <?php endforeach; ?>
       </td>
       <td><?=$this->escapeHtml($this->localizedNumber($info->getResultTotal()))?></td>
-      <? if ($saveSupported): ?>
+      <?php if ($saveSupported): ?>
         <td>
-          <? if ($this->showSaved): ?>
+          <?php if ($this->showSaved): ?>
             <a href="<?=$this->url('myresearch-savesearch')?>?delete=<?=urlencode($info->getSearchId())?>&amp;mode=history"><i class="fa fa-remove" aria-hidden="true"></i> <?=$this->transEsc("history_delete_link")?></a>
-          <? else: ?>
+          <?php else: ?>
             <a href="<?=$this->url('myresearch-savesearch')?>?save=<?=urlencode($info->getSearchId())?>&amp;mode=history"><i class="fa fa-save" aria-hidden="true"></i> <?=$this->transEsc("history_save_link")?></a>
-          <? endif; ?>
+          <?php endif; ?>
         </td>
-      <? endif; ?>
+      <?php endif; ?>
     </tr>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </table>
diff --git a/themes/bootstrap3/templates/search/history.phtml b/themes/bootstrap3/templates/search/history.phtml
index 9d6090d139b..73c2b795390 100644
--- a/themes/bootstrap3/templates/search/history.phtml
+++ b/themes/bootstrap3/templates/search/history.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Search History'));
 
@@ -11,21 +11,21 @@
 
 <div class="<?=$this->layoutClass('mainbody')?>">
   <?=$this->flashmessages()?>
-  <? if ($saveSupported && !empty($this->saved)): ?>
+  <?php if ($saveSupported && !empty($this->saved)): ?>
     <h2><?=$this->transEsc("history_saved_searches")?></h2>
     <?=$this->context()->renderInContext('search/history-table.phtml', ['showSaved' => true]);?>
-  <? endif; ?>
+  <?php endif; ?>
 
   <h2><?=$this->transEsc("history_recent_searches")?></h2>
-  <? if (!empty($this->unsaved)): ?>
+  <?php if (!empty($this->unsaved)): ?>
     <?=$this->context()->renderInContext('search/history-table.phtml', ['showSaved' => false]);?>
     <a href="?purge=true"><i class="fa fa-remove" aria-hidden="true"></i> <?=$this->transEsc("history_purge")?></a>
-  <? else: ?>
+  <?php else: ?>
     <?=$this->transEsc("history_no_searches")?>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
-<? if ($saveSupported): ?>
+<?php if ($saveSupported): ?>
   <div class="<?=$this->layoutClass('sidebar')?>">
     <?=$this->context($this)->renderInContext(
         "myresearch/menu.phtml",
@@ -34,4 +34,4 @@
      );
      ?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/home.phtml b/themes/bootstrap3/templates/search/home.phtml
index 3f108689e0e..e8a0d15bcfd 100644
--- a/themes/bootstrap3/templates/search/home.phtml
+++ b/themes/bootstrap3/templates/search/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set page title.
   $this->headTitle($this->translate('Search Home'));
 
@@ -19,7 +19,7 @@
 ?>
 
 <div class="searchHomeContent">
-  <?
+  <?php
   $ilsStatusScript = <<<JS
 $(document).ready(function() {
   $.ajax({
@@ -40,14 +40,14 @@ JS;
   <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '$("#searchForm_lookfor").focus();', 'SET'); ?>
 </div>
 
-<? if (isset($facetList) && is_array($facetList)): ?>
+<?php if (isset($facetList) && is_array($facetList)): ?>
   <div class="search-home-facets">
-    <? foreach ($facetList as $field => $details): ?>
-      <? if (isset($this->hierarchicalFacets) && in_array($field, $this->hierarchicalFacets)): ?>
-        <? $this->headScript()->appendFile('vendor/jsTree/jstree.min.js'); ?>
-        <? $this->headScript()->appendFile('facets.js'); ?>
-        <? $sort = isset($this->hierarchicalFacetSortOptions[$field]) ? $this->hierarchicalFacetSortOptions[$field] : ''; ?>
-        <?
+    <?php foreach ($facetList as $field => $details): ?>
+      <?php if (isset($this->hierarchicalFacets) && in_array($field, $this->hierarchicalFacets)): ?>
+        <?php $this->headScript()->appendFile('vendor/jsTree/jstree.min.js'); ?>
+        <?php $this->headScript()->appendFile('facets.js'); ?>
+        <?php $sort = isset($this->hierarchicalFacetSortOptions[$field]) ? $this->hierarchicalFacetSortOptions[$field] : ''; ?>
+        <?php
         $script = <<<JS
 $(document).ready(function() {
   initFacetTree($('#facet_{$this->escapeHtml($field)}'), false);
@@ -67,49 +67,49 @@ JS;
           </div>
         </div>
         <noscript>
-      <? endif; ?>
-      <? $sortedList = $this->sortFacetList($this->results, $field, $details['list'], $basicSearch); ?>
+      <?php endif; ?>
+      <?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">
-            <? /* Special case: two columns for LC call numbers... */ ?>
-            <? if ($field == "callnumber-first"): ?>
-              <? $i = 0; foreach ($sortedList as $url => $value): ?>
-                <? if (!empty($value)): ?>
+            <?php /* Special case: two columns for LC call numbers... */ ?>
+            <?php if ($field == "callnumber-first"): ?>
+              <?php $i = 0; foreach ($sortedList as $url => $value): ?>
+                <?php if (!empty($value)): ?>
                   <li><a href="<?=$url?>"><?=$this->escapeHtml($value)?></a></li>
-                <? else: $i--; ?>
-                <? endif; ?>
-                <? if (++$i == 10): ?>
+                <?php else: $i--; ?>
+                <?php endif; ?>
+                <?php if (++$i == 10): ?>
                   </ul><ul class="home-facet-list">
-                <? endif; ?>
-              <? endforeach; ?>
-            <? /* Special case: collections */ ?>
-            <? elseif ($field == 'hierarchy_top_title'): ?>
-              <? $i = 0; foreach ($sortedList as $url => $value): ?>
-                <? if (++$i > 10): ?>
+                <?php endif; ?>
+              <?php endforeach; ?>
+            <?php /* Special case: collections */ ?>
+            <?php elseif ($field == 'hierarchy_top_title'): ?>
+              <?php $i = 0; foreach ($sortedList as $url => $value): ?>
+                <?php if (++$i > 10): ?>
                   <li><a href="<?=$this->url('collections-home')?>"><strong><?=$this->transEsc("More options")?>...</strong></a></li>
-                  <? break; ?>
-                <? endif; ?>
+                  <?php break; ?>
+                <?php endif; ?>
                 <li><a href="<?=$this->url('collections-bytitle')?>?title=<?=urlencode($value)?>"><?=$this->escapeHtml($value)?></a></li>
-              <? endforeach; ?>
-            <? else: ?>
-              <? $i = 0; foreach ($sortedList as $url => $value): ?>
-                <? if (++$i > 10): ?>
+              <?php endforeach; ?>
+            <?php else: ?>
+              <?php $i = 0; foreach ($sortedList as $url => $value): ?>
+                <?php if (++$i > 10): ?>
                   <li><a href="<?=$this->url($advSearch)?>"><strong><?=$this->transEsc("More options")?>...</strong></a></li>
-                  <? break; ?>
-                <? elseif (!empty($value)): ?>
+                  <?php break; ?>
+                <?php elseif (!empty($value)): ?>
                   <li><a href="<?=$url?>"><?=$this->escapeHtml($value)?></a></li>
-                <? else: $i--; ?>
-                <? endif; ?>
-              <? endforeach; ?>
-            <? endif; ?>
+                <?php else: $i--; ?>
+                <?php endif; ?>
+              <?php endforeach; ?>
+            <?php endif; ?>
           </ul>
         </div>
       </div>
-      <? if (isset($this->hierarchicalFacets) && in_array($field, $this->hierarchicalFacets)): ?>
+      <?php if (isset($this->hierarchicalFacets) && in_array($field, $this->hierarchicalFacets)): ?>
         </noscript>
-      <? endif; ?>
-    <? endforeach; ?>
+      <?php endif; ?>
+    <?php endforeach; ?>
   </div>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/list-authorfacets.phtml b/themes/bootstrap3/templates/search/list-authorfacets.phtml
index 822ba7ac4cd..7c190fb1fff 100644
--- a/themes/bootstrap3/templates/search/list-authorfacets.phtml
+++ b/themes/bootstrap3/templates/search/list-authorfacets.phtml
@@ -3,11 +3,11 @@
     <tr>
       <th><?=$this->transEsc("Author")?></th><th><?=$this->transEsc("sort_author_relevance")?></th>
     </tr>
-    <? foreach ($this->results->getResults() as $record): ?>
+    <?php foreach ($this->results->getResults() as $record): ?>
     <tr>
       <td><a href="<?=$this->url('author-home')?>?author=<?=urlencode($record['value'])?>"><?=$this->escapeHtml($record['value'])?></a></td>
       <td><?=$this->escapeHtml($record['count'])?></td>
     </tr>
-    <? endforeach; ?>
+    <?php endforeach; ?>
   </tbody>
 </table>
diff --git a/themes/bootstrap3/templates/search/list-grid.phtml b/themes/bootstrap3/templates/search/list-grid.phtml
index 141a04894ad..256e0077601 100644
--- a/themes/bootstrap3/templates/search/list-grid.phtml
+++ b/themes/bootstrap3/templates/search/list-grid.phtml
@@ -1,12 +1,12 @@
 <div class="search-grid">
-  <? $it = 0; ?>
-  <? foreach ($this->results->getResults() as $current): ?>
+  <?php $it = 0; ?>
+  <?php foreach ($this->results->getResults() as $current): ?>
     <?=$this->record($current)->getSearchResult('grid')?>
-    <? $it++; ?>
-    <? if ($it % 4 === 0): ?>
+    <?php $it++; ?>
+    <?php if ($it % 4 === 0): ?>
       <br class="grid-large-break"/>
-    <? elseif ($it % 2 === 0): ?>
+    <?php elseif ($it % 2 === 0): ?>
       <br class="grid-small-break"/>
-    <? endif; ?>
-  <? endforeach; ?>
+    <?php endif; ?>
+  <?php endforeach; ?>
 </div>
diff --git a/themes/bootstrap3/templates/search/list-list.phtml b/themes/bootstrap3/templates/search/list-list.phtml
index 041db291d07..d8783c90565 100644
--- a/themes/bootstrap3/templates/search/list-list.phtml
+++ b/themes/bootstrap3/templates/search/list-list.phtml
@@ -1,14 +1,14 @@
-<? if (!isset($this->indexStart)) $this->indexStart = 0; ?>
-<? $i = $this->indexStart; ?>
-<? foreach ($this->results->getResults() as $current): ?>
-  <? $recordNumber = $this->results->getStartRecord() + $i - $this->indexStart; ?>
+<?php if (!isset($this->indexStart)) $this->indexStart = 0; ?>
+<?php $i = $this->indexStart; ?>
+<?php foreach ($this->results->getResults() as $current): ?>
+  <?php $recordNumber = $this->results->getStartRecord() + $i - $this->indexStart; ?>
   <div id="result<?=$i++ ?>" class="result<?=$current->supportsAjaxStatus()?' ajaxItem':''?>">
-    <? if (isset($this->showCheckboxes) && $this->showCheckboxes): ?>
+    <?php if (isset($this->showCheckboxes) && $this->showCheckboxes): ?>
       <?=$this->record($current)->getCheckbox('', 'search-cart-form')?>
-    <? endif; ?>
+    <?php endif; ?>
     <div class="record-number">
       <?=$recordNumber ?>
     </div>
     <?=$this->record($current)->getSearchResult('list')?>
   </div>
-<? endforeach; ?>
+<?php endforeach; ?>
diff --git a/themes/bootstrap3/templates/search/newitem.phtml b/themes/bootstrap3/templates/search/newitem.phtml
index 5f874fddaa1..995a4e2a0bf 100644
--- a/themes/bootstrap3/templates/search/newitem.phtml
+++ b/themes/bootstrap3/templates/search/newitem.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('New Item Search'));
 
@@ -9,30 +9,30 @@
     $offlineMode = $this->ils()->getOfflineMode();
 ?>
 <h2><?=$this->transEsc('Find New Items')?></h2>
-<? if ($offlineMode == "ils-offline"): ?>
+<?php if ($offlineMode == "ils-offline"): ?>
   <?=$this->render('Helpers/ils-offline.phtml', ['offlineModeMsg' => 'ils_offline_holdings_message'])?>
-<? endif; ?>
+<?php endif; ?>
 <form method="get" class="form-search-newitem">
   <div class="form-group">
     <label class="control-label"><?=$this->transEsc('Range')?>:</label>
     <div class="btn-group" data-toggle="buttons">
-      <? foreach ($this->ranges as $key => $range): ?>
-        <label class="btn btn-primary<? if($key == 0): ?> active<? endif ?>">
+      <?php foreach ($this->ranges as $key => $range): ?>
+        <label class="btn btn-primary<?php if($key == 0): ?> active<?php endif ?>">
           <input type="radio" name="range" id="newitem_range_<?=$this->escapeHtmlAttr($key)?>" value="<?=$this->escapeHtmlAttr($range)?>"<?=($key == 0) ? ' checked="checked"' : ''?>/>
           <?=($range == 1) ? $this->transEsc('Yesterday') : $this->transEsc('past_days', ['%%range%%' => $this->escapeHtml($range)])?>
         </label>
-      <? endforeach; ?>
+      <?php endforeach; ?>
     </div>
   </div>
-  <? if (is_array($this->fundList) && !empty($this->fundList)): ?>
+  <?php if (is_array($this->fundList) && !empty($this->fundList)): ?>
     <div class="form-group">
       <label class="control-label" for="newitem_department"><?=$this->transEsc('Department')?>:</label>
       <select id="newitem_department" name="department" size="10" class="form-control">
-      <? foreach ($this->fundList as $fundId => $fund): ?>
+      <?php foreach ($this->fundList as $fundId => $fund): ?>
         <option value="<?=$this->escapeHtmlAttr($fundId)?>"><?=$this->transEsc($fund)?></option>
-      <? endforeach; ?>
+      <?php endforeach; ?>
       </select>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
   <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Find')?>"/>
 </form>
diff --git a/themes/bootstrap3/templates/search/newitemresults.phtml b/themes/bootstrap3/templates/search/newitemresults.phtml
index 0115a979ea7..8eb629497fd 100644
--- a/themes/bootstrap3/templates/search/newitemresults.phtml
+++ b/themes/bootstrap3/templates/search/newitemresults.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set some overrides, then call the standard search results action:
   $this->overrideTitle = $this->translate('New Items');
   $this->overrideSearchHeading = $this->transEsc('New Items');
diff --git a/themes/bootstrap3/templates/search/pagination.phtml b/themes/bootstrap3/templates/search/pagination.phtml
index 6eda62a3bfa..ed0993063bd 100644
--- a/themes/bootstrap3/templates/search/pagination.phtml
+++ b/themes/bootstrap3/templates/search/pagination.phtml
@@ -1,27 +1,27 @@
-<? if ($this->pageCount): ?>
+<?php if ($this->pageCount): ?>
   <ul class="pagination">
-    <? if (isset($this->previous)): ?>
-      <? if (!isset($this->options['disableFirst']) || !$this->options['disableFirst']): ?>
+    <?php if (isset($this->previous)): ?>
+      <?php if (!isset($this->options['disableFirst']) || !$this->options['disableFirst']): ?>
         <li><a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage(1)?>">[1]</a></li>
-      <? endif; ?>
+      <?php endif; ?>
       <li><a class="page-prev" href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->previous)?>">&laquo; <?=$this->transEsc('Prev')?></a></li>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? if (count($this->pagesInRange) > 1): ?>
-      <? foreach ($this->pagesInRange as $page): ?>
-        <? if ($page != $this->current): ?>
+    <?php if (count($this->pagesInRange) > 1): ?>
+      <?php foreach ($this->pagesInRange as $page): ?>
+        <?php if ($page != $this->current): ?>
           <li><a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($page)?>"><?=$page?></a></li>
-        <? else: ?>
+        <?php else: ?>
           <li class="active"><span><?=$page?></span></li>
-        <? endif; ?>
-      <? endforeach; ?>
-    <? endif; ?>
+        <?php endif; ?>
+      <?php endforeach; ?>
+    <?php endif; ?>
 
-    <? if (isset($this->next)): ?>
+    <?php if (isset($this->next)): ?>
       <li><a class="page-next" href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->next)?>"><?=$this->transEsc('Next');?> &raquo;</a></li>
-      <? if (!isset($this->options['disableLast']) || !$this->options['disableLast']): ?>
+      <?php if (!isset($this->options['disableLast']) || !$this->options['disableLast']): ?>
         <li><a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->pageCount)?>">[<?=$this->pageCount?>]</a></li>
-      <? endif; ?>
-    <? endif; ?>
+      <?php endif; ?>
+    <?php endif; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/reserves.phtml b/themes/bootstrap3/templates/search/reserves.phtml
index 1ed5be825d1..38c30eb2f1f 100644
--- a/themes/bootstrap3/templates/search/reserves.phtml
+++ b/themes/bootstrap3/templates/search/reserves.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Reserves Search'));
 
@@ -8,48 +8,48 @@
     // Convenience variable:
     $offlineMode = $this->ils()->getOfflineMode();
 ?>
-<? if ($offlineMode == "ils-offline"): ?>
+<?php if ($offlineMode == "ils-offline"): ?>
   <?=$this->render('Helpers/ils-offline.phtml', ['offlineModeMsg' => 'ils_offline_holdings_message'])?>
-<? else: ?>
+<?php else: ?>
   <h2><?=$this->transEsc('Search For Items on Reserve')?></h2>
   <form method="get" name="searchForm" class="form-search-reserves">
-    <? if (is_array($this->courseList)): ?>
+    <?php if (is_array($this->courseList)): ?>
       <div class="form-group">
         <label for="reserves_by_course" class="control-label"><?=$this->transEsc('By Course')?>:</label>
         <select name="course" id="reserves_by_course" class="form-control">
           <option></option>
-          <? foreach ($this->courseList as $courseId => $courseName): ?>
+          <?php foreach ($this->courseList as $courseId => $courseName): ?>
             <option value="<?=$this->escapeHtmlAttr($courseId)?>"><?=$this->escapeHtml($courseName)?></option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
         <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Find')?>"/>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? if (is_array($this->instList)): ?>
+    <?php if (is_array($this->instList)): ?>
       <div class="form-group">
         <label for="reserves_by_inst" class="control-label"><?=$this->transEsc('By Instructor')?>:</label>
         <select name="inst" id="reserves_by_inst" class="form-control">
           <option></option>
-          <? foreach ($this->instList as $instId => $instName): ?>
+          <?php foreach ($this->instList as $instId => $instName): ?>
             <option value="<?=$this->escapeHtmlAttr($instId)?>"><?=$this->escapeHtml($instName)?></option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
         <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Find')?>"/>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? if (is_array($this->deptList)): ?>
+    <?php if (is_array($this->deptList)): ?>
       <div class="form-group">
         <label for="reserves_by_dept" class="control-label"><?=$this->transEsc('By Department')?>:</label>
         <select name="dept" id="reserves_by_dept" class="form-control">
           <option></option>
-          <? foreach ($this->deptList as $deptId => $deptName): ?>
+          <?php foreach ($this->deptList as $deptId => $deptName): ?>
             <option value="<?=$this->escapeHtmlAttr($deptId)?>"><?=$this->escapeHtml($deptName)?></option>
-          <? endforeach; ?>
+          <?php endforeach; ?>
         </select>
         <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Find')?>"/>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
   </form>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/reservesresults.phtml b/themes/bootstrap3/templates/search/reservesresults.phtml
index cbf99ffddda..ed683a0c0d0 100644
--- a/themes/bootstrap3/templates/search/reservesresults.phtml
+++ b/themes/bootstrap3/templates/search/reservesresults.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set some overrides, then call the standard search results action:
     $this->overrideTitle = $this->translate('Reserves Search Results');
     $this->overrideSearchHeading = $this->transEsc('Reserves');
diff --git a/themes/bootstrap3/templates/search/reservessearch.phtml b/themes/bootstrap3/templates/search/reservessearch.phtml
index b618c9a0191..19f5354c804 100644
--- a/themes/bootstrap3/templates/search/reservessearch.phtml
+++ b/themes/bootstrap3/templates/search/reservessearch.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set up page title:
     $this->headTitle($this->translate('Reserves Search'));
 
@@ -22,9 +22,9 @@
 
   <div class="resulthead">
     <div class="pull-left flip">
-      <? $qtime = $this->results->getQuerySpeed(); ?>
-      <? if (($recordTotal = $this->results->getResultTotal()) > 0): ?>
-        <?
+      <?php $qtime = $this->results->getQuerySpeed(); ?>
+      <?php if (($recordTotal = $this->results->getResultTotal()) > 0): ?>
+        <?php
           $transParams = [
             '%%start%%' => $this->localizedNumber($this->results->getStartRecord()),
             '%%end%%' => $this->localizedNumber($this->results->getEndRecord()),
@@ -32,25 +32,25 @@
             '%%lookfor%%' => $this->escapeHtml($reservesLookfor)
           ];
         ?>
-        <?=$this->translate('showing_results_of_for_html', $transParams); ?><? if($qtime): ?>,<? endif; ?>
-      <? endif; ?>
-      <? if ($qtime): ?>
+        <?=$this->translate('showing_results_of_for_html', $transParams); ?><?php if($qtime): ?>,<?php endif; ?>
+      <?php endif; ?>
+      <?php if ($qtime): ?>
         <?=$this->transEsc('query time')?>: <?=$this->localizedNumber($qtime, 2) . $this->transEsc('seconds_abbrev')?>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
 
-    <? if ($recordTotal > 0): ?>
+    <?php if ($recordTotal > 0): ?>
       <div class="pull-right flip">
         <?=$this->render('search/controls/sort.phtml')?>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
   </div>
-  <? if ($recordTotal < 1): ?>
+  <?php if ($recordTotal < 1): ?>
     <p class="error"><?=$this->translate('nohit_lookfor_html', ['%%lookfor%%' => $this->escapeHtml($reservesLookfor)]) ?></p>
-    <? if (isset($this->parseError)): ?>
+    <?php if (isset($this->parseError)): ?>
       <p class="error"><?=$this->transEsc('nohit_parse_error')?></p>
-    <? endif; ?>
-  <? else: ?>
+    <?php endif; ?>
+  <?php else: ?>
     <table class="table table-striped">
     <tr>
       <th class="department"><?=$this->transEsc('Department')?></th>
@@ -58,8 +58,8 @@
       <th class="instructor"><?=$this->transEsc('Instructor')?></th>
       <th class="items"><?=$this->transEsc('Items')?></th>
     </tr>
-    <? foreach ($this->results->getResults() as $record): ?>
-      <?
+    <?php foreach ($this->results->getResults() as $record): ?>
+      <?php
           $url = $this->currentPath() . $this->escapeHtmlAttr(
               '?inst=' . urlencode($record->getInstructorId())
               . '&course=' . urlencode($record->getCourseId())
@@ -72,16 +72,16 @@
         <td class="instructor"><a href="<?=$url?>"><?=$this->escapeHtml($record->getInstructor())?></a></td>
         <td class="items"><?=$this->escapeHtml($record->getItemCount())?></td>
       </tr>
-    <? endforeach; ?>
+    <?php endforeach; ?>
     </table>
     <?=$this->paginationControl($this->results->getPaginator(), 'Sliding', 'search/pagination.phtml', ['results' => $this->results])?>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
 
-<? /* Narrow Search Options */ ?>
+<?php /* Narrow Search Options */ ?>
 <div class="<?=$this->layoutClass('sidebar')?>">
-  <? foreach ($this->results->getRecommendations('side') as $current): ?>
+  <?php foreach ($this->results->getRecommendations('side') as $current): ?>
     <?=$this->recommend($current)?>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
-<? /* End Narrow Search Options */ ?>
+<?php /* End Narrow Search Options */ ?>
diff --git a/themes/bootstrap3/templates/search/results.phtml b/themes/bootstrap3/templates/search/results.phtml
index 9922b8390c3..02f1f87d417 100644
--- a/themes/bootstrap3/templates/search/results.phtml
+++ b/themes/bootstrap3/templates/search/results.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Set up page title:
   $lookfor = $this->results->getUrlQuery()->isQuerySuppressed() ? '' : $this->params->getDisplayQuery();
   if (isset($this->overrideTitle)) {
@@ -53,52 +53,52 @@
 ?>
 
 <div class="<?=$this->layoutClass('mainbody')?>">
-  <? if (($recordTotal = $this->results->getResultTotal()) > 0): // only display these at very top if we have results ?>
-    <? foreach ($this->results->getRecommendations('top') as $current): ?>
+  <?php if (($recordTotal = $this->results->getResultTotal()) > 0): // only display these at very top if we have results ?>
+    <?php foreach ($this->results->getRecommendations('top') as $current): ?>
       <?=$this->recommend($current)?>
-    <? endforeach; ?>
-  <? endif; ?>
+    <?php endforeach; ?>
+  <?php endif; ?>
   <?=$this->flashmessages()?>
   <nav class="search-header hidden-print">
     <div class="search-stats">
-      <? if ($recordTotal > 0): ?>
+      <?php if ($recordTotal > 0): ?>
         <?=$this->context()->renderInContext('search/controls/showing.phtml', ['lookfor' => $lookfor, 'recordTotal' => $recordTotal]) ?>
-      <? else: ?>
+      <?php else: ?>
         <h2><?=$this->transEsc('nohit_heading')?></h2>
-      <? endif; ?>
+      <?php endif; ?>
     </div>
 
-    <? if ($recordTotal > 0): ?>
+    <?php if ($recordTotal > 0): ?>
       <div class="search-controls">
         <?=$this->render('search/controls/limit.phtml')?>
         <?=$this->render('search/controls/sort.phtml')?>
         <?=$this->render('search/controls/view.phtml')?>
       </div>
-    <? endif; ?>
+    <?php endif; ?>
   </nav>
-  <? /* End Listing Options */ ?>
+  <?php /* End Listing Options */ ?>
 
-  <? if ($recordTotal < 1): ?>
+  <?php if ($recordTotal < 1): ?>
     <p>
-      <? if (isset($this->overrideEmptyMessage)): ?>
+      <?php if (isset($this->overrideEmptyMessage)): ?>
         <?=$this->overrideEmptyMessage?>
-      <? else: ?>
-        <? $this->layout()->srmessage = $this->translate('nohit_lookfor_html', ['%%lookfor%%' => $this->escapeHtml($lookfor)]); ?>
+      <?php else: ?>
+        <?php $this->layout()->srmessage = $this->translate('nohit_lookfor_html', ['%%lookfor%%' => $this->escapeHtml($lookfor)]); ?>
         <?=$this->layout()->srmessage ?>
-      <? endif; ?>
+      <?php endif; ?>
     </p>
-    <? if (isset($this->parseError)): ?>
+    <?php if (isset($this->parseError)): ?>
       <p class="alert alert-danger"><?=$this->transEsc('nohit_parse_error')?></p>
-    <? endif; ?>
-    <? foreach (($top = $this->results->getRecommendations('top')) as $current): ?>
+    <?php endif; ?>
+    <?php foreach (($top = $this->results->getRecommendations('top')) as $current): ?>
       <?=$this->recommend($current)?>
-    <? endforeach; ?>
-    <? foreach ($this->results->getRecommendations('noresults') as $current): ?>
-      <? if (!in_array($current, $top)): ?>
+    <?php endforeach; ?>
+    <?php foreach ($this->results->getRecommendations('noresults') as $current): ?>
+      <?php if (!in_array($current, $top)): ?>
         <?=$this->recommend($current)?>
-      <? endif; ?>
-    <? endforeach; ?>
-  <? else: ?>
+      <?php endif; ?>
+    <?php endforeach; ?>
+  <?php else: ?>
     <form id="search-cart-form" method="post" name="bulkActionForm" action="<?=$this->url('cart-searchresultsbulk')?>" data-lightbox data-lightbox-onsubmit="bulkFormHandler">
       <?=$this->context($this)->renderInContext('search/bulk-action-buttons.phtml', ['idPrefix' => ''])?>
     </form>
@@ -113,25 +113,25 @@
       <a href="<?=$this->url('search-email')?>" class="mailSearch" data-lightbox id="mailSearch<?=$this->escapeHtmlAttr($this->results->getSearchId())?>">
         <i class="fa fa-envelope" aria-hidden="true"></i> <?=$this->transEsc('Email this Search')?>
       </a>
-      <? if ($this->accountCapabilities()->getSavedSearchSetting() === 'enabled'): ?>
+      <?php if ($this->accountCapabilities()->getSavedSearchSetting() === 'enabled'): ?>
         &mdash;
-        <? if (is_numeric($this->results->getSearchId())): ?>
-          <? if ($this->results->isSavedSearch()): ?>
+        <?php if (is_numeric($this->results->getSearchId())): ?>
+          <?php if ($this->results->isSavedSearch()): ?>
             <a href="<?=$this->url('myresearch-savesearch')?>?delete=<?=urlencode($this->results->getSearchId())?>"><i class="fa fa-remove" aria-hidden="true"></i> <?=$this->transEsc('save_search_remove')?></a>
-          <? else: ?>
+          <?php else: ?>
             <a href="<?=$this->url('myresearch-savesearch')?>?save=<?=urlencode($this->results->getSearchId())?>"><i class="fa fa-save" aria-hidden="true"></i> <?=$this->transEsc('save_search')?></a>
-          <? endif; ?>
-        <? endif; ?>
-      <? endif; ?>
+          <?php endif; ?>
+        <?php endif; ?>
+      <?php endif; ?>
     </div>
-  <? endif; ?>
+  <?php endif; ?>
 </div>
-<? /* End Main Listing */ ?>
+<?php /* End Main Listing */ ?>
 
-<? /* Narrow Search Options */ ?>
+<?php /* Narrow Search Options */ ?>
 <div class="<?=$this->layoutClass('sidebar')?>">
-  <? foreach ($this->results->getRecommendations('side') as $current): ?>
+  <?php foreach ($this->results->getRecommendations('side') as $current): ?>
     <?=$this->recommend($current)?>
-  <? endforeach; ?>
+  <?php endforeach; ?>
 </div>
-<? /* End Narrow Search Options */ ?>
+<?php /* End Narrow Search Options */ ?>
diff --git a/themes/bootstrap3/templates/search/searchTabs.phtml b/themes/bootstrap3/templates/search/searchTabs.phtml
index aa9d8aeae7c..2072bf4cb98 100644
--- a/themes/bootstrap3/templates/search/searchTabs.phtml
+++ b/themes/bootstrap3/templates/search/searchTabs.phtml
@@ -1,13 +1,13 @@
-<? if (count($searchTabs) > 0): ?>
+<?php if (count($searchTabs) > 0): ?>
   <ul class="nav nav-tabs">
-    <? foreach ($searchTabs as $tab): ?>
-        <? if ($this->permission()->allowDisplay($tab['permission'])): ?>
+    <?php foreach ($searchTabs as $tab): ?>
+        <?php if ($this->permission()->allowDisplay($tab['permission'])): ?>
           <li<?=$tab['selected'] ? ' class="active"' : ''?>>
             <a <?=$tab['selected'] ? '' : 'href="' . $this->escapeHtmlAttr($tab['url']) . '"' ?>><?=$this->transEsc($tab['label']); ?></a>
           </li>
-        <? elseif ($block = $this->permission()->getAlternateContent($tab['permission'])): ?>
+        <?php elseif ($block = $this->permission()->getAlternateContent($tab['permission'])): ?>
             <?=$block?>
-        <? endif; ?>
-    <? endforeach; ?>
+        <?php endif; ?>
+    <?php endforeach; ?>
   </ul>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/search/searchbox.phtml b/themes/bootstrap3/templates/search/searchbox.phtml
index 38d56d6f8dd..ceb3c534a67 100644
--- a/themes/bootstrap3/templates/search/searchbox.phtml
+++ b/themes/bootstrap3/templates/search/searchbox.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set default value if necessary:
     if (!isset($this->searchClassId)) {
         $this->searchClassId = 'Solr';
@@ -27,60 +27,60 @@
     }
     $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->searchClassId, $ignoreHiddenFilterMemory, '?');
 ?>
-<? $tabConfig = $this->searchTabs()->getTabConfig($this->searchClassId, $this->lookfor, $this->searchIndex, $this->searchType, $hiddenFilters); ?>
-<? if ($this->searchType == 'advanced'): ?>
+<?php $tabConfig = $this->searchTabs()->getTabConfig($this->searchClassId, $this->lookfor, $this->searchIndex, $this->searchType, $hiddenFilters); ?>
+<?php if ($this->searchType == 'advanced'): ?>
   <div class="navbar-form navbar-left flip">
-    <? $tabs = $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $tabConfig['tabs']]); ?>
-    <? if (!empty($tabs)): ?><?=$tabs ?><div class="tab-content clearfix"><? endif; ?>
+    <?php $tabs = $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $tabConfig['tabs']]); ?>
+    <?php if (!empty($tabs)): ?><?=$tabs ?><div class="tab-content clearfix"><?php endif; ?>
       <p class="adv_search_terms"><?=$this->transEsc("Your search terms")?> : "<strong><?=$this->escapeHtml($this->lookfor)?></strong>"</p>
       <p class="adv_search_links">
         <a href="<?=$this->url($advSearch)?>?edit=<?=$this->escapeHtmlAttr($this->searchId)?>"><?=$this->transEsc("Edit this Advanced Search")?></a> |
         <a href="<?=$this->url($advSearch) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Advanced Search")?></a> |
         <a href="<?=$this->url($searchHome) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Basic Search")?></a>
       </p>
-    <? if (!empty($tabs)): ?></div><? endif; ?>
+    <?php if (!empty($tabs)): ?></div><?php endif; ?>
   </div>
-<? else: ?>
+<?php else: ?>
   <form id="searchForm" class="searchForm navbar-form navbar-left flip" method="get" action="<?=$this->url($basicSearch)?>" name="searchForm" autocomplete="off">
     <?= $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $tabConfig['tabs']]); ?>
-    <? $placeholder = $this->searchbox()->getPlaceholderText(isset($tabConfig['selected']['id']) ? $tabConfig['selected']['id'] : null); ?>
-    <input id="searchForm_lookfor" class="searchForm_lookfor form-control search-query<? if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><? endif ?>" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<? if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder) ?>"<? endif ?> />
-    <? if ($handlerCount > 1): ?>
+    <?php $placeholder = $this->searchbox()->getPlaceholderText(isset($tabConfig['selected']['id']) ? $tabConfig['selected']['id'] : null); ?>
+    <input id="searchForm_lookfor" class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?php endif ?>" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<?php if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder) ?>"<?php endif ?> />
+    <?php if ($handlerCount > 1): ?>
       <select id="searchForm_type" class="searchForm_type form-control" name="type" data-native-menu="false">
-        <? foreach ($handlers as $handler): ?>
+        <?php foreach ($handlers as $handler): ?>
           <option value="<?=$this->escapeHtmlAttr($handler['value'])?>"<?=$handler['selected'] ? ' selected="selected"' : ''?>><?=$handler['indent'] ? '-- ' : ''?><?=$this->transEsc($handler['label'])?></option>
-        <? endforeach; ?>
+        <?php endforeach; ?>
       </select>
-    <? elseif ($handlerCount == 1): ?>
+    <?php elseif ($handlerCount == 1): ?>
       <input type="hidden" name="type" value="<?=$this->escapeHtmlAttr($handlers[0]['value'])?>" />
-    <? endif; ?>
+    <?php endif; ?>
     <button type="submit" class="btn btn-primary"><i class="fa fa-search" aria-hidden="true"></i> <?=$this->transEsc("Find")?></button>
-    <? if ($advSearch): ?>
+    <?php if ($advSearch): ?>
       <a href="<?=$this->url($advSearch) . ((isset($this->searchId) && $this->searchId) ? '?edit=' . $this->escapeHtmlAttr($this->searchId) : $hiddenFilterParams) ?>" class="btn btn-link" rel="nofollow"><?=$this->transEsc("Advanced")?></a>
-    <? endif; ?>
-    <? if ($geoUrl = $this->geocoords()->getSearchUrl($options)) : ?>
+    <?php endif; ?>
+    <?php if ($geoUrl = $this->geocoords()->getSearchUrl($options)) : ?>
         <a href="<?=$geoUrl ?>" class="btn btn-link"><?=$this->transEsc('Geographic Search')?></a>
-    <? endif; ?>
+    <?php endif; ?>
 
-    <? $shards = $options->getShards(); if ($options->showShardCheckboxes() && !empty($shards)): ?>
-      <?
+    <?php $shards = $options->getShards(); if ($options->showShardCheckboxes() && !empty($shards)): ?>
+      <?php
       $selectedShards = isset($this->selectedShards)
           ? $this->selectedShards : $options->getDefaultSelectedShards();
       ?>
       <br />
-      <? foreach ($shards as $shard => $val): ?>
-        <? $isSelected = empty($selectedShards) || in_array($shard, $selectedShards); ?>
+      <?php foreach ($shards as $shard => $val): ?>
+        <?php $isSelected = empty($selectedShards) || in_array($shard, $selectedShards); ?>
           <input type="checkbox" <?=$isSelected ? 'checked="checked" ' : ''?>name="shard[]" value='<?=$this->escapeHtmlAttr($shard)?>' /> <?=$this->transEsc($shard)?>
-      <? endforeach; ?>
-    <? endif; ?>
-    <?
+      <?php endforeach; ?>
+    <?php endif; ?>
+    <?php
       $filterDetails = $this->searchbox()->getFilterDetails(
           isset($this->filterList) && is_array($this->filterList) ? $this->filterList : [],
           isset($this->checkboxFilters) && is_array($this->checkboxFilters) ? $this->checkboxFilters : []
       );
     ?>
-    <? if ((isset($hasDefaultsApplied) && $hasDefaultsApplied) || !empty($filterDetails)): ?>
-      <? $defaultFilterState = $options->getRetainFilterSetting() ? ' checked="checked"' : ''; ?>
+    <?php if ((isset($hasDefaultsApplied) && $hasDefaultsApplied) || !empty($filterDetails)): ?>
+      <?php $defaultFilterState = $options->getRetainFilterSetting() ? ' checked="checked"' : ''; ?>
       <div class="checkbox">
         <label>
           <input type="checkbox"<?=$defaultFilterState?> class="searchFormKeepFilters"/>
@@ -88,23 +88,23 @@
         </label>
       </div>
       <div class="hidden">
-        <? foreach ($filterDetails as $current): ?>
+        <?php foreach ($filterDetails as $current): ?>
           <input class="applied-filter" id="<?=$this->escapeHtmlAttr($current['id'])?>" type="checkbox"<?=$defaultFilterState?> name="filter[]" value="<?=$this->escapeHtmlAttr($current['value'])?>" />
           <label for="<?=$this->escapeHtmlAttr($current['id'])?>"><?=$this->escapeHtml($current['value'])?></label>
-        <? endforeach; ?>
-        <? if (isset($hasDefaultsApplied) && $hasDefaultsApplied): ?>
+        <?php endforeach; ?>
+        <?php if (isset($hasDefaultsApplied) && $hasDefaultsApplied): ?>
           <!-- this is a hidden element that flags whether or not default filters have been applied;
                it is intentionally unlabeled, as users are not meant to manipulate it directly. -->
           <input class="applied-filter" id="dfApplied" type="checkbox" name="dfApplied" value="1"<?=$defaultFilterState?> />
-        <? endif; ?>
+        <?php endif; ?>
       </div>
-    <? endif; ?>
-    <? foreach ($hiddenFilters as $key => $filter): ?>
-      <? foreach ($filter as $value): ?>
+    <?php endif; ?>
+    <?php foreach ($hiddenFilters as $key => $filter): ?>
+      <?php foreach ($filter as $value): ?>
         <input type="hidden" name="hiddenFilters[]" value="<?=$this->escapeHtmlAttr($key) . ':' . $this->escapeHtmlAttr($value)?>" />
-      <? endforeach; ?>
-    <? endforeach; ?>
-    <?
+      <?php endforeach; ?>
+    <?php endforeach; ?>
+    <?php
       /* Show hidden field for active search class when in combined handler mode. */
       if ($this->searchbox()->combinedHandlersActive()) {
         echo '<input type="hidden" name="activeSearchClassId" value="' . $this->escapeHtmlAttr($this->searchClassId) . '" />';
@@ -118,4 +118,4 @@
       }
     ?>
   </form>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/bootstrap3/templates/summon/advanced.phtml b/themes/bootstrap3/templates/summon/advanced.phtml
index 22a7c0a135d..5ff45ffdc2f 100644
--- a/themes/bootstrap3/templates/summon/advanced.phtml
+++ b/themes/bootstrap3/templates/summon/advanced.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // Load the Summon-specific advanced search controls and inject them into the
   // standard advanced search layout:
   $this->extraAdvancedControls = $this->render('search/advanced/summon.phtml');
diff --git a/themes/bootstrap3/templates/summon/search.phtml b/themes/bootstrap3/templates/summon/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/summon/search.phtml
+++ b/themes/bootstrap3/templates/summon/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/tag/home.phtml b/themes/bootstrap3/templates/tag/home.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/tag/home.phtml
+++ b/themes/bootstrap3/templates/tag/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/upgrade/error.phtml b/themes/bootstrap3/templates/upgrade/error.phtml
index 5437ff7d292..4df71246f46 100644
--- a/themes/bootstrap3/templates/upgrade/error.phtml
+++ b/themes/bootstrap3/templates/upgrade/error.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/upgrade/fixanonymoustags.phtml b/themes/bootstrap3/templates/upgrade/fixanonymoustags.phtml
index 15e5cbddb38..26b14cc2cef 100644
--- a/themes/bootstrap3/templates/upgrade/fixanonymoustags.phtml
+++ b/themes/bootstrap3/templates/upgrade/fixanonymoustags.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/upgrade/fixduplicatetags.phtml b/themes/bootstrap3/templates/upgrade/fixduplicatetags.phtml
index a110789226c..e3add9f0c57 100644
--- a/themes/bootstrap3/templates/upgrade/fixduplicatetags.phtml
+++ b/themes/bootstrap3/templates/upgrade/fixduplicatetags.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/upgrade/fixmetadata.phtml b/themes/bootstrap3/templates/upgrade/fixmetadata.phtml
index eeb09e771a1..4b82d414e4b 100644
--- a/themes/bootstrap3/templates/upgrade/fixmetadata.phtml
+++ b/themes/bootstrap3/templates/upgrade/fixmetadata.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/upgrade/getdbcredentials.phtml b/themes/bootstrap3/templates/upgrade/getdbcredentials.phtml
index 73966233ae4..3c7fd5c54f6 100644
--- a/themes/bootstrap3/templates/upgrade/getdbcredentials.phtml
+++ b/themes/bootstrap3/templates/upgrade/getdbcredentials.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/upgrade/getdbencodingpreference.phtml b/themes/bootstrap3/templates/upgrade/getdbencodingpreference.phtml
index f1bdc903409..570a8b821f6 100644
--- a/themes/bootstrap3/templates/upgrade/getdbencodingpreference.phtml
+++ b/themes/bootstrap3/templates/upgrade/getdbencodingpreference.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/upgrade/getsourcedir.phtml b/themes/bootstrap3/templates/upgrade/getsourcedir.phtml
index 4e9d4cee272..dd79ca39572 100644
--- a/themes/bootstrap3/templates/upgrade/getsourcedir.phtml
+++ b/themes/bootstrap3/templates/upgrade/getsourcedir.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
@@ -20,10 +20,10 @@
     <input type="text" name="sourceversion" />
   </p>
   <p>Options:<br />
-  <? foreach (['config' => 'Configuration', 'database' => 'Database Structure', 'metadata' => 'Stored Metadata'] as $key => $value): ?>
+  <?php foreach (['config' => 'Configuration', 'database' => 'Database Structure', 'metadata' => 'Stored Metadata'] as $key => $value): ?>
     <input type="checkbox" name="skip[]" id="skip-<?=$this->escapeHtmlAttr($key)?>" value="<?=$this->escapeHtmlAttr($key)?>" />
     <label for="skip-<?=$this->escapeHtmlAttr($key)?>">Skip <?=$this->escapeHtml($value); ?> Upgrade</label><br />
-  <? endforeach; ?>
+  <?php endforeach; ?>
   </p>
   <input class="btn btn-primary" type="submit" />
 </form>
diff --git a/themes/bootstrap3/templates/upgrade/home.phtml b/themes/bootstrap3/templates/upgrade/home.phtml
index 6ceb7eac08d..e63cbf66ac0 100644
--- a/themes/bootstrap3/templates/upgrade/home.phtml
+++ b/themes/bootstrap3/templates/upgrade/home.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
@@ -10,15 +10,15 @@
 <p>Upgrade complete.  You may still have some work to do:</p>
 
 <ol>
-  <? if ($oldVersion < 2): ?>
+  <?php if ($oldVersion < 2): ?>
     <li>If you have customized your SolrMarc import settings, your marc_local.properties file has been migrated, but you will need to move custom translation maps, index scripts, etc. by hand.  Custom import files belong under <?=$this->escapeHtml($this->importDir)?> -- this will make future upgrades easier.</li>
     <li>You should look over the configuration files in <?=$this->escapeHtml($this->configDir)?> and make sure settings look correct.  The automatic update process sometimes re-enables disabled settings and removes comments.</li>
     <li>If you have customized any of the YAML searchspecs files without using the *_local.yaml override mechanism, you will need to reapply those changes.</li>
     <li>If you have customized code or templates in your previous version, you will need to adapt those changes to the new architecture.</li>
-  <? else: ?>
+  <?php else: ?>
     <li>You should look over the configuration files in <?=$this->escapeHtml($this->configDir)?> and make sure settings look correct.  The automatic update process sometimes re-enables disabled settings and removes comments.  Backups of your old configurations have been created for comparison purposes.</li>
     <li>If you have customized code or templates in your previous version, you should test them to be sure they still work correctly; see the <a href="https://vufind.org/wiki/changelog">changelog</a> for notes on possible breaks in backward compatibility.</li>
-  <? endif; ?>
+  <?php endif; ?>
   <li>You should reindex all of your content.</li>
   <li>You may want to check for problems on the <a href="<?=$this->url('install-home')?>"><?=$this->transEsc('auto_configure_title')?></a> page.</li>
 </ol>
diff --git a/themes/bootstrap3/templates/upgrade/showsql.phtml b/themes/bootstrap3/templates/upgrade/showsql.phtml
index be3665472b6..96e9a9af81a 100644
--- a/themes/bootstrap3/templates/upgrade/showsql.phtml
+++ b/themes/bootstrap3/templates/upgrade/showsql.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Set page title.
     $this->headTitle($this->translate('Upgrade VuFind'));
 
diff --git a/themes/bootstrap3/templates/web/results.phtml b/themes/bootstrap3/templates/web/results.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/web/results.phtml
+++ b/themes/bootstrap3/templates/web/results.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/bootstrap3/templates/worldcat/advanced.phtml b/themes/bootstrap3/templates/worldcat/advanced.phtml
index b9aa96af774..8ce0b8d4220 100644
--- a/themes/bootstrap3/templates/worldcat/advanced.phtml
+++ b/themes/bootstrap3/templates/worldcat/advanced.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
   // There are no WorldCat-specific advanced search controls, so just load the
   // standard advanced search layout:
   echo $this->render('search/advanced/layout.phtml');
diff --git a/themes/bootstrap3/templates/worldcat/search.phtml b/themes/bootstrap3/templates/worldcat/search.phtml
index a0c6dd4bbf5..ab0354bab32 100644
--- a/themes/bootstrap3/templates/worldcat/search.phtml
+++ b/themes/bootstrap3/templates/worldcat/search.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // Load standard settings from the default search results screen:
     echo $this->render('search/results.phtml');
 ?>
diff --git a/themes/local_theme_example/templates/search/home.phtml b/themes/local_theme_example/templates/search/home.phtml
index 1ed63d196ad..6b93aa67645 100644
--- a/themes/local_theme_example/templates/search/home.phtml
+++ b/themes/local_theme_example/templates/search/home.phtml
@@ -6,7 +6,7 @@
 </b></p>
 <div class="searchHomeContent">
   <div class="search-hero" role="search">
-    <? require(__DIR__ . '/../../../bootstrap3/templates/search/home.phtml'); ?>
+    <?php require(__DIR__ . '/../../../bootstrap3/templates/search/home.phtml'); ?>
     <div class="image-credit">
       Yosemite Valley. Photo by <a class="name" href="https://unsplash.com/@heytowner">John Towner</a>.
     </div>
diff --git a/themes/root/templates/Citation/apa-article.phtml b/themes/root/templates/Citation/apa-article.phtml
index 35f08a280ed..f3814457a73 100644
--- a/themes/root/templates/Citation/apa-article.phtml
+++ b/themes/root/templates/Citation/apa-article.phtml
@@ -1,8 +1,8 @@
-<? if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?> <? endif; ?>
-<? if (!empty($this->date)): ?>(<?=$this->escapeHtml($this->date)?>). <? endif; ?>
-<?=$this->escapeHtml($this->title)?><? if ($this->periodAfterTitle): ?>.<? endif ?> 
-<span style="font-style:italic;"><?=$this->escapeHtml($this->journal)?><? if (!empty($this->volume) || !empty($this->issue) || !empty($this->pageRange)): ?>, <? endif; ?>
-<? if (!empty($this->volume)): ?><?=$this->escapeHtml($this->volume)?><? endif; ?></span><? if (!empty($this->issue)): ?>(<?=$this->escapeHtml($this->issue)?>)<? endif; ?>
-<? if (!empty($this->volume) || !empty($this->issue)): ?>, <? endif; ?>
-<? if (!empty($this->pageRange)) echo strstr($this->pageRange, '-') ? 'pp. ' : 'p. '; ?>
-<?=$this->escapeHtml($this->pageRange)?>. <? if (isset($this->doi)): ?>doi:<?=$this->escapeHtml($this->doi)?><? endif; ?>
+<?php if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?> <?php endif; ?>
+<?php if (!empty($this->date)): ?>(<?=$this->escapeHtml($this->date)?>). <?php endif; ?>
+<?=$this->escapeHtml($this->title)?><?php if ($this->periodAfterTitle): ?>.<?php endif ?> 
+<span style="font-style:italic;"><?=$this->escapeHtml($this->journal)?><?php if (!empty($this->volume) || !empty($this->issue) || !empty($this->pageRange)): ?>, <?php endif; ?>
+<?php if (!empty($this->volume)): ?><?=$this->escapeHtml($this->volume)?><?php endif; ?></span><?php if (!empty($this->issue)): ?>(<?=$this->escapeHtml($this->issue)?>)<?php endif; ?>
+<?php if (!empty($this->volume) || !empty($this->issue)): ?>, <?php endif; ?>
+<?php if (!empty($this->pageRange)) echo strstr($this->pageRange, '-') ? 'pp. ' : 'p. '; ?>
+<?=$this->escapeHtml($this->pageRange)?>. <?php if (isset($this->doi)): ?>doi:<?=$this->escapeHtml($this->doi)?><?php endif; ?>
diff --git a/themes/root/templates/Citation/apa.phtml b/themes/root/templates/Citation/apa.phtml
index 5c517020578..729138cc28a 100644
--- a/themes/root/templates/Citation/apa.phtml
+++ b/themes/root/templates/Citation/apa.phtml
@@ -1,5 +1,5 @@
-<? if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?> <? endif; ?>
-<? if (!empty($this->year)): ?>(<?=$this->escapeHtml($this->year)?>). <? endif; ?>
-<span style="font-style:italic;"><?=$this->escapeHtml($this->title)?></span><? if ($this->periodAfterTitle): ?>.<? endif ?> 
-<? if (!empty($this->edition)): ?>(<?=$this->escapeHtml($this->edition)?>). <? endif; ?>
-<? if (!empty($this->publisher)): ?><?=$this->escapeHtml($this->publisher)?>.<? endif; ?>
+<?php if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?> <?php endif; ?>
+<?php if (!empty($this->year)): ?>(<?=$this->escapeHtml($this->year)?>). <?php endif; ?>
+<span style="font-style:italic;"><?=$this->escapeHtml($this->title)?></span><?php if ($this->periodAfterTitle): ?>.<?php endif ?> 
+<?php if (!empty($this->edition)): ?>(<?=$this->escapeHtml($this->edition)?>). <?php endif; ?>
+<?php if (!empty($this->publisher)): ?><?=$this->escapeHtml($this->publisher)?>.<?php endif; ?>
diff --git a/themes/root/templates/Citation/mla-article.phtml b/themes/root/templates/Citation/mla-article.phtml
index d5144255727..67f153bf429 100644
--- a/themes/root/templates/Citation/mla-article.phtml
+++ b/themes/root/templates/Citation/mla-article.phtml
@@ -1,5 +1,5 @@
-<? if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?>. <? endif; ?>
-&quot;<?=$this->title?><? if ($this->periodAfterTitle): ?>.<? endif ?>&quot; 
+<?php if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?>. <?php endif; ?>
+&quot;<?=$this->title?><?php if ($this->periodAfterTitle): ?>.<?php endif ?>&quot; 
 <span style="font-style:italic;"><?=$this->escapeHtml($this->journal)?></span> 
-<? if (!empty($this->numberAndDate)): ?><?=$this->escapeHtml($this->numberAndDate)?><? if (!empty($this->pageRange)): ?>: <? endif; ?><? endif; ?>
-<? if (!empty($this->pageRange)): ?><?=$this->escapeHtml($this->pageRange)?><? endif; ?>.
+<?php if (!empty($this->numberAndDate)): ?><?=$this->escapeHtml($this->numberAndDate)?><?php if (!empty($this->pageRange)): ?>: <?php endif; ?><?php endif; ?>
+<?php if (!empty($this->pageRange)): ?><?=$this->escapeHtml($this->pageRange)?><?php endif; ?>.
diff --git a/themes/root/templates/Citation/mla.phtml b/themes/root/templates/Citation/mla.phtml
index d10656a7b9f..790e08c35a1 100644
--- a/themes/root/templates/Citation/mla.phtml
+++ b/themes/root/templates/Citation/mla.phtml
@@ -1,5 +1,5 @@
-<? if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?>. <? endif; ?>
-<span style="font-style:italic;"><?=$this->escapeHtml($this->title)?></span><? if ($this->periodAfterTitle): ?>.<? endif ?> 
-<? if (!empty($this->edition)): ?><?=$this->escapeHtml($this->edition)?> <? endif; ?>
-<? if (!empty($this->publisher)): ?><?=$this->escapeHtml($this->publisher)?><? endif; ?>
-<? if (!empty($this->year)): ?><? if (!empty($this->publisher)): ?>, <? endif; ?><?=$this->escapeHtml($this->year)?><? endif; ?><? if (!empty($this->year) || !empty($this->publisher)): ?>.<? endif; ?>
+<?php if (!empty($this->authors)): ?><?=$this->escapeHtml($this->authors)?>. <?php endif; ?>
+<span style="font-style:italic;"><?=$this->escapeHtml($this->title)?></span><?php if ($this->periodAfterTitle): ?>.<?php endif ?> 
+<?php if (!empty($this->edition)): ?><?=$this->escapeHtml($this->edition)?> <?php endif; ?>
+<?php if (!empty($this->publisher)): ?><?=$this->escapeHtml($this->publisher)?><?php endif; ?>
+<?php if (!empty($this->year)): ?><?php if (!empty($this->publisher)): ?>, <?php endif; ?><?=$this->escapeHtml($this->year)?><?php endif; ?><?php if (!empty($this->year) || !empty($this->publisher)): ?>.<?php endif; ?>
diff --git a/themes/root/templates/Email/record-sms.phtml b/themes/root/templates/Email/record-sms.phtml
index 9831eb81924..1f37dc6964a 100644
--- a/themes/root/templates/Email/record-sms.phtml
+++ b/themes/root/templates/Email/record-sms.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
     // This is a text-only email template; do not include HTML!
 
     // If this record supports real-time status, we'll assume it's a local
diff --git a/themes/root/templates/Email/record.phtml b/themes/root/templates/Email/record.phtml
index 10a26c71b4e..9759908a0a4 100644
--- a/themes/root/templates/Email/record.phtml
+++ b/themes/root/templates/Email/record.phtml
@@ -1,4 +1,4 @@
-<? // This is a text-only email template; do not include HTML! ?>
+<?php // This is a text-only email template; do not include HTML! ?>
 <?=$this->translate('This email was sent from')?>: <?=$this->from?>
 
 ------------------------------------------------------------
@@ -7,6 +7,6 @@
   <?=$this->translate('email_link')?>: <?=$this->serverUrl($this->recordLink()->getUrl($this->driver))?>
 
 ------------------------------------------------------------
-<? if (!empty($this->message)): ?><?=$this->translate("Message From Sender")?>:
+<?php if (!empty($this->message)): ?><?=$this->translate("Message From Sender")?>:
 <?=$this->message?>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/root/templates/Email/share-link.phtml b/themes/root/templates/Email/share-link.phtml
index 95512704346..bcfca31ed20 100644
--- a/themes/root/templates/Email/share-link.phtml
+++ b/themes/root/templates/Email/share-link.phtml
@@ -1,12 +1,12 @@
-<? // This is a text-only email template; do not include HTML! ?>
+<?php // This is a text-only email template; do not include HTML! ?>
 <?=$this->translate('This email was sent from')?>: <?=$this->from?>
 
 ------------------------------------------------------------
-<? if (!empty($this->message)): ?><?=$this->translate("Message From Sender")?>:
+<?php if (!empty($this->message)): ?><?=$this->translate("Message From Sender")?>:
 <?=$this->message?>
 
 
-<? endif; ?>
+<?php endif; ?>
   <?=$this->translate('email_link')?>: <<?=$this->msgUrl?>>
 
 ------------------------------------------------------------
diff --git a/themes/root/templates/RecordDriver/AbstractBase/export-bibtex.phtml b/themes/root/templates/RecordDriver/AbstractBase/export-bibtex.phtml
index 3c8d23282e8..2af6e7f240b 100644
--- a/themes/root/templates/RecordDriver/AbstractBase/export-bibtex.phtml
+++ b/themes/root/templates/RecordDriver/AbstractBase/export-bibtex.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // TODO: fold this logic into record driver methods at some point:
 $marc = $this->driver->tryMethod('getMarcRecord');
 if (is_object($marc)) {
diff --git a/themes/root/templates/RecordDriver/AbstractBase/export-endnote.phtml b/themes/root/templates/RecordDriver/AbstractBase/export-endnote.phtml
index 90a66cc448c..614f668d251 100644
--- a/themes/root/templates/RecordDriver/AbstractBase/export-endnote.phtml
+++ b/themes/root/templates/RecordDriver/AbstractBase/export-endnote.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // A driver-specific template may pass in format overrides; check for these before going to the driver itself:
 $formats = isset($this->overrideFormats) ? $this->overrideFormats : $this->driver->tryMethod('getFormats');
 if (is_array($formats) && !empty($formats)) {
diff --git a/themes/root/templates/RecordDriver/AbstractBase/export-endnoteweb.phtml b/themes/root/templates/RecordDriver/AbstractBase/export-endnoteweb.phtml
index 585a8509c5a..5aa1284f9f9 100644
--- a/themes/root/templates/RecordDriver/AbstractBase/export-endnoteweb.phtml
+++ b/themes/root/templates/RecordDriver/AbstractBase/export-endnoteweb.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // A driver-specific template may pass in format overrides; check for these before going to the driver itself:
 $formats = isset($this->overrideFormats) ? $this->overrideFormats : $this->driver->tryMethod('getFormats');
 if (is_array($formats)) {
diff --git a/themes/root/templates/RecordDriver/AbstractBase/export-refworks.phtml b/themes/root/templates/RecordDriver/AbstractBase/export-refworks.phtml
index 1e09726cecf..83bdd8559c9 100644
--- a/themes/root/templates/RecordDriver/AbstractBase/export-refworks.phtml
+++ b/themes/root/templates/RecordDriver/AbstractBase/export-refworks.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // A driver-specific template may pass in format overrides; check for these before going to the driver itself:
 $formats = isset($this->overrideFormats) ? $this->overrideFormats : $this->driver->tryMethod('getFormats');
 if (is_array($formats) && !empty($formats)) {
diff --git a/themes/root/templates/RecordDriver/AbstractBase/export-ris.phtml b/themes/root/templates/RecordDriver/AbstractBase/export-ris.phtml
index 799432a902a..bb3f3ef6c6d 100644
--- a/themes/root/templates/RecordDriver/AbstractBase/export-ris.phtml
+++ b/themes/root/templates/RecordDriver/AbstractBase/export-ris.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // TODO: fold this logic into record driver methods at some point:
 $marc = $this->driver->tryMethod('getMarcRecord');
 if (is_object($marc)) {
diff --git a/themes/root/templates/RecordDriver/Primo/export-endnote.phtml b/themes/root/templates/RecordDriver/Primo/export-endnote.phtml
index 9d1fe45b77b..6a69596db1f 100644
--- a/themes/root/templates/RecordDriver/Primo/export-endnote.phtml
+++ b/themes/root/templates/RecordDriver/Primo/export-endnote.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // Convert Primo format to EndNote format:
 $formats = $this->driver->tryMethod('getFormats');
 if (is_array($formats) && !empty($formats[0])) {
diff --git a/themes/root/templates/RecordDriver/Primo/export-refworks.phtml b/themes/root/templates/RecordDriver/Primo/export-refworks.phtml
index 290aef66043..c4904e8259b 100644
--- a/themes/root/templates/RecordDriver/Primo/export-refworks.phtml
+++ b/themes/root/templates/RecordDriver/Primo/export-refworks.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // Convert Primo format to RefWorks format:
 $formats = $this->driver->tryMethod('getFormats');
 if (is_array($formats) && !empty($formats[0])) {
diff --git a/themes/root/templates/RecordDriver/Summon/export-endnote.phtml b/themes/root/templates/RecordDriver/Summon/export-endnote.phtml
index fba5898a732..e733fdfec86 100644
--- a/themes/root/templates/RecordDriver/Summon/export-endnote.phtml
+++ b/themes/root/templates/RecordDriver/Summon/export-endnote.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // Convert Summon formats to EndNote formats:
 $formats = $this->driver->getFormats();
 foreach ($formats as $i => $format) {
diff --git a/themes/root/templates/RecordDriver/Summon/export-refworks.phtml b/themes/root/templates/RecordDriver/Summon/export-refworks.phtml
index 09781ee3ec6..008f016744e 100644
--- a/themes/root/templates/RecordDriver/Summon/export-refworks.phtml
+++ b/themes/root/templates/RecordDriver/Summon/export-refworks.phtml
@@ -1,4 +1,4 @@
-<?
+<?php
 // Convert Summon formats to RefWorks formats:
 $formats = $this->driver->getFormats();
 foreach ($formats as $i => $format) {
diff --git a/themes/root/templates/api/swagger.phtml b/themes/root/templates/api/swagger.phtml
index d136d4667de..26369bd0d70 100644
--- a/themes/root/templates/api/swagger.phtml
+++ b/themes/root/templates/api/swagger.phtml
@@ -1,5 +1,5 @@
-<? // This template is a JSON Swagger specification ?>
-<? $basePath = rtrim($this->url('home'), '/') . '/api/v1'; ?>
+<?php // This template is a JSON Swagger specification ?>
+<?php $basePath = rtrim($this->url('home'), '/') . '/api/v1'; ?>
 {
     "swagger": "2.0",
     "info": {
diff --git a/themes/root/templates/error/404.phtml b/themes/root/templates/error/404.phtml
index 27c756e64f6..1a9c7539251 100644
--- a/themes/root/templates/error/404.phtml
+++ b/themes/root/templates/error/404.phtml
@@ -1,3 +1,3 @@
 <h1><?=$this->transEsc('An error has occurred')?></h1>
 <h2><?=$this->transEsc($this->message)?></h2>
-<? if (isset($this->reason) && $this->reason): ?><b><?=$this->transEsc('Message')?>:</b> <?=$this->transEsc($this->reason)?><? endif; ?>
+<?php if (isset($this->reason) && $this->reason): ?><b><?=$this->transEsc('Message')?>:</b> <?=$this->transEsc($this->reason)?><?php endif; ?>
diff --git a/themes/root/templates/error/index.phtml b/themes/root/templates/error/index.phtml
index f0c8be45409..b60ef95a6d8 100644
--- a/themes/root/templates/error/index.phtml
+++ b/themes/root/templates/error/index.phtml
@@ -1,14 +1,14 @@
 <h1><?=$this->transEsc('An error has occurred')?></h1>
 <h2><?=$this->transEsc($this->message)?></h2>
 
-<? if ($this->showInstallLink): ?>
+<?php if ($this->showInstallLink): ?>
   <h3><a href="<?=$this->url('install-home')?>"><?=$this->transEsc('auto_configure_title', [], 'Auto Configure')?></a></h3>
   <?=$this->transEsc('auto_configure_description', [], 'If this is a new installation, you may be able to fix the error using VuFind\'s Auto Configure tool.')?>
   <h3><a href="<?=$this->url('upgrade-home')?>"><?=$this->transEsc('Upgrade VuFind')?></a></h3>
   <?=$this->transEsc('upgrade_description', [], 'If you are upgrading a previous VuFind version, you can load your old settings with this tool.')?>
-<? endif; ?>
+<?php endif; ?>
 
-<? if (isset($this->display_exceptions) && $this->display_exceptions): ?>
+<?php if (isset($this->display_exceptions) && $this->display_exceptions): ?>
   <h3><?=$this->transEsc('Exception')?>:</h3>
   <p>
     <b><?=$this->transEsc('Message')?>:</b> <?=$this->escapeHtml($this->exception->getMessage())?>
@@ -18,18 +18,18 @@
   <pre><?=$this->exception->getTraceAsString()?>
   </pre>
 
-  <? if ($e = $this->exception->getPrevious()): ?>
+  <?php if ($e = $this->exception->getPrevious()): ?>
     <h3>Previous exceptions:</h3>
-    <? while($e): ?>
+    <?php while($e): ?>
         <h4><?php echo get_class($e); ?></h4>
         <p><?=$e->getMessage()?></p>
         <pre><?=$e->getTraceAsString()?></pre>
-        <? $e = $e->getPrevious(); ?>
-    <? endwhile; ?>
-  <? endif; ?>
+        <?php $e = $e->getPrevious(); ?>
+    <?php endwhile; ?>
+  <?php endif; ?>
 
-  <? if (isset($this->request)): ?>
+  <?php if (isset($this->request)): ?>
     <h3><?=$this->transEsc('error_page_parameter_list_heading')?>:</h3>
     <pre><?=$this->escapeHtml(var_export($this->request->getParams(), true))?></pre>
-  <? endif; ?>
-<? endif ?>
+  <?php endif; ?>
+<?php endif ?>
diff --git a/themes/root/templates/help/home.phtml b/themes/root/templates/help/home.phtml
index 6752e0d6621..d76f592155b 100644
--- a/themes/root/templates/help/home.phtml
+++ b/themes/root/templates/help/home.phtml
@@ -1,9 +1,9 @@
-<? $this->headTitle($this->translate('Help')); ?>
-<? if ($help = $this->helpText()->render($topic)): ?>
-  <? foreach ($this->helpText()->getWarnings() as $warning): ?>
+<?php $this->headTitle($this->translate('Help')); ?>
+<?php if ($help = $this->helpText()->render($topic)): ?>
+  <?php foreach ($this->helpText()->getWarnings() as $warning): ?>
     <p class="warning"><?=$this->transEsc($warning)?></p>
-  <? endforeach; ?>
+  <?php endforeach; ?>
   <?=$help?>
-<? else: ?>
+<?php else: ?>
   <p class="warning"><?=$this->transEsc('help_page_missing')?></p>
-<? endif; ?>
+<?php endif; ?>
diff --git a/themes/root/templates/layout/help.phtml b/themes/root/templates/layout/help.phtml
index c291d9bac39..455791e4a95 100644
--- a/themes/root/templates/layout/help.phtml
+++ b/themes/root/templates/layout/help.phtml
@@ -1,7 +1,7 @@
 <?=$this->doctype('XHTML1_TRANSITIONAL')?>
 <html xmlns="http://www.w3.org/1999/xhtml" lang="<?=$this->layout()->userLang ?>" xml:lang="en">
   <head>
-    <? $this->headThemeResources(); ?>
+    <?php $this->headThemeResources(); ?>
     <?=$this->headMeta()?>
     <?=$this->headTitle() ?>
     <?=$this->headLink()->setStylesheet('help.css')  ?>
diff --git a/themes/root/templates/search/opensearch-describe.phtml b/themes/root/templates/search/opensearch-describe.phtml
index 3dec0f13ba5..3ac7818f621 100644
--- a/themes/root/templates/search/opensearch-describe.phtml
+++ b/themes/root/templates/search/opensearch-describe.phtml
@@ -1,5 +1,5 @@
-<? $searchBase = $this->serverUrl($this->url('search-results')); ?>
-<? $suggestions = $this->serverUrl($this->url('search-suggest')); ?>
+<?php $searchBase = $this->serverUrl($this->url('search-results')); ?>
+<?php $suggestions = $this->serverUrl($this->url('search-suggest')); ?>
 <?='<'?>?xml version="1.0"?<?='>'?>
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
   <ShortName><?=$this->escapeHtml($this->site->title)?></ShortName>
diff --git a/themes/root/templates/searchapi/swagger.phtml b/themes/root/templates/searchapi/swagger.phtml
index b50c6c49cf3..ae64273bc45 100644
--- a/themes/root/templates/searchapi/swagger.phtml
+++ b/themes/root/templates/searchapi/swagger.phtml
@@ -1,18 +1,18 @@
-<? // This template is a JSON fragment of a complete Swagger specification ?>
-<? ob_start(); ?>
+<?php // This template is a JSON fragment of a complete Swagger specification ?>
+<?php ob_start(); ?>
                     {
                         "name": "field[]",
                         "in": "query",
-                        "description": "Fields to return.<? if ($this->defaultFields): ?> If not specified, a set of default fields is returned.\n\nThe default fields are:\n- <?=implode('\n- ', array_map('addslashes', $this->defaultFields)) ?><? endif; ?>",
+                        "description": "Fields to return.<?php if ($this->defaultFields): ?> If not specified, a set of default fields is returned.\n\nThe default fields are:\n- <?=implode('\n- ', array_map('addslashes', $this->defaultFields)) ?><?php endif; ?>",
                         "type": "array",
                         "collectionFormat": "multi",
                         "items": {
                             "type": "string"
                         }
                     }
-<? $field = ob_get_contents(); ?>
-<? ob_end_clean(); ?>
-<? ob_start(); ?>
+<?php $field = ob_get_contents(); ?>
+<?php ob_end_clean(); ?>
+<?php ob_start(); ?>
                     {
                         "name": "prettyPrint",
                         "in": "query",
@@ -34,8 +34,8 @@
                         "description": "A callback that can be used for JSONP.",
                         "type": "string"
                     }
-<? $commonFields = ob_get_contents(); ?>
-<? ob_end_clean(); ?>
+<?php $commonFields = ob_get_contents(); ?>
+<?php ob_end_clean(); ?>
 {
     "paths": {
         "/record": {
@@ -117,7 +117,7 @@
                     {
                         "name": "facet[]",
                         "in": "query",
-                        "description": "Fields to facet on. Repeat for every field. <? if ($this->facetConfig): ?>At least the following fields are available for faceting (there may be additional facetable index fields not published here):\n- <?=implode('\n- ', array_map('addslashes', array_keys($this->facetConfig))) ?><? endif; ?>",
+                        "description": "Fields to facet on. Repeat for every field. <?php if ($this->facetConfig): ?>At least the following fields are available for faceting (there may be additional facetable index fields not published here):\n- <?=implode('\n- ', array_map('addslashes', array_keys($this->facetConfig))) ?><?php endif; ?>",
                         "type": "array",
                         "collectionFormat": "multi",
                         "items": {
-- 
GitLab