source: main/trunk/greenstone3/web/interfaces/default/transform/layouts/usercomments.xsl@ 31556

Last change on this file since 31556 was 31556, checked in by ak19, 7 years ago

Adding the ability to turn on user comments from GLI. Off by default. Need to add usage instructions on wiki.

File size: 4.7 KB
RevLine 
[31537]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<xsl:template name="userCommentsSection">
[31556]12 <xsl:if test="/page/pageResponse/format[@type='display']/gsf:option[@name='UserComments']/@value='true'">
[31537]13 <!-- 1. Make some variables available to javascript that the usercomments related js functions need -->
14 <gsf:variable name="d"><xsl:value-of select="/page/pageRequest/paramList/param[@name='d']/@value"/></gsf:variable>
15 <gsf:variable name="c"><xsl:value-of select="/page/pageRequest/paramList/param[@name='c']/@value"/></gsf:variable>
16 <gsf:variable name="site"><xsl:value-of select="/page/pageResponse/interfaceOptions/option[@name='site_name']/@value"/></gsf:variable>
17
18 <gsf:variable name="textusercommentssection"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'usercomments.heading')"/></gsf:variable>
19 <gsf:variable name="textisempty"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'usercomments.isempty')"/></gsf:variable>
20 <gsf:variable name="textcommentsubmitted"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'usercomments.submitted')"/></gsf:variable>
21
22 <!-- 2. Load the javascript, which will do stuff on window load/ready for which it needs the above gs.variables -->
[31542]23 <script type="text/javascript" src="interfaces/{$interface_name}/js/gsajaxapi.js"><xsl:text> </xsl:text></script>
[31537]24 <script type="text/javascript" src="interfaces/{$interface_name}/js/user_comments.js"><xsl:text> </xsl:text></script>
25
26
27 <!-- 3. Set up the User comments section in the HTML -->
28 <div id="commentssection" class="centrediv">
29 <div id="usercomments">
[31540]30 <!-- A heading for the comment section will be added here dynamically either if
31 previously submitted comments exist, or if the form#usercommentform to add
32 a new comment is displayed. Otherwise only the "Add Comments" link is shown. -->
33 <xsl:comment>Existing comments will be loaded dynamically loaded into this div#usercomments</xsl:comment>
[31537]34 </div>
35
36 <!-- If the user's logged in, show the comment form, else show the link to the login page -->
37 <xsl:choose>
38 <xsl:when test="/page/pageRequest/userInformation">
39 <!-- Logged in, allow user to add a comment by displaying a form -->
40 <form name="AddUserCommentForm" id="usercommentform">
41 <input type="hidden" name="username"><xsl:attribute name="value"><xsl:value-of select="/page/pageRequest/userInformation/@username"/></xsl:attribute></input>
42 <div>
43 <p><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'usercomments.add')"/></p>
44 <!-- The textarea will be added in by javascript into div#commentarea to avoid the problem of XML turning empty tags into self-closing ones and a self-closing text-area becomes invalid HTML -->
45 <!--<textarea required="required" name="comment" rows="10" cols="64" placeholder="Add your comment here..."></textarea>-->
46 <div id="commentarea">Comment area to appear here</div>
47 <input type="hidden" name="d"><xsl:attribute name="value"><xsl:value-of select="/page/pageRequest/paramList/param[@name='d']/@value"/></xsl:attribute></input>
48 </div>
49
[31543]50 <input type="submit" id="usercommentSubmitButton" onclick="addUserComment(document.AddUserCommentForm.username.value, document.AddUserCommentForm.comment.value, document.AddUserCommentForm.d.value, document); return false;"><xsl:attribute name="value"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'usercomments.submit')"/></xsl:attribute></input>
[31537]51 <label id="usercommentfeedback"><xsl:comment>Text to prevent empty tags from becoming self-closing tags</xsl:comment></label>
52
53 <div id="usercommentlogoutlink">
54 <a><xsl:attribute name="href"><xsl:call-template name="generateLogoutURL"/></xsl:attribute>
55 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'menu.logout')"/></a>
56 </div>
57 </form>
58 </xsl:when>
59
60 <!-- User not logged in, "add comment" link allows user to login first -->
61 <xsl:otherwise>
62 <div id="usercommentlink">
63 <a><xsl:attribute name="href"><xsl:call-template name="generateLoginURL"/></xsl:attribute>
64 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'usercomments.add')"/></a>
65 </div>
66 </xsl:otherwise>
67 </xsl:choose>
68
69 </div>
[31556]70 </xsl:if>
[31537]71</xsl:template>
72
73</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.