--- /dev/null
+[%- PROCESS "opac/parts/css/colors.tt2" %]
+
+#adv_search_tabs a.acct-tab-on, #acct_tabs a.acct-tab-on, #acct_fines_tabs a.acct-tab-on {
+ color: [% css_colors.primary %];
+}
+#acct_checked_tabs a, #acct_holds_tabs a, #acct_prefs_tabs a {
+ color: [% css_colors.text_invert %];
+}
+
+#acct_checked_tabs div.selected a, #acct_holds_tabs div.selected a, #acct_prefs_tabs div.selected a {
+ color: [% css_colors.text %];
+}
+
+#acct_checked_tabs, #acct_holds_tabs, #acct_prefs_tabs {
+ color: [% css_colors.text %];
+}
+
+#main-content .login_boxes {
+ color: [% css_colors.text %];
+}
--- /dev/null
+[% PROCESS "opac/parts/header.tt2";
+ PROCESS "opac/parts/misc_util.tt2";
+ WRAPPER "opac/parts/myopac/base.tt2";
+ myopac_page = "lists"
+ limit = ctx.bookbags_limit;
+ offset = ctx.bookbags_offset;
+%]
+<div id='myopac_bookbag_div' style="padding:5px;">
+
+ <!-- new list creation -->
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="POST" id="create_form">
+ <h1>[% l('Create new list') %]</h1><a name="createnewlist"></a>
+ <table cellpadding="0" border="0" id="list_create_table">
+ <tr>
+ <td>
+ <label for="list_create_name">[% l('Enter the name of the new list:') %]</label>
+ </td>
+ <td>
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input id="list_create_name" type="text" name="name" />
+ <input type="hidden" name="action" value="create" />
+ [% IF ctx.add_rec %]
+ <input type="hidden" name="add_rec" value="[% ctx.add_rec %]" />
+ [% END %]
+ [% IF ctx.where_from %]
+ <input type="hidden" name="where_from" value="[% ctx.where_from %]" />
+ [% END %]
+ </td>
+ <td>
+ <label for="list_create_shared">[% l('Share this list?') %]</label>
+ <select name="shared" id="list_create_shared">
+ <option value="0">[% l('No') %]
+ <option value="1">[% l('Yes') %]
+ </select>
+ <a href="javascript:void(0);" onclick="alert(document.getElementById('bb_publish_text').innerHTML);"><img alt="[% l('Sharing Help') %]"
+ src="[% ctx.media_prefix %]/images/question-mark.png" /></a>
+ </td>
+ <td class="list-create-table-buttons">
+ <input type="submit"
+ value="[% l('Submit') %]"
+ alt="[% l('Submit') %]"
+ class="opac-button"/>
+
+ <input type="reset"
+ value="[% l('Cancel') %]"
+ alt="[% l('Cancel') %]"
+ class="opac-button" />
+ </td>
+ </tr>
+ <tr>
+ <td class="text-right-top">
+ <label for="list_description">[% l("List description (optional):") %]</label>
+ </td>
+ <td colspan="3">
+ <textarea cols="40" rows="3" name="description"
+ id="list_description"></textarea>
+ </td>
+ </table>
+ </form>
+
+ <h1>[% l("Your existing lists") %]</h1>
+ [% INCLUDE "opac/parts/anon_list.tt2" %]
+ [% IF ctx.bookbags.size %]
+ <div class="header_middle">
+ <span class="float-left">[% l('Saved Lists') %]</span>
+ [% IF limit < ctx.bookbag_count; %]
+ <span class='float-left' style='padding-left: 10px;'>
+ [%- IF offset > 0 -%]
+ <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+ limit => limit, offset => (offset - limit)
+ }) %]'><span class="nav_arrow_fix">◄</span>[% l('Previous') %]</a>
+ [%- END; -%]
+ [%- IF (ctx.bookbag_count - offset) > limit; -%]
+ <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+ limit => limit, offset => (offset + limit)
+ }) %]'>[% l('Next') %]<span class="nav_arrow_fix">►</span></a>
+ </span>
+ [%- END; -%]
+ [% END %]
+ </div>
+ <div class="clear-both"></div>
+
+ <div id='acct_lists_prime'>
+ [% FOR bbag IN ctx.bookbags %]
+ <div class="bookbag-controls-holder">
+ <div class="bookbag-controls most">
+ [% baseurl = ctx.opac_root _ '/myopac/lists';
+ IF bbag.id != CGI.param("bbid");
+ url = mkurl(baseurl,{bbid => bbag.id},['edit_notes','sort']);
+ ltitle = l("Show items in list");
+ ELSE;
+ url = mkurl(baseurl, {}, ['bbid', 'edit_notes', 'sort']);
+ ltitle = l("Hide items in list");
+ END %]
+ <h2 class="bookbag-name"><a title="[% ltitle %]" href="[% url %]">[% bbag.name | html %]</a></h2>
+ [% IF bbag.description %]<div class="bookbag-description">[% bbag.description | html %]</div>[% END %]
+ </div>
+ [% IF ctx.add_rec %]
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update', {}, 1) %]" method="POST">
+ <div class="bookbag-controls">
+ <input type="hidden" name="action" value="add_rec" />
+ <input type="hidden" name="list" value="[% bbag.id %]" />
+ <input type="hidden" name="add_rec" value="[% ctx.add_rec %]" />
+ [% IF ctx.where_from %]
+ <input type="hidden" name="where_from" value="[% ctx.where_from %]" />
+ [% END %]
+ <input class="fixed" type="submit" value="[% l('Add to this list') %]" />
+ </div>
+ </form>
+ [% END %]
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="POST">
+ <div class="bookbag-share">
+ <input type="hidden" name="list" value="[% bbag.id %]" />
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ [% IF bbag.pub != 't' %]
+ <input type="hidden" name="action" value="show" />
+ <input class="fixed" type="submit" value="[% l('Share') %]" />
+ [% ELSE %]
+ <input type="hidden" name="action" value="hide" />
+ <input class="fixed" type="submit" value="[% l('Hide') %]" />
+ [% END %]
+ </div>
+ </form>
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="POST">
+ <div class="bookbag-controls">
+ <input type="hidden" name="list" value="[% bbag.id %]" />
+ <input type="hidden" name="action" value="delete" />
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input type="submit" value="[% l('Delete List') %]" />
+ </div>
+ </form>
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/print') %]" method="POST">
+ <div class="bookbag-controls">
+ <input type="hidden" name="list" value="[% bbag.id %]" />
+ <input type="hidden" name="sort" value="[% CGI.param('sort') | html %]" />
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input type="submit" value="[% l('Download CSV') %]" />
+ </div>
+ </form>
+ [% setting = 'opac.default_list'; %]
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="POST">
+ <div class="bookbag-controls">
+ <input type="hidden" name="list" value="[% bbag.id %]" />
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ [% IF ctx.user_setting_map.$setting == bbag.id %]
+ <input type="hidden" name="action" value="remove_default" />
+ <input type="submit" value="[% l('Remove Default List') %]" />
+ [% ELSE %]
+ <input type="hidden" name="action" value="make_default" />
+ <input type="submit" value="[% l('Make Default List') %]" />
+ [% END %]
+ </div>
+ </form>
+ <div class="bookbag-controls">
+ [% IF bbag.pub == 't'; %]
+ <a target='_blank' href='/opac/extras/feed/bookbag/rss2-full/[% bbag.id %]'><img
+ alt="[% l('RSS Feed') %]" border="0"
+ src="[% ctx.media_prefix %]/images/small-rss.png"/></a>
+ [% END %]
+ </div>
+ <div class="bookbag-controls">
+ [% IF bbag.pub == 't'; %]
+ <a href='[%-
+ mkurl(
+ ctx.opac_root _ '/results',
+ {page => '0', bookbag => bbag.id, depth => 0, locg => ctx.search_ou},
+ 1
+ )
+ -%]'>[% l('HTML View') %]</a>
+ [% END %]
+ </div>
+ <div class="clear-both pad-bottom-five"></div>
+ </div>
+ [% IF CGI.param("bbid") == bbag.id %]
+ <div class="bookbag-specific">
+ <div class="sort">
+ <form method="GET">
+ <label for="opac.result.sort">[% l("Sort list items by: ") %]</label>
+ [%- INCLUDE "opac/parts/preserve_params.tt2" params=['loc', 'query', 'qtype']; %]
+ [% INCLUDE "opac/parts/filtersort.tt2"
+ value=CGI.param('sort') mode='bookbag' %]
+ <input type="hidden" name="bbid"
+ value="[% CGI.param('bbid') | html %]" />
+ <input type="submit" value="[% l('Sort') %]" />
+ </form>
+ </div>
+ <div class="meta">
+ <form method="POST">
+ <input type="hidden" name="bbid" value="[% bbag.id %]" />
+ <input type="hidden" name="action" value="editmeta" />
+ <input type="hidden" name="limit" value="[% limit %]" />
+ <input type="hidden" name="offset" value="[% offset %]" />
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <table id="bbag-name-desc-form">
+ <tr>
+ <th>
+ <label for="bbag-edit-name">[% l('Name:') %]</label>
+ </th>
+ <td>
+ <input name="name" type="text"
+ value="[% bbag.name | html %]"
+ id="bbag-edit-name" />
+ </td>
+ <td rowspan="2" class="saver">
+ [% l("Save changes to name or description?") %]<br />
+ <input type="submit" value="[% l('Save') %]" />
+ </td>
+ </tr>
+ <tr>
+ <th><label for="bbag-edit-description">[% l('Description:') %]</label></th>
+ <td>
+ <textarea name="description"
+ id="bbag-edit-description">[% bbag.description | html %]</textarea>
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+ </div>
+ <br class="clear-both" />
+ <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="POST">
+ <input type="hidden" name="list" value="[% bbag.id %]" />
+ <input type="hidden" name="sort" value="[% CGI.param('sort') | uri %]" />
+ <table class="bookbag-specific" cellpadding='0' cellspacing='0' border='0'>
+ <thead id="acct_list_header">
+ <tr>
+ <td class="list_checkbox">
+ <input type="checkbox" onclick="
+ var inputs=document.getElementsByTagName('input');
+ for (i = 0; i < inputs.length; i++) {
+ if (inputs[i].name == 'selected_item' && !inputs[i].disabled && inputs[i].getAttribute('bbag') == [% bbag.id %])
+ inputs[i].checked = this.checked;}"/>
+
+ </td>
+ <td class="list_entry">
+ <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {sort=> (CGI.param('sort') == 'titlesort' ? 'titlesort.descending' : 'titlesort')}) %]">[% l('Title') %]</a>
+ </td>
+ <td class="list_entry">
+ <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {sort=>(CGI.param('sort') == 'authorsort' ? 'authorsort.descending' : 'authorsort')}) %]">[% l('Author(s)') %]</a>
+ </td>
+ <td class="list_entry">
+ <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {sort=>(CGI.param('sort') == 'pubdate' ? 'pubdate.descending' : 'pubdate')}) %]">[% l('Publication Date') %]</a>
+ </td>
+ <td class="list_entry">
+ [% l('Format') %]
+ </td>
+ <td class="list_entry">
+ [% l('Notes') %]
+ [% IF CGI.param("edit_notes") != bbag.id %]
+ | <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {edit_notes=> bbag.id}) %]">[% l('Edit') %]</a>
+ [% END %]
+ </td>
+ <td class="list_actions">
+ <select name="action">
+ <option disabled="disabled">[% l('-- Actions for these items --') %]</option>
+ <option value="del_item">[% l('Remove from list') %]</option>
+ </select>
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input type="submit" value="[% l('Go') %]" />
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ [% UNLESS bbag.items.size %]
+ <tr><td colspan="6" class="list_is_empty">
+ [% l("This list contains no items.") %]
+ </td></tr>
+ [% END %]
+ [% FOR item IN bbag.items;
+ rec_id = item.target_biblio_record_entry.id;
+ attrs = {marc_xml => ctx.bookbags_marc_xml.$rec_id};
+ PROCESS get_marc_attrs args=attrs %]
+ <tr class="bookbag-item-row">
+ <td class="list_checkbox">
+ <input type="checkbox" name="selected_item" value="[% item.id %]" bbag='[% bbag.id %]'/>
+ </td>
+ <td class="list_entry">
+ <a href="[% mkurl(ctx.opac_root _ '/record/' _ rec_id, {}, ['edit_notes', 'bbid']) %]">[% attrs.title | html %]</a>
+ </td>
+ <td class="list_entry">
+ <a href="[%-
+ authorquery = attrs.author | replace('[,\.:;]', '');
+ mkurl(ctx.opac_root _ '/results', {qtype => 'author', query => authorquery}, ['page', 'bbid', 'edit_notes'])
+ -%]">[% attrs.author | html %]</a>
+ </td>
+ <td class="list_entry">
+ [% attrs.pubdate | html %]
+ </td>
+ <td class="list_entry">
+ [% attrs.format_label | html %]
+ </td>
+ [% IF CGI.param("edit_notes") == bbag.id %]
+ <td class="list_entry">
+ [% FOR note IN item.notes %]
+ <input type="text" name="note-[% note.id %]" value="[% note.note | html %]" />
+ [% END %]
+ <input type="text" name="item-[% item.id %]" />
+ </td>
+ [% ELSE %]
+ <td class="list_entry">
+ [% FOR note IN item.notes %]
+ <div>[% note.note | html %]</div>
+ [% END %]
+ </td>
+ [% END %]
+ </tr>
+ [% END %]
+ [% IF CGI.param("edit_notes") == bbag.id %]
+ <tr>
+ <td colspan="3"><!-- All space left of notes column --></td>
+ <td class="save-notes">
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input type="hidden" name="bbid" value="[% CGI.param('bbid') | html %]" />
+ <input type="submit" name="save_notes" value="[% l('Save Notes') %]" />
+ </td>
+ </tr>
+ [% END %]
+ </tbody>
+ </table>
+ </form>
+ [% END %]
+ [% END %]
+ </div>
+ [% END %]
+
+ <span id='bb_publish_text' class='hide_me'>
+[% |l %]Sharing a Bookbag means that the contents
+of the Bookbag will be visible to others.
+To see the public view of a shared Bookbag,
+click on the Bookbag's name in the Bookbag list.[% END %]
+ </span>
+</div>
+[% END %]
--- /dev/null
+ [% IF ctx.mylist.size %]
+ <div class="bookbag-specific">
+ <form method="GET">
+ <label for="anonsort">[% l("Sort list items by: ") %]</label>
+ [% INCLUDE "opac/parts/filtersort.tt2" mode='bookbag'
+ id="anonsort" name="anonsort" value=CGI.param("anonsort") %]
+ <input type="hidden" name="id"
+ value="[% CGI.param('id') | html %]" />
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input type="submit" value="[% l('Sort') %]" />
+ </form>
+ </div>
+
+ <form action="[% mkurl(ctx.opac_root _ '/mylist/move') %]" method="GET">
+ <div>
+ <p class="big-strong">[% l('Temporary List') %]</p>
+ <table cellpadding='0' cellspacing='0' border='0'>
+ <thead id="acct_list_header_anon">
+ <tr>
+ <td width="1%" style="padding-left:10px;">
+ <input type="checkbox" onclick="
+ var inputs=document.getElementsByTagName('input');
+ for (i = 0; i < inputs.length; i++) {
+ if (inputs[i].name == 'record' && !inputs[i].disabled) inputs[i].checked = this.checked;}"/>
+ </td>
+ <td width="49%" class="opac-auto-108"><a href="[% mkurl('', {anonsort=>(CGI.param('anonsort') == 'titlesort' ? 'titlesort.descending' : 'titlesort')}) %]">[% l('Title') %]</a></td>
+ <td width="49%" class="opac-auto-108"><a href="[% mkurl('', {anonsort=>(CGI.param('anonsort') == 'authorsort' ? 'authorsort.descending' : 'authorsort')}) %]">[% l('Author(s)') %]</a% l('Author(s)') %]</td>
+ <td width="1%" class="nowrap">
+ <select name="action">
+ <option>[% l('-- Actions for these items --') %]</option>
+ <option value="delete">[% l('Remove from list') %]</option>
+ [% IF ctx.user AND ctx.bookbags.size %]
+ <optgroup label="[% l('Move selected items to bookbag:') %]">
+ [% FOR bbag IN ctx.bookbags %]]
+ <option value="[% bbag.id %]" class="selector_actions_for_list_inner_option">[% bbag.name | html %]</option>
+ [% END %]
+ </optgroup>
+ [% END %]
+ </select>
+ [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
+ <input type="submit" value="[% l('Go') %]" />
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ [% FOR item IN ctx.mylist;
+ attrs = {marc_xml => ctx.mylist_marc_xml.$item};
+ PROCESS get_marc_attrs args=attrs %]
+ <tr>
+ <td class="item_list_padding" style="padding-left: 10px;">
+ <input type="checkbox" name="record" value="[% item %]" />
+ </td>
+ <td class="item_list_padding" style="padding-left: 5px;"><a href="[% mkurl(ctx.opac_root _ '/record/' _ item, {}, ['edit_notes', 'id']) %]">[% attrs.title | html %]</a></td>
+ <td class="item_list_padding" style="padding-left: 5px;"><a href="[%-
+ authorquery = attrs.author | replace('[,\.:;]', '');
+ mkurl(
+ ctx.opac_root _ '/results',
+ {qtype => 'author', query => authorquery},
+ ['page', 'id', 'edit_notes']
+ )
+ -%]">[% attrs.author | html %]</a></td>
+ </tr>
+ [% END %]
+ </tbody>
+ </table>
+ <br /><br />
+ </div>
+ </form>
+ [% END %]
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml' lang='[% ctx.locale %]' xml:lang='[% ctx.locale %]'>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ [% IF ctx.refresh %]
+ <meta http-equiv="refresh" content="[% ctx.refresh %]">
+ [% ELSIF ctx.authtime %]
+ <meta http-equiv="refresh" content="[% ctx.authtime %]; url=[% ctx.logout_page %]">
+ [% END %]
+ <link rel="stylesheet" type="text/css" href="[% ctx.media_prefix %]/css/skin/default/opac/semiauto.css" />
+ <link rel="stylesheet" type="text/css" href="[% ctx.opac_root %]/css/style.css" />
+ <link rel="stylesheet" type="text/css" href="[% ctx.opac_root %]/css/style_overrides.css" />
+ <title>[% l('Catalog - [_1]', ctx.page_title) %]</title>
+ <link rel="unapi-server" type="application/xml" title="unAPI" href="/opac/extras/unapi" />
+ [% IF want_dojo %]
+ <style type="text/css">
+ @import "[% ctx.media_prefix %]/js/dojo/dijit/themes/tundra/tundra.css";
+ </style>
+ [% END %]
+ [% INCLUDE 'opac/parts/goog_analytics.tt2' %]
+ </head>
+ <body[% IF want_dojo; ' class="tundra"'; END %]>
+ [% content %]
+ [% INCLUDE 'opac/parts/footer.tt2' %]
+ [% INCLUDE 'opac/parts/js.tt2' %]
+ [%- IF ENV.OILS_CHILIFRESH_ACCOUNT %]
+ [%- INCLUDE 'opac/parts/chilifresh.tt2' %]
+ [%- END %]
+ </body>
+</html>
--- /dev/null
+[%
+
+##############################################################################
+# This file contains skin-level configuration settings.
+# Many of these settings will probably migrate into actor.org_unit_settings.
+##############################################################################
+
+##############################################################################
+# Holds blocking
+##############################################################################
+# Block the ability to place holds if item is available
+ctx.holds_block.enabled = 'true';
+
+##############################################################################
+# RefWorks configuration
+##############################################################################
+# RefWorks is a Web-based citation manager
+ctx.refworks.enabled = 'true';
+
+# Base URL for RefWorks
+ctx.refworks.url = 'http://librweb.laurentian.ca/login?url=http://refworks.scholarsportal.info';
+
+# Some sites have a hosted RefWorks instance at a different URL;
+# in addition, you might want to proxy access to RefWorks - for example:
+# ctx.refworks.url = 'http://librweb.laurentian.ca/login?url=http://refworks.scholarsportal.info';
+
+##############################################################################
+# OpenURL resolution
+##############################################################################
+# Evergreen provides the ability to point at an OpenURL resolver to find
+# electronic resources for a given ISSN or ISBN. Currently, only the SFX
+# resolver is supported.
+#
+# You must enable the open-ils.resolver instance in opensrf.xml to use
+# this feature.
+##############################################################################
+
+openurl.enabled = 'true';
+openurl.baseurl = 'http://sfx.scholarsportal.info/laurentian';
+
+##############################################################################
+# Google Analytics support
+##############################################################################
+# You can enable Google Analytics support in Evergreen by entering a
+# valid Google Analytics code and changing 'false' to 'true'
+##############################################################################
+google_analytics.enabled = 'true';
+google_analytics.code = 'UA-44360424-2';
+
+##############################################################################
+# Enable "Forgot your password?" prompt at login
+##############################################################################
+reset_password = 'false';
+
+##############################################################################
+# Hide various options from user preferences that you might not want to expose
+# if you rely on centralized authentication via open-ils.auth_proxy, like LDAP
+#
+# Username changes can be disabled by the opac.lock_usernames OU setting.
+##############################################################################
+disable_password_change = 'true';
+disable_email_change = 'true';
+
+##############################################################################
+# Some libraries do not do notifications by phone; if not true, then this
+# hides the user preference for phone notifications as well as the phone
+# notification portion of the hold dialogue
+##############################################################################
+allow_phone_notifications = 'false';
+
+##############################################################################
+# Misc. UI Settings
+##############################################################################
+# Option for full details as a default, esp. impt. for e-content
+# that uses resolver plumbing. Valid values are 'true', 'false' and 'hide'.
+# Setting this to 'true' shows full details by default but allows the link
+# to appear for 'Show Fewer Details'. The 'hide' option shows full details
+# and also suppresses the link from displaying at all.
+show_more_details.default = 'hide';
+
+##############################################################################
+# Size of the jacket image to display on the record detail summary.
+# Sizes vary depending on added content provider.
+# Options are "small", "medium", and "large"
+record.summary.jacket_size = 'medium';
+
+
+##############################################################################
+# Define the order in which facets are displayed. Only facets listed here
+# will be displayed. To show all facets sorted by name, comment out this
+# setting.
+# facet.display = [] # show no facets
+facet.display = [
+ {facet_class => 'author', facet_order => ['personal', 'corporate']},
+ {facet_class => 'subject', facet_order => ['topic']},
+ {facet_class => 'series', facet_order => ['seriestitle']},
+ {facet_class => 'subject', facet_order => ['name', 'geographic']}
+];
+
+##############################################################################
+# Define the advanced search limiters and labels.
+# adv_label is the (translated) label for the limiter
+# adv_attr is an array of possible limiters, the first one that has any
+# values will be used
+# adv_break will end the current row. If specified with a label/attr it
+# will do so *after* that limiter.
+# adv_special will drop in a special entry:
+# lib_selector will put the search library box (with limit to available)
+# pub_year will put the publication year box
+# sort_selector will put the sort results selector
+
+search.adv_config = [
+ {adv_label => l("Item Type"), adv_attr => ["mattype", "item_type"]},
+ {adv_label => l("Item Form"), adv_attr => "item_form"},
+ {adv_label => l("Language"), adv_attr => "item_lang"},
+ {adv_label => l("Audience"), adv_attr => ["audience_group", "audience"], adv_break => 1},
+ {adv_label => l("Video Format"), adv_attr => "vr_format"},
+ {adv_label => l("Bib Level"), adv_attr => "bib_level"},
+ {adv_label => l("Literary Form"), adv_attr => "lit_form", adv_break => 1},
+ {adv_label => l("Search Library"), adv_special => "lib_selector"},
+ {adv_label => l("Publication Year"), adv_special => "pub_year"},
+ {adv_label => l("Sort Results"), adv_special => "sort_selector"},
+];
+
+##############################################################################
+# For each search box the default "query type" value can be specified here
+# This is the actual backend value, not the label
+# Also note that including more than the row count entries won't add rows
+# The first entry should be used as a default for "basic" search as well
+
+search.default_qtypes = ['keyword','title','author'];
+
+##############################################################################
+# Basic Search Box definition
+# This allows selection of what, exactly, basic search uses for a selection
+# box. Previously it was hardcoded to use an attr box of mattype or item_type.
+#
+# type can be "attr" or "filter"
+# group is the attr or filter entries you want to check for
+# none_label is the label for the default nothing selected entry.
+
+search.basic_config = {
+ type => 'attr',
+ group => ['mattype','item_type'],
+ none_label => l("All Formats"),
+};
+
+##############################################################################
+# Show Google Book Previews
+# Set to 1 or 'true' to enable
+ctx.google_books_preview = 1;
+
+%]
--- /dev/null
+[%
+ css_colors = {
+
+ background = "#fff", # white
+ background_alert = "#ffcccc", # pink
+ background_invert = "#252525", # charcoal
+ text = "black", # black
+ text_alert = "red", # red
+ text_attention = "#ffcc33", # pumpkin orange
+ text_badnews = "#f41d36", # cherry red
+ text_goodnews = "#1dd93c", # lime green
+ text_greatnews = "green", # green
+ text_invert = "#fff", # white
+ text_match = "#c00", # deep red
+ primary = "#003E7E", # dark blue
+ primary_fade = "#3076BF", # medium blue
+ primary_offset = "#5689BF", # light blue
+ control = "#003E7E", # lighter green
+ accent_light = "#ccc", # grey (light)
+ accent_lighter = "#ddd", # grey (lighter)
+ accent_lighter2 = "#d8d8d8", # grey (lighter again)
+ accent_lightest = "#eee", # grey (lightest)
+ accent_ultralight = "#f0f0f0", # ivory
+ accent_medium = "#999", # gun metal grey (medium)
+ accent_mediumdark = "#888", # gun metal grey (medium dark)
+ accent_dark = "#666", # gun metal grey (dark)
+ accent_darker = "#5689BF", # gun metal grey (darker)
+ border_standard = "#e9ebf3", # light grey-blue
+ border_dark = "black", # black
+ border_alert = "red", # red
+ button_text = "#fbf9f9", # off-white
+ button_text_shadow = "#555555", # medium grey
+ table_heading = "#d8d8d8", # grey-blue
+ };
+
+%]
--- /dev/null
+[%-
+ css_fonts = {
+ size_base = "15px",
+ size_small = "92%", # 11px
+ size_smaller = "83%", # 10px
+ size_smallest = "75%", # 9px
+ size_big = "110%", # 13.2px
+ size_bigger = "125%",
+ size_biggest = "150%"
+ }
+%]
--- /dev/null
+<div id="footer-wrap">
+<div id="footer">
+ <a href="[% l('http://laurentian.ca/library') %]">[% l('Library Home') %]</a> |
+ <a href="[% l('http://sfx.scholarsportal.info/laurentian/az') %]">[% l('Electronic Journals (A-Z)') %]</a> |
+ <a href="[% l('http://biblio.laurentian.ca/research/guides') %]">[% l('Databases') %]</a> |
+ <a href="[% l('http://biblio.laurentian.ca/research/guides/archives') %]">[% l('Archives') %]</a> |
+ <a href="[% l('http://biblio.laurentian.ca/reserves/') %]">[% l('Course Reserves') %]</a> |
+ <a href="[% l('mailto:reference@laurentian.ca') %]">[% l('Feedback') %]</a>
+ [% IF ctx.timing %]
+ <div id="timing">
+ [% FOR event IN ctx.timing %]
+ At <span class="timing-time">[% event.0 | format("%0.4f") %]</span>:
+ <span class="timing-event">[% event.1 %]</span><br />
+ [% END %]
+ </div>
+ [% END %]
+ <div id="copyright_text" style="margin-top: 2em;">
+ [% l('Copyright © 2006-[_1] Georgia Public Library Service, and others', date.format(date.now, '%Y')) %]
+ </div>
+ <div id="footer_logo">
+ [% l('Powered by') %]
+ <a href="http://evergreen-ils.org">
+ <img src="[% ctx.media_prefix %]/opac/images/eg_tiny_logo.png"
+ style="border:none; width: 94px; height: 16px;"
+ alt="[% l('Evergreen') %]"
+ />
+ </a>
+ </div>
+</div>
+</div>
--- /dev/null
+<div id="homesearch_main_logo">
+ <strong><center><img src="[% ctx.media_prefix %]/images/lul_logo.png" /></center></strong>
+</div>
--- /dev/null
+[% IF ctx.login_failed_event %]
+<div id='login-failed-message'>
+[%
+ IF ctx.login_failed_event.textcode == 'PATRON_CARD_INACTIVE';
+ l("The barcode used to login is marked as inactive. Please contact your local library.");
+ ELSIF ctx.login_failed_event.textcode == 'PATRON_INACTIVE';
+ l("This account has been deactivated. Please contact your local library.");
+ ELSE;
+ l("Login failed. The username or password provided was not valid.
+ Ensure Caps-Lock is off and try again.");
+ l(" Or <a href='https://sspr.laurentian.ca/'>reset your password</a>.");
+ END;
+%]
+</div>
+[% END %]
+
+<div id='login-form-box' class='login_boxes left_brain' style='float:left'>
+ <h1>[% l('Log in to Your Account') %]</h1>
+ <form method='POST'>
+ <table>
+ <tr>
+ <td style="width: 20em; vertical-align: top; padding-top: 1.5em;" class='lbl1'>
+ <label for='username_field'>[% l('Laurentian username') %]</label>
+ <div class="lbl2">[% l('Your username and password are the same as your Groupwise and Desire2Learn account.') %]</div>
+ </td>
+ <td style="vertical-align: top; padding-top: 1.5em;">
+ <div class="input_bg">
+ <input type="text" id="username_field" name="username" autofocus />
+ <div class="lbl2" style="padding-top: 1em;">[% l('Examples: jx_smith, jsmith') %]</div>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="lbl1" style="width: 20em; vertical-align: top; padding-top: 1.5em">
+ <label for="password_field">[% l('Password') %]</label>
+ </td>
+ <td style="vertical-align: top; padding-top: 1.5em;">
+ <div class="input_bg">
+ <input id="password_field" name="password" type="password" />
+ </div>
+ <div>
+ [%
+ # If no redirect is offered or it's leading us back to the
+ # login form, redirect the user to My Account
+ redirect = CGI.param('redirect_to') || ctx.referer;
+ IF !redirect OR redirect.match(ctx.path_info _ '$');
+ redirect = CGI.url('-full' => 1) _ '/opac/myopac/main';
+ END;
+ redirect = redirect | replace('^http:', 'https:');
+ %]
+ <input type='hidden' name='ou_email_host' value='laurentian.ca'/>
+ <input type='hidden' name='redirect_to' value='[% redirect %]'/>
+[%- # Disabled persistent login until we figure out how to make this work with LDAP auth -%]
+ </div>
+ <div style="padding-top: 1em; margin-right: 1em;">
+ <input type="submit" value="[% l('Log in') %]" alt="[% l('Log in') %]" class="opac-button" />
+ [% IF reset_password %]
+ <a href='https://sspr.laurentian.ca/'>[% l('Forgot your password?') %]</a>
+ [% END %]
+ </div>
+ </td>
+ </tr>
+ </table>
+ </form>
+</div>
--- /dev/null
+[%
+ subjects = [
+ {
+ label => l('Subject: '),
+ xpath => '//*[@tag="600" or @tag="610" or @tag="611" or @tag="630" or @tag="650" or @tag="651"]'
+ }, {
+ label => l('Genre: '),
+ xpath => '//*[@tag="655"]'
+ }, {
+ label => l('Topic Heading: '),
+ xpath => '//*[@tag="690"]'
+ }, {
+ label => l('Geographic Setting: '),
+ xpath => '//*[@tag="691"]'
+ }, {
+ label => l('Biographical Subject: '),
+ xpath => '//*[@tag="692"]'
+ }, {
+ label => l('Character Attributes: '),
+ xpath => '//*[@tag="693"]'
+ }, {
+ label => l('Setting: '),
+ xpath => '//*[@tag="698"]'
+ }, {
+ label => l('Time Period: '),
+ xpath => '//*[@tag="699"]'
+ }
+ ];
+
+ BLOCK render_subject;
+ xpath = xpath || '//*[starts-with(@tag,"6")]';
+ FOR node IN ctx.marc_xml.findnodes(xpath);
+ all_terms = [];
+ graphics = [];
+ FOR subfield IN node.childNodes;
+ NEXT UNLESS subfield.nodeName == "subfield";
+ code = subfield.getAttribute('code');
+ IF code == '6';
+ linked_fields = [subfield.textContent()];
+ target_field = node.getAttribute('tag');
+ get_linked_880s;
+ END;
+ NEXT UNLESS code.match('[a-z]');
+ IF code.match('[vxyz]'); " > "; END;
+ # at this point, we actually have a partial term to use.
+ single_term = subfield.textContent | html;
+ all_terms.push(subfield.textContent.replace('\-', ' ').replace('[#"^$\+,\.:;&|\[\]()]', ''));
+ total_term = all_terms.join(" ").replace('\s+$', '');
+ %]
+<a href="[% mkurl(ctx.opac_root _ '/results', {qtype=>'subject', query=>total_term}, stop_parms); %]">[% single_term %]</a>
+ [%- END;
+ IF all_terms.size; "<br/>"; END;
+ FOREACH link880 IN graphics;
+ '<div class="graphic880"' _ link880.dir _ '>';
+ link880.value | html;
+ '</div>';
+ END;
+ END;
+ END
+%]
+
+[% BLOCK render_all_subjects;
+ FOREACH subj IN subjects;
+ content = PROCESS render_subject(xpath=subj.xpath);
+ IF content.match('\S');
+%]
+ <table class='rdetail_subject'>
+ <tbody>
+ <tr>
+ <td class='rdetail_subject_type'>[% subj.label %]</td>
+ <td class='rdetail_subject_value' itemprop='keywords'>[% content %]</td>
+ </tr>
+ </tbody>
+ </table>
+ [%- END; %]
+ [%- END; %]
+[%- END %]
+
+[%- subject_html = PROCESS render_all_subjects;
+ IF subject_html.length > 0;
+%]
+<h2 class='rdetail_related_subjects'>[% l('Search for related items by subject') %]</h2>
+[%- subject_html %]
+[%- END %]
--- /dev/null
+<div id="gold-links-holder">
+ <div id="gold-links">
+ <div id="header-links">
+ <a href="[% l('http://laurentian.ca/library') %]">[% l('Library Home') %]</a>
+ <a href="[% l('http://sfx.scholarsportal.info/laurentian/az') %]">[% l('Electronic Journals (A-Z)') %]</a>
+ <a href="[% l('http://biblio.laurentian.ca/research/guides') %]">[% l('Databases') %]</a>
+ <a href="[% l('http://biblio.laurentian.ca/research/guides/archives') %]">[% l('Archives') %]</a>
+ <a href="[% l('http://biblio.laurentian.ca/reserves/') %]">[% l('Course Reserves') %]</a>
+ <a href="[% l('mailto:reference@laurentian.ca') %]">[% l('Feedback') %]</a>
+ </div>
+ </div>
+</div>
--- /dev/null
+ <div id="topnav_logo"><a href="http://laurentian.ca" title="Laurentian University"><img alt="[% l('Laurentian University logo') %]"
+ src="[% ctx.media_prefix %]/images/lul_logo_small.png" /></a></div>