CINXE.COM
Painting of City Library exterior 2011 | Dunedin Public Libraries
<!DOCTYPE html> <html lang="en"> <head prefix="og: http://ogp.me/ns#"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Painting of City Library exterior 2011 | Dunedin Public Libraries</title><meta http-equiv="X-UA-Compatible" content="IE=Edge" /><link href="/favicon.ico" type="image/x-icon" rel="icon" /><link href="/favicon.ico" type="image/x-icon" rel="shortcut icon" /><meta recollect="1.5" /><meta name="google-site-verification" content="KoFxpUQwinV_Vi2E7XtEuU2Kuxsc5FoAOQqkETXB__M" /><meta property="og:url" content="https://dunedin.recollect.co.nz/nodes/view/204557" /><meta property="og:type" content="website" /> <link rel="stylesheet" type="text/css" href="/css/jquery-ui-1.13.2/jquery-ui.css?1724292971" /> <link rel="stylesheet" type="text/css" href="/css/jquery-ui-1.13.2/jquery-ui.structure.css?1724292971" /> <link rel="stylesheet" type="text/css" href="/css/jquery-ui-1.13.2/jquery-ui.theme.css?1724292971" /> <link rel="stylesheet" type="text/css" href="/css/jquery.mCustomScrollbar.css?1724292971" /> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700:latin" /> <link rel="stylesheet" type="text/css" href="/css/recollect3.css?1732140683" /> <script type="text/javascript" nonce="a5f68e88b0445ace11d47b0081224e63"> //<![CDATA[ var jsRoot = "/"; var themedCSS = "dunedin"; var jsURL = "https://dunedin.recollect.co.nz/"; var siteTitle = "Dunedin Public Libraries"; //]]> </script><script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=6LdtysMUAAAAAL2VgG5vRBJq4x8tyqUgaDGBfWzS" nonce="a5f68e88b0445ace11d47b0081224e63"></script><script type="text/javascript" src="/js/browser-update.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery-3.5.1.min.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery-ui-1.13.2/jquery-ui.min.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery.mCustomScrollbar.concat.min.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery-scroll.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/recollect3.js?1731540133" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery-migrate-3.4.0.min.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script><script nonce=a5f68e88b0445ace11d47b0081224e63 type='text/javascript'> var cpopapidata = 'eyIxIjp7ImlkIjoiNjRkMmZhMWIyZTEyNTc1OTI0Mjk2OSIsInNob3dfcG9wdXAiOiIxIiwicG9wdXBfcG9zaXRpb24iOiIxIiwicG9wdXBfdGl0bGVDb2xvciI6IiMwMDAwMDAiLCJwb3B1cF9iYWNrZ3JvdW5kQ29sb3IiOiIjMDAwMDAwIiwiYnV0dG9uX2NvbG9yIjoiIzAwMDAwMCIsIm1vcmVCdXR0b25fdGV4dENvbG9yIjoiIzAwMDAwMCIsInNob3dzX3doZW4iOiIwIiwicG9wdXBfY2xvc2VJY29uQ29sb3IiOiIjMDAwMDAwIiwicG9wdXBfYnV0dG9uVGV4dENvbG9yIjoiIzAwMDAwMCIsInNob3dfb25fcGFnZXMiOiIwIiwicGF0aG5hbWUiOlsiXC9jcm93ZHNvdXJjZSJdfX0='; </script><script type="text/javascript" src="/js/custompopup/cpop.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script><script type="text/javascript" src="https://maps.google.com/maps/api/js?key=AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery.jeditable.min.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <script type="text/javascript" src="/js/jquery.popupoverlay.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <link rel="stylesheet" type="text/css" href="/css/toastr/toastr.min.css?1724292971" /> <script type="text/javascript" src="/js/toastr/toastr.min.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script> <meta property="og:title" content="Painting of City Library exterior 2011" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="Dunedin Public Libraries" /> <meta property="og:description" content="Read the full record details for Photo: Painting of City Library exterior 2011" /> <meta property="og:image" content="https://dunedin.recollect.co.nz/assets/display/418906-max?u=e0cded1402797b2bad9170405fde0a1d" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:image:width" content="576" /> <meta property="og:image:height" content="768" /> <link rel="stylesheet" type="text/css" href="/font-awesome/4.3.0/css/font-awesome.min.css?1724292971" /><link rel="stylesheet" type="text/css" href="/theme/dunedin/css/page/Nodes/view.css?1724292971" /><script type="text/javascript" src="/theme/dunedin/js/page/Nodes/view.js?1731013313" nonce="a5f68e88b0445ace11d47b0081224e63"></script><link rel="stylesheet" type="text/css" href="/theme/dunedin/css/dunedin.css?1731974497" /><script type="text/javascript" src="/theme/dunedin/js/dunedin.js?1724292971" nonce="a5f68e88b0445ace11d47b0081224e63"></script><link rel="stylesheet" type="text/css" href="/css/print.css?1724292971" media="print" /><link rel="stylesheet" type="text/css" href="/css/mobile.css?1732140683" /> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <!-- #R1X-9002 Adding global functions for Maps & Recaptcha to body tag --> <body data-recollect-page="-nodes-view-204557" data-recollect-google-map-api-key="AIzaSyAe8K9rv_LzsZfpUyjUnesYzaUutdor4uM" data-sitekey="6LdtysMUAAAAAL2VgG5vRBJq4x8tyqUgaDGBfWzS"> <div id="popupoverlay"></div> <script nonce="a5f68e88b0445ace11d47b0081224e63" type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-34575327-23']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; //ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <script async nonce="a5f68e88b0445ace11d47b0081224e63" src="https://www.googletagmanager.com/gtag/js?id=G-GRN23Z8N5R"></script> <script nonce="a5f68e88b0445ace11d47b0081224e63"> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-GRN23Z8N5R'); // Capture User Level for Google Analytics gtag('set', 'user_properties', { 'user_level': 'Guest' }); </script> <div id="wrap"> <div id="main" role='main'> <a href="#toolbox" class="visuallyhidden">Skip to toolbar</a><div id="menu_bar" role="navigation"><div id="client_menu" class="sprite"><ul><li class="home"><a href="https://dunedin.recollect.co.nz/" class="">Home</a></li><li class="browse"><a href="https://dunedin.recollect.co.nz/nodes/browse" class="">Browse All </a></li><li class="search"><a href="https://dunedin.recollect.co.nz/nodes/definesearch" class="active">Search</a></li><li class="history"><a href="https://dunedin.recollect.co.nz/pages/history" class="">My History</a></li><li class="profile"><a href="https://dunedin.recollect.co.nz/users/login" class="">Login</a></li><li class="contribute"><a href="https://dunedin.recollect.co.nz/contributes" class="">Contribute</a></li><li class="crowdsource"><a href="https://dunedin.recollect.co.nz/crowdsource" class="">Crowdsource</a></li><li class="info"><a class=" void-pointer" tabindex="0" role="button">More</a></li><li class="contact"><a href="https://dunedin.recollect.co.nz/pages/contact" class="">Contact Us</a></li><li class="bookface"><a href="https://www.facebook.com/dunedin.public.libraries" class="">Facebook</a></li></ul></div></div><div id="info_menu"><div class="info_menu_inner"><ul><li><a href="https://dunedin.recollect.co.nz/pages/contact" >Contact Us</a></li><li><a href="https://dunedin.recollect.co.nz/pages/newspapers" >Newspaper Index</a></li><li><a href="https://dunedin.recollect.co.nz/pages/abbv" >Abbreviation Help</a></li><li><a href="https://www.dunedinlibraries.govt.nz/home" class="extlink">Library</a></li><li><a href="https://dunedin.recollect.co.nz/users/login" >Login</a></li><li><a href="https://dunedin.recollect.co.nz/users/register" >Register</a></li></ul></div></div><span id="nodeID" style="display:none;">204557</span><script nonce="a5f68e88b0445ace11d47b0081224e63" > var texttype = 'METADATA'; var textedit = '1'; var textview = '1'; var initText = '1'; </script> <script type="text/javascript" nonce="a5f68e88b0445ace11d47b0081224e63"> //<![CDATA[ var autoFadeAway = 2000; //]]> </script><div id="toolbox"><a id="toggle-toolbox" class="sprite void-pointer" title="Toggle toolbox display" tabindex="0" role="button">Open/Close Toolbox</a><div id="searchbacknextinheader" class="sprite clearfix"><div id="back-forward"></div></div><div class="nodeactions sprite"><ul></ul></div><div id="thezone"><div role="heading" class="portlet-header">Format: Photo</div><div id="imagetaglist" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Image Tags</div><a href="https://dunedin.recollect.co.nz/users/login" title="Login to add a tag" class="addtag2 sprite">Add</a><div class="portlet-content"><div id="showHideTags"><input type="radio" name="data[showHideRadio]" id="ShowHideRadio2" value="2" checked="checked" /> <label class="hide" for="ShowHideRadio2">Show tags<span class="crossed"></span></label> <input type="radio" name="data[showHideRadio]" id="ShowHideRadio3" value="3" /> <label for="ShowHideRadio3">Show tags<span class="ticked" tabindex="0"></span></label></div><span class="nil">no tags yet</span><div id="showHideTagsList" class="listwrap"><ul></ul></div></div></div><div id="back_fwd_links" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Linked To</div><div class="portlet-content"><strong>Group</strong><ul><li><a href="https://dunedin.recollect.co.nz/nodes/view/200076" >Dunedin Public Libraries</a></li></ul><strong>Place</strong><ul><li><a href="https://dunedin.recollect.co.nz/nodes/view/200480" >Dunedin City Library</a></li></ul><strong>Events</strong><ul><li><a href="https://dunedin.recollect.co.nz/nodes/view/218049" >Painting of City Library exterior 2011</a></li></ul></div></div><div id="recollections" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Recollections</div><a href="https://dunedin.recollect.co.nz/users/login" class="sprite recadd2" title="Login and tell us more about this photo">Add</a><div class="portlet-content"><span class="nil">no stories yet</span></div></div><div id="creative_commons" class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Copyright</div><div class="portlet-content"><div class="cc_i_txt"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/nz/" title="This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 New Zealand License" rel="license" class="extlink"><img src="/htmluploads/dunedin/creative_commons/3.png?" alt="3" title="3" /></a><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/nz/" class="extlink">This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 New Zealand License</a><div class="copyDescrip">This licence allows you to download this work and share it with others as long as you mention us and link back to us, but you cannot change it in any way or use it commercially.</div></div></div></div></div><div id="sharemenu" class="sharemenu"><a href="https://twitter.com/share?url=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F204557" target="_blank" class="shareme" id="twitter_share"><img src="/img/share_twitter.png?1724292971" alt="Tweet this on Twitter" title="Tweet this on Twitter" /></a><a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F204557" target="_blank" class="shareme" id="facebook_share"><img src="/img/share_facebook.png?1724292971" alt="Share this on Facebook" title="Share this on Facebook" /></a><a href="https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F204557" target="_blank" class="shareme" id="linkedin_share"><img src="/img/share_linkedin.png?1724292971" alt="Share this on LinkedIn" title="Share this on LinkedIn" /></a><a href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F204557" target="_blank" class="shareme" id="tumblr_share"><img src="/img/share_tumblr.png?1724292971" alt="Share this on Tumblr" title="Share this on Tumblr" /></a><a href="mailto:?subject=Sharing%20Painting%20of%20City%20Library%20exterior%202011%20at%20Dunedin%20Public%20Libraries&body= Here's the link: https%3A%2F%2Fdunedin.recollect.co.nz%2Fnodes%2Fview%2F204557&X-Mailer=RECOLLECTshare" id="email_share"><img src="/img/share_email.png?1724292971" alt="Share this via email" title="Share this via email" /></a></div><div id="tools" style=""><div class="butttit">Tools</div><a id="heroz1" class="toolbox_button void-pointer" tabindex="0" role="button">Full size thumbnail</a><a id="heroz2" class="toolbox_button void-pointer" tabindex="0" role="button">Fit to screen</a><a id="heroz3" class="toolbox_button void-pointer" tabindex="0" role="button">Fit to width</a><a id="heroz4" class="toolbox_button void-pointer" tabindex="0" role="button">Fit to height</a><a id="flipper" class="toolbox_button void-pointer" tabindex="0" role="button">Rotate 90 degrees</a><a id="pz_button" class="toolbox_button void-pointer" u="/assets/view" tabindex="0" role="button">Zoom to 100%</a><div id="zoom"><div id="zoomer"></div><div id="zoom_wrap"><div id="zoom_slide"></div></div></div><a id="OCRpopup" class="toolbox_button void-pointer" u="/nodes/ocrtxt" tabindex="0" role="button">Show Text / Transcription</a><a id="searchpop" class="toolbox_button void-pointer" tabindex="0" role="button">Show keyword hits</a><a id="showKeyHits" class="toolbox_button void-pointer" tabindex="0" role="button">Highlight keywords</a><a href="https://dunedin.recollect.co.nz/nodes/download/204557" class="toolbox_button download downloadwiz" aid="0">Download</a><a href="https://dunedin.recollect.co.nz/users/bookmarks/add:204557" class="toolbox_button add">Add to My Collection</a><a href="https://dunedin.recollect.co.nz/messages/create/204557" class="toolbox_button contact">Contact us about this</a><a class="toolbox_button cite void-pointer" tabindex="0" role="button">Citation for this item</a></div></div><div id="main_content_wrap"><div id="header"><div id="client_logo"><a href="http://www.dunedinlibraries.govt.nz/home" ><img src="/theme/dunedin/img/logo.png?1724292971" title="" alt="" /></a></div><div class="headerText pad"><span class="headerTextA">Dunedin Public Libraries and the Dunedin Lebanese Community Present:</span><br><span class="headerTextB">HE PURAPURA MARARA </span><span class="headerTextC">SCATTERED SEEDS</span></div><div id="topright"><a href="http://www.cedarsoflebanon.org.nz/" target="_blank"><img src="/theme/dunedin/img/cedars-logo_circle.png?1724292971" title="" alt="" /></a></div><div id="login_logout" class="notloggedin"><span id="welcome">Welcome <a href="https://dunedin.recollect.co.nz/users/login" >Guest</a></span><span id="logout"><a href="https://dunedin.recollect.co.nz/users/login" class ="sprite">Login</a></span></div></div><div id="rMenuCont"><div id="rMenuBurg"><span class="sprite"></span></div><div id="rMenuCent"><div id="client_logo_responsive"><a href="/" ><img src="/theme/dunedin/img/logo.mobile.png?1724292971" title="" alt="" /></a></div></div><div id="rMenuSearch"><span class="sprite"></span></div></div><div id="main_content" role="main"><div class="the-header sprite"><h1>Painting of City Library exterior 2011</h1></div><div id="sidebar"><a id="toggle-sidebar" class="sprite void-pointer" title="Toggle display" tabindex="0" role="button">Expand/collapse</a><div id="sidebar-scroll"><div class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Relates to</div><div class="portlet-content"><span class="metadata"><span class="titlelabel">Group</span><a href="https://dunedin.recollect.co.nz/nodes/view/200076" >Dunedin Public Libraries</a></span><span class="metadata"><span class="titlelabel">Place</span><a href="https://dunedin.recollect.co.nz/nodes/view/200480" >Dunedin City Library</a></span><span class="metadata"><span class="titlelabel">Events</span><a href="https://dunedin.recollect.co.nz/nodes/view/218049" >Painting of City Library exterior 2011</a></span></div></div><div class="portlet"><div role="heading" aria-level="3" class="portlet-header"><span class="expandcolapse sprite"></span>Contributors</div><div class="portlet-content"><span class="metadata"><span class="titlelabel">Contributor</span><a href="https://dunedin.recollect.co.nz/nodes/browse/?meta=eyIxMCI6WyJEdW5lZGluIFB1YmxpYyBMaWJyYXJpZXMgRmxpY2tyIl0sIjk3IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMTAxIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMTAzIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMjE2IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMjE3IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMTMwIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMTU1IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMTg2IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMTgyIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMjE0IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMjM5IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMjY4IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMjkzIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMzQxIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiMzgwIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNDE0IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNDM4IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNTAyIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNTE2IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNTM1IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNTU0IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNTgxIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNjAzIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNjYxIjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXSwiNjk3IjpbIkR1bmVkaW4gUHVibGljIExpYnJhcmllcyBGbGlja3IiXX0=" class="metadatalookup" title="Find all Contributor = Dunedin Public Libraries Flickr">Dunedin Public Libraries Flickr</a></span></div></div></div></div><div id="ocrbar"><div id="ocrtools"><a href="#" class="button TXTbut" type="OCR" allow="0" data-view="1" title="Automatic machine generated text">OCR</a><a href="#" class="button TXTbut" type="TXT" allow="0" data-view="1" title="Text extracted from the document">Text</a><a href="#" class="button TXTbut" type="TRANSCRIPTION" allow="0" data-view="1" title="Transcription of this item">Transcription</a><a href="#" class="button" id="eddy" title="Edit this Item">Edit</a><a class="button void-pointer" id="eddyGrid" title="Edit grid data" tabindex="0" role="button">Edit</a><a href="#" class="button fonty" do="+=2" id="eddy" title="Increase font size">+</a><a href="#" class="button fonty" do="-=2" id="eddy" title="Decrease font size">-</a><a href="#" class="button" id="XXXbutt" title="Close this panel">Close</a></div><div id="gridtools"><h1>Editing is temporarily disabled</h1><a class="button void-pointer" id="gridCancel" title="Cancel Edit" tabindex="0" role="button">Cancel Edit</a></div><div id="ocrandtxt"></div></div><div id="viewport"><img src="/assets/display/418906-max?u=e0cded1402797b2bad9170405fde0a1d" class="hero current" id="hero418906" w="576" h="768" idx="418906" noPZ="1" title="" alt="" /></div><div id="threedeeCont" style="display:none; position:relative;"><span class="threedeeCont_close close-icon" ></span></div></div></div><div id="addtaghelp" class="hidden">Click on the image to add<br />a tag or press ESC to cancel</div><div id="citation" class="hidden">Dunedin Public Libraries (1st May 2024). <em>Painting of City Library exterior 2011</em>. In Website Dunedin Public Libraries. Retrieved 4th Dec 2024 15:16, from https://dunedin.recollect.co.nz/nodes/view/204557</div><style> #threedeeCont, #narImgCont { background: #ffffff url("/img/ajax-loader.gif") no-repeat center center; } #autoplayer { height: auto; width: auto; background: #ffffff url("/img/ajax-loader.gif") no-repeat center center !important; } .narImgCont_close { margin: 20px; position: fixed; } span.marker { background-color: #ffff00; } #footer { margin-top: -4.6em !important; } .sidelogo { margin: 0; } .vscancolor { color: orange !important; } #gridtools { display: none; margin: 8px; white-space: nowrap; } #eddy, #eddyGrid { display: inline-block; } @media only screen and (max-width: 790px) { #viewport.pdf { display: block; height: auto !important; } .pdf iframe { display: block; height: 600px !important; } } </style> <script nonce="a5f68e88b0445ace11d47b0081224e63"> /* BB R1X-3135 - toggle asset/text full screen*/ $("#toggleFullText").change(function() { transcriptionBlock.toggleFullText($(this)); }); $("#toggleFullAsset").change(function() { transcriptionBlock.toggleFullAsset($(this)); }); var gridTable = ''; $('img.kaboom').css({ cursor: 'pointer' }).on('click', function() { var img = $(this); //var url = location.origin; var url = ''; var close = $('<span class="narImgCont_close close-icon" ></span>'); var bigImg = $('<img />').css({ 'max-width': '100%', 'max-height': '100%', 'height': 'auto', 'width': 'auto', 'display': 'inline' }); bigImg.attr({ //src: img.attr('src'), src: "/assets/display/" + img.attr('id') + "-max", alt: img.attr('alt'), title: img.attr('title') }); var over = $('<div />').text(' ').css({ 'height': '100%', 'width': '100%', 'background': 'rgba(0,0,0,.82)', 'position': 'fixed', 'top': 0, 'left': 0, 'padding': '20px', 'opacity': 0.0, 'cursor': 'pointer', 'z-index': '9999', 'text-align': 'center' }).append(bigImg, close).bind('click', function() { $(this).fadeOut(300, function() { $(this).remove(); $('div#viewport').css('z-index', 'initial'); }); }).insertAfter(this).animate({ 'opacity': 1 }, 300); $('div#viewport').css('z-index', '4'); }); /* * Refactoring Note: * The function 'initPop(idx)' (responsible for displaying OCR/Transcription results on Page load as default behaviour) * is moved to 'recollect3.js' as 'showOcrTranscriptionOnPageLoad(idx, texttype, textedit, textview)' to improve modularity * and separation of concerns.This change helps in maintaining and testing the OCR functionality independently. */ if (texttype !== 'METADATA') { console.log("T-type: " + texttype); idx = transcriptionBlock.getPageHash(); console.log("T-idx: " + idx); //Show default view (ORC/Transcript) on page load transcriptionBlock.showOcrTranscriptionOnPageLoad(idx, texttype, textedit, textview) var popLoaded = 1; } //@ST COSA-1324 : 2020-01-13. Function for image tag form validation. function getFormValidation(obj, value, userLevel) { // var patternOld = /['<','>','&']/; // Changed to new regex that accepts comma and still denies other characters https://recollectnz.atlassian.net/browse/R1X-6281 var pattern = /[<>&]/; if (userLevel != "Administrator") { if (pattern.test(value)) { obj.previousElementSibling.style.opacity = 1; $('.newrec').addClass('error_form'); $('.submit')[1].children[0].setAttribute("disabled", "disabled"); } else { obj.previousElementSibling.style.opacity = 0; $('.newrec').removeClass('error_form'); $('.submit')[1].children[0].removeAttribute("disabled"); } } } </script> <script nonce="a5f68e88b0445ace11d47b0081224e63"> $(document).ready(function() { // @ST timeline script var embed; if (document.getElementById('timeline-embed') !== null) { embed = document.getElementById('timeline-embed'); //embed.style.height = getComputedStyle(document.body).height; window.timeline = new TL.Timeline('timeline-embed', Array, { hash_bookmark: false }); window.addEventListener('resize', function() { var embed = document.getElementById('timeline-embed'); //embed.style.height = getComputedStyle(document.body).height; timeline.updateDisplay(); }); } }); </script> <script nonce="a5f68e88b0445ace11d47b0081224e63"> (function() { //if it doesn't have "#back-forward" block set null var $el = document.getElementById("back-forward") || null; //if page doesn't have this element break function if (!$el) return; //small helpers const getNewObj = (k, v) => { return { [k]: v } }; const parseReq = (str) => str.replace("?", "&").split("&").map(e => e.split("=")).filter(e => e[0] != "").map(e => getNewObj(e[0], e[1])); const getValue = (obj) => Object.values(obj); //encode array of the elements var encoding = function(str) { var result; try { result = btoa(unescape(encodeURIComponent(str))); } catch (e) { console.error("Error on ENCODING FUNCTION." + e); } return result; } //decode string var decoding = function(str) { var result; try { result = decodeURIComponent(escape(atob(decodeURIComponent(str)))); } catch (e) { console.error("Error on DECODING FUNCTION." + e); } return result; } //parse string var jsonParse = function(param) { var result; try { result = JSON.parse(param); } catch (e) { console.error("Error on JSON PARSE FUNCTION." + e); } return result; } //XSS protection var encodingHtmlEntities = function(str) { return String(str).replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); //.replace(/&/g, '&') } //get localStorageKey from URL const localStorageKey = parseReq(window.location.search).filter(e => Object.keys(e) == "lsk"); const otherKeys = parseReq(window.location.search).filter(e => Object.keys(e) != "lsk"); let searchParam = ""; otherKeys.forEach(e => { searchParam += "&" + Object.keys(e) + "=" + Object.values(e); }); //if don't have a key in URL break function if ((localStorageKey && localStorageKey.length === 0)) return; //get key from string const KEY = localStorageKey[0].lsk; //this key doesn't have a data break function if (!window.localStorage.getItem(KEY) && !window.sessionStorage.getItem(KEY)) return; var cleanLocalStorage = function() { for (let key in window.sessionStorage) { if ((key != KEY) && (key != "_" + KEY)) { window.sessionStorage.removeItem(key); } } } if (Object.keys(window.sessionStorage).length > 1) { cleanLocalStorage(); } //return current ID var getCurrentId = function() { let path = window.location.pathname.split('/'); return path[path.length - 1]; } //get position of element in an array var getPositionInArray = function(sessionStorage) { for (let i = 0; i < sessionStorage.length; i++) { if (Object.keys(sessionStorage[i])[0] == getCurrentId()) { return i; } } return 0; } //get range var ss_getRange = function(sessionStorage) { const array = jsonParse(decoding(sessionStorage)); let position = Number(getPositionInArray(array)); return range = { prev: array[position - 1] ? array[position - 1] : {}, current: array[position] ? array[position] : {}, next: array[position + 1] ? array[position + 1] : {}, position } } //generate object of position, index, page and length var getPosition = function() { let arr = jsonParse(decoding(currentStorage.searchSet)); let position = { page: currentStorage.page, index: getPositionInArray(arr), length: arr.length }; return position; } var getByPosition = function(array, idx) { return jsonParse(decoding(array))[idx]; } if (!window.sessionStorage.getItem(KEY)) { window.sessionStorage.setItem("_" + KEY, window.localStorage.getItem(KEY)); window.localStorage.removeItem(KEY); } //get initial information from LocalStorage const searchResult = jsonParse(decoding(window.sessionStorage.getItem("_" + KEY))); const itemsSet = searchResult.itemsSet; const searchReq = decoding(searchResult.request); const pageCount = jsonParse(searchResult.pageCount); const countElem = jsonParse(searchResult.countElem); //set local variable let perPage = jsonParse(searchResult.perPage); let requestWasSent = false; //SESSION SECTION let sessionKey = KEY; //get sessionStorage by key, if it's not exist set null let sessionStorage = window.sessionStorage.getItem(sessionKey) || null; let sessionItemSet = ""; if (sessionStorage) { sessionItemSet = JSON.parse(sessionStorage).searchSet; } else { sessionItemSet = itemsSet; } //create local state let currentStorage = { page: jsonParse(searchResult.currentPage), prevSearchSet: "", searchSet: sessionItemSet, nextSearchSet: "", current: ss_getRange(itemsSet).current, prev: ss_getRange(itemsSet).prev, next: ss_getRange(itemsSet).next, position: ss_getRange(itemsSet).position } var setSessionStorage = function() { window.sessionStorage.setItem(sessionKey, JSON.stringify(currentStorage)) } //if sessionStorage empty set it with initialState of currentStorage //if sessionStorage has this key update it with new value if (!sessionStorage) { let range = ss_getRange(itemsSet); setSessionStorage(); pageNumber = searchResult.currentPage; } else { let currentArray = jsonParse(sessionStorage).searchSet; let currentPage = jsonParse(sessionStorage).page; let currentRange = ss_getRange(currentArray); currentStorage.page = jsonParse(sessionStorage).page; // currentStorage.current = ss_getRange(itemsSet).current; // currentStorage.prev = ss_getRange(itemsSet).prev; // currentStorage.next = ss_getRange(itemsSet).next; // currentStorage.position = ss_getRange(itemsSet).position; currentStorage.current = ss_getRange(jsonParse(sessionStorage).searchSet).current; currentStorage.prev = ss_getRange(jsonParse(sessionStorage).searchSet).prev; currentStorage.next = ss_getRange(jsonParse(sessionStorage).searchSet).next; currentStorage.position = ss_getRange(jsonParse(sessionStorage).searchSet).position; currentStorage.prevSearchSet = jsonParse(sessionStorage).prevSearchSet; currentStorage.nextSearchSet = jsonParse(sessionStorage).nextSearchSet; if (currentStorage.position === 0 && currentStorage.prevSearchSet != "") { let prevSet = currentStorage.prevSearchSet; currentStorage.prev = getByPosition(prevSet, jsonParse(decoding(prevSet)).length - 1); } if (currentStorage.position === jsonParse(decoding(currentArray)).length - 1 && currentStorage.nextSearchSet != "") { let nextSet = currentStorage.nextSearchSet; currentStorage.next = getByPosition(nextSet, 0); } setSessionStorage(); } let nextPage = currentStorage.page; //update set of nodes array var updateLocalStorage = function(data, searchReq, pageNum) { let newitemsSet = data.nodes.map(e => e.Node).map(e => { let x = { [e.id]: e.title }; return x; }); let newSet = encoding(JSON.stringify(newitemsSet)); let range = ss_getRange(currentStorage.searchSet); if (currentStorage.position == 0) { currentStorage.prev = getByPosition(newSet, newitemsSet.length - 1); currentStorage.prevSearchSet = newSet; } if (currentStorage.position == (jsonParse(decoding(currentStorage.searchSet)).length - 1) && jsonParse(decoding(currentStorage.searchSet)).length > 1) { currentStorage.next = getByPosition(newSet, 0); currentStorage.nextSearchSet = newSet; } setSessionStorage(); createButtonsBlock(); } var sendRequest = function(direction) { let pageNum = 1; if (direction.page == 1) { pageNum = direction.index == 0 ? 1 : (Number(direction.page) + 1); } else if (direction.page > 1 && direction.page < pageCount) { pageNum = direction.index == 0 ? (Number(direction.page) - 1) : (Number(direction.page) + 1); } else { pageNum = direction.index == 0 ? (Number(direction.page) - 1) : pageCount; } const regex = /(page=\d*)/ius; let otherReq = searchReq != "" ? (regex.test(searchReq)) ? searchReq.replace(regex, `page=${pageNum}`) : `${searchReq}&page=${pageNum}` : `?page=${pageNum}`; let newRequest = (searchReq != "" && regex.test(searchReq)) ? searchReq.replace(regex, `page=${pageNum}`) : otherReq; $.get('/nodes/search_result/1' + newRequest, data => updateLocalStorage(data, newRequest, pageNum)); } var getNewArrayOfIds = async function(position) { if (position.index != 0 && position.index != position.length - 1) { return; } if (((Number(position.index) == position.length - 1) && (Number(position.page) < pageCount)) || ((Number(position.index) == 0) && (Number(position.page) > 1 && Number(position.page) <= pageCount))) { if (!requestWasSent) { await sendRequest(position); requestWasSent = true; } } } var getURL = function(pathname = false) { if (pathname) { return window.location.origin + window.location.pathname; } return window.location.origin; } var getParam = function() { return window.location.search } var createBtn = function(id, title, direct) { return `<span> <a href="${getURL()}/nodes/view/${id}?lsk=${KEY}${searchParam}" title="${encodingHtmlEntities(title)}" data-dir='${direct}'><i class='fa fa-chevron-${direct}'></i></a> </span>`; } var createButtonsBlock = function() { let rangePrev = Object.keys(currentStorage.prev).length > 0 ? currentStorage.prev : 0; let rangeNext = Object.keys(currentStorage.next).length > 0 ? currentStorage.next : 0; let prev = rangePrev != 0 ? rangePrev : "none"; let next = rangeNext != 0 ? rangeNext : "none"; let prevBtn = "<a href='#' style='pointer-events: none;'><i class='fa fa-chevron-left'></i></a>"; let nextBtn = "<a href='#' style='pointer-events: none;'><i class='fa fa-chevron-right'></a>"; if (prev != "none") { prevBtn = createBtn(Object.keys(prev), Object.values(prev), "left"); prevId = Object.keys(prev); } if (next != "none") { nextBtn = createBtn(Object.keys(next), Object.values(next), "right"); nextId = Object.keys(next); } let pos = getPosition(); getNewArrayOfIds(pos); let arrCount = perPage > 0 ? perPage : 24; let searchPos = Number(pos.page) == 1 ? (pos.index + 1) : (((Number(pos.page) - 1) * arrCount) + (pos.index + 1)); $el.innerHTML = `<div class="nav-btn left-btn">${prevBtn}</div> <div class="nav-btn result-btn">Result ${searchPos} from ${countElem}</div> <div class="nav-btn right-btn">${nextBtn}</i></div>`; $('[data-dir="left"]').one('click', () => { if (pos.index == 0) { nextPage = currentStorage.page - 1; } }); $('[data-dir="right"]').one('click', () => { if (pos.index == pos.length - 1) { nextPage = currentStorage.page + 1; } }); } createButtonsBlock(); window.addEventListener('beforeunload', (event) => { // RX9003 - Removed event.preventDefault() to stop prompt message from // occurring, not needed at this stage. if (window.sessionStorage.getItem(sessionKey)) { if (currentStorage.nextSearchSet != "" || currentStorage.prevSearchSet != "") { if (currentStorage.page != 1 || currentStorage.page != pageCount) { if (nextPage > currentStorage.page) { currentStorage.prevSearchSet = currentStorage.searchSet; currentStorage.searchSet = currentStorage.nextSearchSet; currentStorage.nextSearchSet = ""; currentStorage.next = {}; } if (currentStorage.page > nextPage) { currentStorage.nextSearchSet = currentStorage.searchSet; currentStorage.searchSet = currentStorage.prevSearchSet; currentStorage.prevSearchSet = ""; currentStorage.prev = {}; } currentStorage.page = nextPage; } } setSessionStorage(); } }, { once: true }); //TO HIDE PARAMS. IT REMOVES PARAMS FROM URL // history.pushState("", null, getURL(true)); })() </script> <style> #back-forward { display: flex; width: 100%; max-width: 100%; justify-content: space-between; box-sizing: border-box; /* margin: 5px 0 5px 5px; */ border-radius: 4px; } .nav-btn { padding: 5px; background-color: #f0f0f0; } .left-btn { border-radius: 2px 0 0 2px; background-color: #fff; border: 1px solid #e5e5ee; } .right-btn { border-radius: 0 2px 2px 0; background-color: #fff; border: 1px solid #e5e5ee; } .result-btn { /* font-size: 1.1em; font-weight: 700; */ width: 100%; border-top: 1px solid #e5e5ee; border-bottom: 1px solid #e5e5ee; text-align: center; } </style> </div><!-- #main --> </div><!-- #wrap --> <div id="footer"><div id="footer-links"><a href="https://dunedin.recollect.co.nz/pages/privacy" >Privacy Policy</a> | <a href="https://dunedin.recollect.co.nz/pages/terms" >Terms of Use</a></div><div id="copyright">Content on this site may be subject to Copyright, please <a href="https://dunedin.recollect.co.nz/messages/create" >contact Dunedin Public Libraries</a> before any reuse if you are unsure.<br /><a href="https://www.recollectcms.com/" target="_blank">RECOLLECT</a> is Copyright © 2011-2024 by <a href="https://www.recollectcms.com/" target="_blank">Recollect Limited</a> | Page rendered in <span id='render-time'>0.6411</span> seconds</div></div></body> </html>