Merge pull request #5248 from solgenomics/topic/batch_update_trials
[sgn.git] / mason / page / comments.mas
blob013668eba55cc2c8cad7e9b15b6e5e7bc2d88690
2 <%doc>
4 =head1 NAME
5 /page/comments.mas - a mason component to provide page comments
7 =head1 DESCRIPTION
9 Adds the user page comment feature to a web page. Users can peruse the comments, logged-in users can provide comments.
11 Only show for entities that have completely numeric identifiers.
13 Note: this code depends on the sgn.js script, which should be included in every SGN page.
15 =head2 Arguments
17 =over 10
19 =item object_type
21 The type of object being commented on.
23 =item object_id
25 The identifier of the object being commented on.
27 =item referer
29 The page uri which displays these page comments.
31 =back
33 =head1 AUTHOR
35 Lukas Mueller <lam87@cornell.edu> - based on previous SGN Perl code.
37 =cut
39 </%doc>
41 <%args>
42 $object_id
43 $object_type
44 $referer
45 </%args>
47 <& /util/import_javascript.mas, classes=>[ 'CXGN.Page.Comments', 'MochiKit.Async' ] &>
49 <%perl>
51 our %urlencode;
52 use Tie::UrlEncoder;
53 use CXGN::Page::FormattingHelpers qw / info_section_html / ;
55 if ($object_id!~/^\d+$/) { return; }
58     # object_type would be something like "marker" or "bac"
59     # object_id would be the marker_id or the clone_id
61     my $placeholder = info_section_html(
62         title=>"User comments",
63         contents=>qq{<!-- check for comments only shows up when AJAX is not enabled
64      (old browsers, buggy ajax) -->
65 Please wait, checking for comments.  (If comments do not show up, access them <a href="/forum/return_comments.pl?type=$object_type&amp;id=$object_id">here</a>)}
66     );
68 my $encoded_referer = $urlencode{ $referer || '' };
72 </%perl>
75 <span class="noshow" id="referer"><% $encoded_referer %></span>
76 <span class="noshow" id="commentstype"><% $object_type %></span>
77 <span class="noshow" id="commentsid"><% $object_id %></span>
78 <div id="commentsarea">
79   <% $placeholder %>
80 </div>