source: main/trunk/model-sites-dev/pei-jones/transform/pages/document.xsl@ 28173

Last change on this file since 28173 was 28173, checked in by sjm84, 11 years ago

Don't show titles and subjects that don't exist unless you're logged in

File size: 11.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:java="http://xml.apache.org/xslt/java" xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" exclude-result-prefixes="java util gsf" extension-element-prefixes="java util" version="1.0">
2
3 <xsl:template name="customImageFileDownload">
4 <div class="ui-state-default ui-corner-all" style="margin:5px;">
5 <!-- Add image file download button -->
6 <xsl:variable name="assocfilepath">
7 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
8 </xsl:variable>
9 <xsl:variable name="image_file">
10 <xsl:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'Source']"/>
11 </xsl:variable>
12
13 <a id="btnDownloadImage" style="padding: 3px; text-decoration: none;">
14 <xsl:attribute name="href">
15 <xsl:text>cgi-bin/file-download.pl?filename=</xsl:text>
16 <xsl:value-of select="$image_file"/>
17 <xsl:text>&amp;site=localsite&amp;c=pjpaged&amp;assoc=</xsl:text>
18 <xsl:value-of select="$assocfilepath"/>
19 </xsl:attribute>
20 Download Image File
21 </a>
22 </div>
23 </xsl:template>
24
25 <xsl:template name="editBar">
26 <table style="width:100%"><tr>
27 <td id="editBarLeft" style="width:70%"><xsl:text> </xsl:text></td>
28 <td id="editBarRight">
29 <div style="text-align:center;">
30 <div class="ui-state-default ui-corner-all" style="margin:5px;">
31 <a href="{$library_name}?a=g&amp;sa=documentbasket&amp;c=&amp;s=DisplayDocumentList&amp;rt=r&amp;p.c={/page/pageResponse/collection/@name}&amp;docToEdit={/page/pageResponse/document/documentNode/@nodeID}" style="padding: 3px; text-decoration:none;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.edit_structure')"/></a>
32 </div>
33 <div class="ui-state-default ui-corner-all" style="margin:5px;">
34 <a id="editContentButton" style="padding: 3px; text-decoration:none;">
35 <xsl:attribute name="href">
36 <xsl:value-of select="$library_name"/>
37 <xsl:text>/collection/</xsl:text>
38 <xsl:value-of select="$collName"/>
39 <xsl:text>/document/</xsl:text>
40 <xsl:choose>
41 <xsl:when test="count(//documentNode) &gt; 0">
42 <xsl:value-of select="/page/pageResponse/document/documentNode/@nodeID"/>
43 </xsl:when>
44 <xsl:otherwise>
45 <xsl:value-of select="/page/pageResponse/document/@nodeID"/>
46 </xsl:otherwise>
47 </xsl:choose>
48 <xsl:if test="not(/page/pageRequest/paramList/param[@name = 'docEdit']/@value = '1')">
49 <xsl:text>?ed=1&amp;docEdit=1&amp;dt=hierarchy</xsl:text>
50 </xsl:if>
51 </xsl:attribute>
52 <xsl:choose>
53 <xsl:when test="/page/pageRequest/paramList/param[@name = 'docEdit']/@value = '1'">
54 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.hide_editor')"/>
55 </xsl:when>
56 <xsl:otherwise>
57 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.edit_content')"/>
58 </xsl:otherwise>
59 </xsl:choose>
60 </a>
61 </div>
62 <xsl:call-template name="customImageFileDownload"/>
63 </div>
64 </td>
65 </tr></table>
66 <gslib:langfrag name="dse"/>
67 </xsl:template>
68
69 <xsl:template name="wrappedSectionImage">
70 <gsf:variable name="screenImageWidth"><gsf:metadata name="ScreenWidth"/></gsf:variable>
71 <gsf:variable name="screenImageHeight"><gsf:metadata name="ScreenHeight"/></gsf:variable>
72 <gsf:variable name="imageWidth"><gsf:metadata name="ImageWidth"/></gsf:variable>
73 <gsf:variable name="imageHeight"><gsf:metadata name="ImageHeight"/></gsf:variable>
74
75 <xsl:choose>
76 <xsl:when test="metadataList/metadata[@name = 'Screen'] and metadataList/metadata[@name = 'SourceFile'] and ($imageWidth div $screenImageWidth &gt; 1.2) and (not(/page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']) or /page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']/@value='false')">
77 <div id="image{@nodeID}">
78 <div class="zoomImage" id="wrap{util:replace(@nodeID, '.', '_')}" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
79 <div id="small{util:replace(@nodeID, '.', '_')}" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
80 <!--<gsf:image type="screen"/>-->
81 <xsl:call-template name="customScreenImage"/>
82 </div>
83 <div id="mover{util:replace(@nodeID, '.', '_')}" style="border: 1px solid green; position: absolute; top: 0; left: 0; width: 598px; height: 598px; overflow: hidden; z-index: 100; background: white; display: none;">
84 <div id="overlay{util:replace(@nodeID, '.', '_')}" style="width: 600px; height: 600px; position: absolute; top: 0; left: 0; z-index: 200;">
85 <xsl:text> </xsl:text>
86 </div>
87 <div id="large{util:replace(@nodeID, '.', '_')}" style="position: relative; width: {$imageWidth}px; height: {$imageHeight}px;">
88 <gsf:image type="source"/>
89 </div>
90 </div>
91 </div>
92 <script type="text/javascript">
93 <xsl:text disable-output-escaping="yes">
94 {
95 var nodeID = "</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">";
96 nodeID = nodeID.replace(/\./g, "_");
97
98 var bigHeight = </xsl:text><xsl:value-of select="$imageHeight"/><xsl:text disable-output-escaping="yes">;
99 var smallHeight = </xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text disable-output-escaping="yes">;
100
101 var multiplier = bigHeight / smallHeight;
102
103 $("#wrap" + nodeID).anythingZoomer({
104 smallArea: "#small" + nodeID,
105 largeArea: "#large" + nodeID,
106 zoomPort: "#overlay" + nodeID,
107 mover: "#mover" + nodeID,
108 expansionSize:50,
109 speedMultiplier:multiplier
110 });
111
112 $("#zoomOptions input").attr("checked", false);
113 $("#zoomOptions").css("display", null);
114 }
115 </xsl:text>
116 </script>
117 </div>
118 </xsl:when>
119 <xsl:otherwise>
120 <!-- this is where -->
121 <div id="image{@nodeID}">
122 <xsl:attribute name="style">
123 <xsl:choose>
124 <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'text'">
125 <xsl:text>display:none;</xsl:text>
126 </xsl:when>
127 <xsl:otherwise>
128 <xsl:text>display:block;</xsl:text>
129 </xsl:otherwise>
130 </xsl:choose>
131 <xsl:text>float:left;</xsl:text>
132 </xsl:attribute>
133 <xsl:call-template name="sectionImage"/>
134 <xsl:text> </xsl:text>
135 </div>
136 <div style="float:right; width:50%; margin-right:50px;">
137 <xsl:variable name="editable">
138 <xsl:choose>
139 <xsl:when test="/page/pageRequest/userInformation">
140 <xsl:text>editable</xsl:text>
141 </xsl:when>
142 <xsl:otherwise>
143 <xsl:text> </xsl:text>
144 </xsl:otherwise>
145 </xsl:choose>
146 </xsl:variable>
147 <script type="text/javascript" src="interfaces/{$interface_name}/js/direct-edit.js"><xsl:text> </xsl:text></script>
148 <xsl:call-template name="init-direct-edit"/>
149 <xsl:if test="metadataList/metadata[@name='dc.Title'] or metadataList/metadata[@name='dc.Subject'] or /page/pageRequest/userInformation">
150 <table id="meta{@nodeID}" style="width:100%;">
151 <xsl:if test="metadataList/metadata[@name='dc.Title'] or /page/pageRequest/userInformation">
152 <tr>
153 <xsl:choose>
154 <xsl:when test="/page/pageRequest/userInformation">
155 <td style="width:25%;" class="metaTableCellName">dc.Title</td>
156 </xsl:when>
157 <xsl:otherwise>
158 <td style="width:25%;" class="metaTableCellName">Title</td>
159 </xsl:otherwise>
160 </xsl:choose>
161 <td class="metaTableCell {$editable}">
162 <xsl:choose>
163 <xsl:when test="metadataList/metadata[@name='dc.Title']">
164 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='dc.Title']"/>
165 </xsl:when>
166 <xsl:otherwise>
167 <xsl:text>[No Title]</xsl:text>
168 </xsl:otherwise>
169 </xsl:choose>
170 </td>
171 </tr>
172 </xsl:if>
173 <xsl:if test="metadataList/metadata[@name='dc.Subject'] or /page/pageRequest/userInformation">
174 <tr>
175 <xsl:choose>
176 <xsl:when test="/page/pageRequest/userInformation">
177 <td style="width:25%;" class="metaTableCellName">dc.Subject</td>
178 </xsl:when>
179 <xsl:otherwise>
180 <td style="width:25%;" class="metaTableCellName">Subject</td>
181 </xsl:otherwise>
182 </xsl:choose>
183 <td class="metaTableCell {$editable}">
184 <xsl:choose>
185 <xsl:when test="metadataList/metadata[@name='dc.Subject']">
186 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='dc.Subject']"/>
187 </xsl:when>
188 <xsl:otherwise>
189 <xsl:text>[No Subject]</xsl:text>
190 </xsl:otherwise>
191 </xsl:choose>
192 </td>
193 </tr>
194 </xsl:if>
195 </table>
196 </xsl:if>
197 <xsl:if test="/page/pageRequest/userInformation">
198 <button id="quickSaveButton">Save Changes</button>
199 <script type="text/javascript">
200 <xsl:text disable-output-escaping="yes">
201 $(window).load(function()
202 {
203 $("#quickSaveButton").click(save);
204 });
205 </xsl:text>
206 </script>
207 </xsl:if>
208 </div>
209 <div style="clear:both;"><xsl:text> </xsl:text></div>
210 </xsl:otherwise>
211 </xsl:choose>
212 </xsl:template>
213
214 <!-- custom screen image template so we can add "toAnnotate" class to each paged image-->
215 <xsl:template name="customScreenImage" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
216
217 <gsf:variable name="screenImageWidth" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ScreenWidth"/></gsf:variable>
218 <gsf:variable name="screenImageHeight" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ScreenHeight"/></gsf:variable>
219 <gsf:variable name="imageWidth" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ImageWidth"/></gsf:variable>
220 <gsf:variable name="imageHeight" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ImageHeight"/></gsf:variable>
221
222 <xsl:variable name="ScreenName">Screen</xsl:variable>
223
224 <gsf:link type="source">
225 <img style="border: 1px solid #000;">
226 <xsl:attribute name="src">
227 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>
228 <xsl:text>/index/assoc/</xsl:text>
229 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
230 <xsl:text>/</xsl:text>
231 <xsl:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = $ScreenName]"/>
232 </xsl:attribute>
233 </img>
234 </gsf:link>
235 </xsl:template>
236
237</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.