source: main/trunk/model-cols-dev/peijones/transform/pages/document.xsl@ 24629

Last change on this file since 24629 was 24629, checked in by papitha, 13 years ago
File size: 8.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 xmlns:gslib="http://www.greenstone.org/skinning"
7 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
8 extension-element-prefixes="java util"
9 exclude-result-prefixes="java util gsf">
10
11 <!-- use the 'main' layout -->
12 <xsl:import href="layouts/main.xsl"/>
13
14 <!-- style includes global params interface_name, library_name -->
15 <xsl:include href=".old/berrytools.xsl"/>
16
17 <xsl:variable name="bookswitch">
18 <xsl:choose>
19 <xsl:when test="/page/pageRequest/paramList/param[@name='book']/@value">
20 <xsl:value-of select="/page/pageRequest/paramList/param[@name='book']/@value"/>
21 </xsl:when>
22 <xsl:otherwise>off</xsl:otherwise>
23 </xsl:choose>
24 </xsl:variable>
25
26 <!-- the page content -->
27 <xsl:template match="/page/pageResponse/document">
28
29 <xsl:if test="$bookswitch = 'off'">
30 <div id="bookdiv" style="visibility:hidden; height:0px; display:inline;"><xsl:text> </xsl:text></div>
31
32 <script type="text/javascript" src="interfaces/{$interface_name}/js/document_scripts.js"><xsl:text> </xsl:text></script>
33
34 <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script>
35 <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script>
36 <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/>
37 <div class="Photo fn-container" id="PhotoContainer">
38 <img src="sites/localsite/collect/peijones/images/photo/0_PAColl-0671-01korokijones.jpg" />
39 </div>
40
41 <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" />
42 <script type="text/javascript">
43 <xsl:text disable-output-escaping="yes">
44 /* create the Photo Note Container */
45 var notes = new PhotoNoteContainer(document.getElementById('PhotoContainer'));
46 var posCount = 0;
47
48 function deleteFunction(note)
49 {
50 var callback =
51 {
52 success: function(response)
53 {
54 var updateCallback =
55 {
56 success: function(response){},
57 failed: function(){}
58 };
59
60 var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
61 YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
62 },
63 failed: function(){},
64 };
65
66 var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote";
67 YAHOO.util.Connect.asyncRequest("GET", url, callback);
68 return true;
69 }
70
71 function saveFunction(note)
72 {
73 var callback =
74 {
75 success: function(response)
76 {
77 var updateCallback =
78 {
79 success: function(response){},
80 failed: function(){}
81 };
82
83 var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
84 YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
85 },
86 failed: function(){},
87 };
88
89 var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}';
90 var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + ((note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : posCount);
91 YAHOO.util.Connect.asyncRequest("GET", saveURL, callback);
92
93 return 1;
94 }
95
96 function getNotes()
97 {
98 if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined)
99 {
100 console.log("No photo notes");
101 return;
102 }
103
104 for(var i = 0; i &lt; gs.variables.photoNotes.length; i++)
105 {
106 var note = gs.variables.photoNotes[i];
107 if(!note)
108 {
109 continue;
110 }
111 var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height));
112 newNote.onsave = saveFunction;
113 newNote.ondelete = deleteFunction;
114 notes.AddNote(newNote);
115 }
116 posCount = gs.variables.photoNotes.length - 1;
117 }
118
119 function AddNote()
120 {
121 var newNote = new PhotoNote('Add note text here...',posCount++,new PhotoNoteRect(10,10,50,50));
122 newNote.onsave = saveFunction;
123 newNote.ondelete = deleteFunction;
124 notes.AddNote(newNote);
125 newNote.Select();
126 }
127 window.onload = getNotes;
128 </xsl:text>
129 </script>
130
131 <!-- Adds the realistic books javascript if necessary ( *** in document-scripts.xsl *** ) -->
132 <xsl:if test="/page/pageResponse/collection[@name = $collName]/metadataList/metadata[@name = 'tidyoption'] = 'tidy'">
133 <script type="text/javascript">
134 <xsl:text disable-output-escaping="yes">
135 if(document.URL.indexOf("book=on") != -1)
136 {
137 loadBook();
138 }
139 </xsl:text>
140 </script>
141 </xsl:if>
142
143 <!-- show the little berries for this document -->
144 <xsl:call-template name="documentBerryForDocumentPage"/>
145
146 <table id="rightSidebar">
147 <tr><td>
148 <xsl:call-template name="viewOptions"/>
149 </td></tr>
150 <tr><td>
151 <!-- the sidebar -->
152 <div id="contentsArea">
153 <!-- show the berry basket if it's turned on -->
154 <gslib:berryBasket/>
155
156 <!-- the book's cover image -->
157 <xsl:choose>
158 <xsl:when test="/page/pageResponse/format[@type='display']/gsf:option[@name='coverImage']/@value='true'">
159 <div id="coverImage" class="visible"><gslib:coverImage/></div>
160 </xsl:when>
161 <xsl:otherwise>
162 <div id="coverImage" class="hidden"><gslib:coverImage/></div>
163 </xsl:otherwise>
164 </xsl:choose>
165
166 <!-- the contents (if enabled) -->
167 <xsl:choose>
168 <xsl:when test="/page/pageResponse/format[@type='display']/gsf:option[@name='TOC']/@value='true'">
169 <div id="tableOfContents" class="visible">
170 <xsl:apply-templates select="documentNode" mode="TOC"/>
171 </div>
172 </xsl:when>
173 <xsl:otherwise>
174 <div id="tableOfContents" class="hidden">
175 <xsl:apply-templates select="documentNode" mode="TOC"/>
176 </div>
177 </xsl:otherwise>
178 </xsl:choose>
179 </div>
180 </td></tr>
181 </table>
182 </xsl:if>
183
184 <!-- display the document -->
185 <xsl:choose>
186 <xsl:when test="@external != ''">
187 <xsl:call-template name="externalPage">
188 <xsl:with-param name="external" select="@external"/>
189 </xsl:call-template>
190 </xsl:when>
191 <xsl:when test="$bookswitch = 'flashxml'">
192 <xsl:apply-templates mode="flashxml"/>
193 </xsl:when>
194 <xsl:when test="$bookswitch = 'on'">
195 <!-- *** in document-scripts.xsl *** -->
196 <div id="bookdiv" style="display:inline;"><xsl:text> </xsl:text></div>
197 <script type="text/javascript">
198 <xsl:text disable-output-escaping="yes">
199 if(document.URL.indexOf("book=on") != -1)
200 {
201 loadBook();
202 }
203 </xsl:text>
204 </script>
205 </xsl:when>
206 <xsl:otherwise>
207 <div id="gs-document-text" class="documenttext">
208 <xsl:apply-templates select="documentNode" mode="document"/>
209 </div>
210 </xsl:otherwise>
211 </xsl:choose>
212
213 <div class="clear"><xsl:text> </xsl:text></div>
214 </xsl:template>
215
216</xsl:stylesheet>
217
Note: See TracBrowser for help on using the repository browser.