...ightroom/Web Galleries/Impact.lrwebengine/photo.html:116: attempt to index global 'image' (a nil value)

...ightroom/Web Galleries/Impact.lrwebengine/photo.html:116: attempt to index global 'image' (a nil value)

Switch View
  • ...ightroom/Web Galleries/Impact.lrwebengine/photo.html:116: in main chunk
  1. <%
  2. local mySize = "large"
  3. local theRoot = "."
  4. local resolution = "";
  5. if (model.nonCSS.images_large.export) then resolution = "max" end
  6. if (model.nonCSS.images_medium.export and resolution == "") then resolution = "medium" end
  7. if (model.nonCSS.images_small and resolution == "") then resolution = "small" end
  8. local folder = "photos_" .. resolution
  9. %>
  10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  11. "http://www.w3.org/TR/html4/loose.dtd">
  12. <html>
  13. <!-- This gallery has been generated using the 'Impact' Web Engine for Lightroom 2. See http://www.photographers-toolbox.com/ for more information -->
  14. <head>
  15. <title>$model.metadata.pageTitle.value</title>
  16. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  17. <meta name="description" content="$model.metadata.description.value">
  18. <meta name="viewport" content="user-scalable=no, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5">
  19. <link rel="stylesheet" type="text/css" media="screen" title="Custom Settings" href="$theRoot/resources/custom.css" >
  20. <link rel="stylesheet" type="text/css" media="screen" href="$theRoot/resources/mainstyles.css">
  21. <link media="only screen and (max-device-width: 480px)" href="$theRoot/resources/smallscreen.css" type= "text/css" rel="stylesheet">
  22. <!-- Redirect this static page to the Javascript version if scripting is now enabled -->
  23. <script type="text/javascript" src="$theRoot/resources/mootools-1.2.4-core-yc.js"></script>
  24. <script type="text/javascript" src="$theRoot/resources/mootools-1.2.4.4-more.js"></script>
  25. <script type="text/javascript"><!--
  26. var uri = new URI(window.location);
  27. var filename = uri.get('file');
  28. var imagename = filename.substring(0, filename.length - 5);
  29. window.location.replace("index.html#" + imagename);
  30. --></script>
  31. <style type="text/css">
  32. #prevbutton1 { border-color: #000000 #FFFFFF #000000 #000000 }
  33. #prevbutton2 { border-color: #FFFFFF #000000 #FFFFFF #000000 }
  34. #nextbutton1 { border-color: #FFFFFF #000000 #FFFFFF #000000 }
  35. #nextbutton2 { border-color: #000000 #000000 #000000 #FFFFFF }
  36. #playbutton1 { border-color: #000000 #000000 #000000 #FFFFFF }
  37. #playbutton2 { border-color: #FFFFFF }
  38. #pausebutton1 { border-color: #FFFFFF }
  39. #playbutton1 { border-color: <%= model.nonCSS.playbutton1borderColor %> }
  40. #playbutton2 { border-color: <%= model.nonCSS.playbutton2borderColor %> }
  41. #nextbutton1 { border-color: <%= model.nonCSS.nextbutton1borderColor %> }
  42. #nextbutton2 { border-color: <%= model.nonCSS.nextbutton2borderColor %> }
  43. #prevbutton1 { border-color: <%= model.nonCSS.prevbutton1borderColor %> }
  44. #prevbutton2 { border-color: <%= model.nonCSS.prevbutton2borderColor %> }
  45. #pausebutton1 { border-color: <%= model.nonCSS.pausebuttonBorderColor %> }
  46. </style>
  47. <!--[if lt IE 7]>
  48. <% if mode ~= 'preview' then %>
  49. <link href="$theRoot/pngfix.css" media="screen" rel="stylesheet" type="text/css" />
  50. <% end %>
  51. <![endif]-->
  52. </head>
  53. <body>
  54. <%
  55. local loadingdots='<div class="loading">'
  56. local n
  57. for n = 1, model.nonCSS.loadingdots.number do
  58. loadingdots = loadingdots .. "<span>·</span>"
  59. end
  60. loadingdots = loadingdots .. "</div>"
  61. %>
  62. <div id="beltcontainer">
  63. <%
  64. if model.nonCSS.fittingType == "width" then
  65. fitClass = "fithorizontal"
  66. elseif model.nonCSS.fittingType == "height" then
  67. fitClass = "fitvertical"
  68. else
  69. -- We scale based on the orientation of the photo.
  70. --
  71. -- To do that we need to find a resolution that was actually exported...
  72. image = getImage(index)
  73. if model.nonCSS.images_large.export then
  74. width = image.renditions.large.width
  75. height = image.renditions.large.height
  76. elseif model.nonCSS.images_medium.export then
  77. width = image.renditions.medium.width
  78. height = image.renditions.medium.height
  79. else
  80. width = image.renditions.small.width
  81. height = image.renditions.small.height
  82. end
  83. if width > height then
  84. fitClass = "fithorizontal"
  85. else
  86. fitClass = "fitvertical"
  87. end
  88. end
  89. %>
  90. <div class="beltobjectwrapper <%= fitClass %>"><div class="beltobjectcenterer"><div class="beltobject"><img src="<%= folder .. "/" .. image.exportFilename %>.jpg" alt="$image.metadata.seoAltText"></div></div></div>
  91. </div>
  92. <% if model.nonCSS.displayIdentityPlate then
  93. if #model.nonCSS.identityPlateLink > 0 then %>
  94. <div id="logo"><a href="<%= model.nonCSS.identityPlateLink %>"><img src="$theRoot/resources/logo.png" alt=""></a></div>
  95. <% else %>
  96. <div id="logo"><img src="$theRoot/resources/logo.png"></div>
  97. <% end %>
  98. <% end %>
  99. <div id="menuwrapper"><div id="menu">
  100. <table cellspacing="0" cellpadding="0" border="0">
  101. <tr>
  102. <td class="menubarleftpadding"></td>
  103. <td>
  104. <ul id="menuitems" class="<%= model.nonCSS.menuitems.layout %>">
  105. <% if model.nonCSS.menuitems.one.included then %><li><a href="<%= model.nonCSS.menuitems.one.url %>"><%= model.nonCSS.menuitems.one.title %></a></li><% end %>
  106. <% if model.nonCSS.menuitems.two.included then %><li><a href="<%= model.nonCSS.menuitems.two.url %>"><%= model.nonCSS.menuitems.two.title %></a></li><% end %>
  107. <% if model.nonCSS.menuitems.three.included then %><li><a href="<%= model.nonCSS.menuitems.three.url %>"><%= model.nonCSS.menuitems.three.title %></a></li><% end %>
  108. <% if model.nonCSS.menuitems.four.included then %><li><a href="<%= model.nonCSS.menuitems.four.url %>"><%= model.nonCSS.menuitems.four.title %></a></li><% end %>
  109. <% if model.nonCSS.menuitems.five.included then %><li><a href="<%= model.nonCSS.menuitems.five.url %>"><%= model.nonCSS.menuitems.five.title %></a></li><% end %>
  110. <% if model.nonCSS.menuitems.six.included then %><li><a href="<%= model.nonCSS.menuitems.six.url %>"><%= model.nonCSS.menuitems.six.title %></a></li><% end %>
  111. </ul>
  112. </td>
  113. <% if model.nonCSS.controlsEnabled then %>
  114. <lr:Pagination>
  115. <lr:PreviousEnabled>
  116. <td class="control">
  117. <div class="controlContainer" id="prevbutton">
  118. <table cellspacing="0" cellpadding="0" border="0" align="center"><tr><td class="controlbit"><a href="$link" id="prevbutton1" class="slant"><!-- --></a></td><td class="controlbit"><a href="$link" id="prevbutton2" class="slant"><!-- --></a></td></tr></table>
  119. </div>
  120. </td>
  121. <td class="control"></td>
  122. </lr:PreviousEnabled>
  123. <lr:NextEnabled>
  124. <td class="control">
  125. <div class="controlContainer" id="nextbutton">
  126. <table cellspacing="0" cellpadding="0" border="0" align="center"><tr><td class="controlbit"><a href="$link" id="nextbutton1"class="slant"><!-- --></a></td><td class="controlbit"><a href="$link" id="nextbutton2" class="slant"><!-- --></a></td></tr></table>
  127. </div>
  128. </td>
  129. <td class="menubarrightpadding"></td>
  130. </lr:NextEnabled>
  131. </lr:Pagination>
  132. <% end %>
  133. </tr>
  134. </table>
  135. </div></div>
  136. <% if model.nonCSS.dots.enabled then %>
  137. <div id="dotswrapper"><div id="dots"><% for d = 1, numImages do %><a <% if d == index then write('class="selected"') end %> <% if d == 1 then write('class="first"') end %> href="<%= getImage(d).exportFilename %>.html"><% if model.nonCSS.dots.type == "squares" then write("" .. d) else write ('·') end%></a><% end %></div></div>
  138. <% end %>
  139. <script type="text/javascript"><!--
  140. document.write('<div id="pr1"><img src="resources/blank.gif"></div>');
  141. document.write('<div id="pr2"></div>');
  142. --></script>
  143. <noscript>
  144. <%
  145. img = '<img src="resources/blank.gif">'
  146. i = index + 1
  147. if i > numImages then i = 1 end
  148. if model.nonCSS.clickBehaviour == "advance" then
  149. img = '<a href="' .. getImage(i).exportFilename .. '.html">' .. img .. '</a>'
  150. elseif model.nonCSS.clickBehaviour == "url" then
  151. img = '<a href="' .. model.nonCSS.clickURL .. '">' .. img .. '</a>'
  152. end
  153. %>
  154. <div id="pr1"><%= img %></div>
  155. </noscript>
  156. <% --[[ Include the page footer]] %>
  157. </body>
  158. </html>
  1. local mySize = "large"
  2. local theRoot = "."
  3. local resolution = "";
  4. if (model.nonCSS.images_large.export) then resolution = "max" end
  5. if (model.nonCSS.images_medium.export and resolution == "") then resolution = "medium" end
  6. if (model.nonCSS.images_small and resolution == "") then resolution = "small" end
  7. local folder = "photos_" .. resolution
  8. write( [[
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  10. "http://www.w3.org/TR/html4/loose.dtd">
  11. <html>
  12. <!-- This gallery has been generated using the 'Impact' Web Engine for Lightroom 2. See http://www.photographers-toolbox.com/ for more information -->
  13. <head>
  14. <title>]] )write( model.metadata.pageTitle.value )write( [[</title>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  16. <meta name="description" content="]] )write( model.metadata.description.value )write( [[">
  17. <meta name="viewport" content="user-scalable=no, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5">
  18. <link rel="stylesheet" type="text/css" media="screen" title="Custom Settings" href="]] )write( theRoot )write( [[/resources/custom.css" >
  19. <link rel="stylesheet" type="text/css" media="screen" href="]] )write( theRoot )write( [[/resources/mainstyles.css">
  20. <link media="only screen and (max-device-width: 480px)" href="]] )write( theRoot )write( [[/resources/smallscreen.css" type= "text/css" rel="stylesheet">
  21. <!-- Redirect this static page to the Javascript version if scripting is now enabled -->
  22. <script type="text/javascript" src="]] )write( theRoot )write( [[/resources/mootools-1.2.4-core-yc.js"></script>
  23. <script type="text/javascript" src="]] )write( theRoot )write( [[/resources/mootools-1.2.4.4-more.js"></script>
  24. <script type="text/javascript"><!--
  25. var uri = new URI(window.location);
  26. var filename = uri.get('file');
  27. var imagename = filename.substring(0, filename.length - 5);
  28. window.location.replace("index.html#" + imagename);
  29. --></script>
  30. <style type="text/css">
  31. #prevbutton1 { border-color: #000000 #FFFFFF #000000 #000000 }
  32. #prevbutton2 { border-color: #FFFFFF #000000 #FFFFFF #000000 }
  33. #nextbutton1 { border-color: #FFFFFF #000000 #FFFFFF #000000 }
  34. #nextbutton2 { border-color: #000000 #000000 #000000 #FFFFFF }
  35. #playbutton1 { border-color: #000000 #000000 #000000 #FFFFFF }
  36. #playbutton2 { border-color: #FFFFFF }
  37. #pausebutton1 { border-color: #FFFFFF }
  38. #playbutton1 { border-color: ]] )write( model.nonCSS.playbutton1borderColor )write( [[ }
  39. #playbutton2 { border-color: ]] )write( model.nonCSS.playbutton2borderColor )write( [[ }
  40. #nextbutton1 { border-color: ]] )write( model.nonCSS.nextbutton1borderColor )write( [[ }
  41. #nextbutton2 { border-color: ]] )write( model.nonCSS.nextbutton2borderColor )write( [[ }
  42. #prevbutton1 { border-color: ]] )write( model.nonCSS.prevbutton1borderColor )write( [[ }
  43. #prevbutton2 { border-color: ]] )write( model.nonCSS.prevbutton2borderColor )write( [[ }
  44. #pausebutton1 { border-color: ]] )write( model.nonCSS.pausebuttonBorderColor )write( [[ }
  45. </style>
  46. <!--]] .. "[" .. [[if lt IE 7]] .. "]" .. [[>
  47. ]] ) if mode ~= 'preview' then write( [[
  48. <link href="]] )write( theRoot )write( [[/pngfix.css" media="screen" rel="stylesheet" type="text/css" />
  49. ]] ) end write( [[
  50. <!]] .. "[" .. [[endif]] .. "]" .. [[-->
  51. </head>
  52. <body>
  53. ]] )
  54. local loadingdots='<div class="loading">'
  55. local n
  56. for n = 1, model.nonCSS.loadingdots.number do
  57. loadingdots = loadingdots .. "<span>·</span>"
  58. end
  59. loadingdots = loadingdots .. "</div>"
  60. write( [[
  61. <div id="beltcontainer">
  62. ]] )
  63. if model.nonCSS.fittingType == "width" then
  64. fitClass = "fithorizontal"
  65. elseif model.nonCSS.fittingType == "height" then
  66. fitClass = "fitvertical"
  67. else
  68. -- We scale based on the orientation of the photo.
  69. --
  70. -- To do that we need to find a resolution that was actually exported...
  71. image = getImage(index)
  72. if model.nonCSS.images_large.export then
  73. width = image.renditions.large.width
  74. height = image.renditions.large.height
  75. elseif model.nonCSS.images_medium.export then
  76. width = image.renditions.medium.width
  77. height = image.renditions.medium.height
  78. else
  79. width = image.renditions.small.width
  80. height = image.renditions.small.height
  81. end
  82. if width > height then
  83. fitClass = "fithorizontal"
  84. else
  85. fitClass = "fitvertical"
  86. end
  87. end
  88. write( [[
  89. <div class="beltobjectwrapper ]] )write( fitClass )write( [["><div class="beltobjectcenterer"><div class="beltobject"><img src="]] )write( folder .. "/" .. image.exportFilename )write( [[.jpg" alt="]] )write( image.metadata.seoAltText )write( [["></div></div></div>
  90. </div>
  91. ]] ) if model.nonCSS.displayIdentityPlate then
  92. if #model.nonCSS.identityPlateLink > 0 then write( [[
  93. <div id="logo"><a href="]] )write( model.nonCSS.identityPlateLink )write( [["><img src="]] )write( theRoot )write( [[/resources/logo.png" alt=""></a></div>
  94. ]] ) else write( [[
  95. <div id="logo"><img src="]] )write( theRoot )write( [[/resources/logo.png"></div>
  96. ]] ) end write( [[
  97. ]] ) end write( [[
  98. <div id="menuwrapper"><div id="menu">
  99. <table cellspacing="0" cellpadding="0" border="0">
  100. <tr>
  101. <td class="menubarleftpadding"></td>
  102. <td>
  103. <ul id="menuitems" class="]] )write( model.nonCSS.menuitems.layout )write( [[">
  104. ]] ) if model.nonCSS.menuitems.one.included then write( [[<li><a href="]] )write( model.nonCSS.menuitems.one.url )write( [[">]] )write( model.nonCSS.menuitems.one.title )write( [[</a></li>]] ) end write( [[
  105. ]] ) if model.nonCSS.menuitems.two.included then write( [[<li><a href="]] )write( model.nonCSS.menuitems.two.url )write( [[">]] )write( model.nonCSS.menuitems.two.title )write( [[</a></li>]] ) end write( [[
  106. ]] ) if model.nonCSS.menuitems.three.included then write( [[<li><a href="]] )write( model.nonCSS.menuitems.three.url )write( [[">]] )write( model.nonCSS.menuitems.three.title )write( [[</a></li>]] ) end write( [[
  107. ]] ) if model.nonCSS.menuitems.four.included then write( [[<li><a href="]] )write( model.nonCSS.menuitems.four.url )write( [[">]] )write( model.nonCSS.menuitems.four.title )write( [[</a></li>]] ) end write( [[
  108. ]] ) if model.nonCSS.menuitems.five.included then write( [[<li><a href="]] )write( model.nonCSS.menuitems.five.url )write( [[">]] )write( model.nonCSS.menuitems.five.title )write( [[</a></li>]] ) end write( [[
  109. ]] ) if model.nonCSS.menuitems.six.included then write( [[<li><a href="]] )write( model.nonCSS.menuitems.six.url )write( [[">]] )write( model.nonCSS.menuitems.six.title )write( [[</a></li>]] ) end write( [[
  110. </ul>
  111. </td>
  112. ]] ) if model.nonCSS.controlsEnabled then write( [[
  113. ]] ) do local LrPaginationEntries = {}
  114. local oldWrite = write
  115. write = function( w )
  116. table.insert( LrPaginationEntries, function() oldWrite( w ) end )
  117. end
  118. write( [[
  119. ]] )LrPaginationEntries.PreviousEnabled = function( page, link ) write( [[
  120. <td class="control">
  121. <div class="controlContainer" id="prevbutton">
  122. <table cellspacing="0" cellpadding="0" border="0" align="center"><tr><td class="controlbit"><a href="]] )write( link )write( [[" id="prevbutton1" class="slant"><!-- --></a></td><td class="controlbit"><a href="]] )write( link )write( [[" id="prevbutton2" class="slant"><!-- --></a></td></tr></table>
  123. </div>
  124. </td>
  125. <td class="control"></td>
  126. ]] )end table.insert( LrPaginationEntries, 'Previous' ) write( [[
  127. ]] )LrPaginationEntries.NextEnabled = function( page, link ) write( [[
  128. <td class="control">
  129. <div class="controlContainer" id="nextbutton">
  130. <table cellspacing="0" cellpadding="0" border="0" align="center"><tr><td class="controlbit"><a href="]] )write( link )write( [[" id="nextbutton1"class="slant"><!-- --></a></td><td class="controlbit"><a href="]] )write( link )write( [[" id="nextbutton2" class="slant"><!-- --></a></td></tr></table>
  131. </div>
  132. </td>
  133. <td class="menubarrightpadding"></td>
  134. ]] )end table.insert( LrPaginationEntries, 'Next' ) write( [[
  135. ]] )write = oldWrite LrTagFuncs.PaginationFunc( _G, LrPaginationEntries ) end write( [[
  136. ]] ) end write( [[
  137. </tr>
  138. </table>
  139. </div></div>
  140. ]] ) if model.nonCSS.dots.enabled then write( [[
  141. <div id="dotswrapper"><div id="dots">]] ) for d = 1, numImages do write( [[<a ]] ) if d == index then write('class="selected"') end write( [[ ]] ) if d == 1 then write('class="first"') end write( [[ href="]] )write( getImage(d).exportFilename )write( [[.html">]] ) if model.nonCSS.dots.type == "squares" then write("" .. d) else write ('·') end write( [[</a>]] ) end write( [[</div></div>
  142. ]] ) end write( [[
  143. <script type="text/javascript"><!--
  144. document.write('<div id="pr1"><img src="resources/blank.gif"></div>');
  145. document.write('<div id="pr2"></div>');
  146. --></script>
  147. <noscript>
  148. ]] )
  149. img = '<img src="resources/blank.gif">'
  150. i = index + 1
  151. if i > numImages then i = 1 end
  152. if model.nonCSS.clickBehaviour == "advance" then
  153. img = '<a href="' .. getImage(i).exportFilename .. '.html">' .. img .. '</a>'
  154. elseif model.nonCSS.clickBehaviour == "url" then
  155. img = '<a href="' .. model.nonCSS.clickURL .. '">' .. img .. '</a>'
  156. end
  157. write( [[
  158. <div id="pr1">]] )write( img )write( [[</div>
  159. </noscript>
  160. ]] ) --[[ Include the page footer]] write( [[
  161. </body>
  162. </html>
  163. ]] )