2013-08-16 00:30:58 +02:00
|
|
|
# Copyright (C) 2005-2013 Alex Schroeder <alex@gnu.org>
|
2005-07-13 19:16:08 +00:00
|
|
|
#
|
2013-08-16 00:30:58 +02:00
|
|
|
# This program is free software: you can redistribute it and/or modify it under
|
|
|
|
|
# the terms of the GNU General Public License as published by the Free Software
|
|
|
|
|
# Foundation, either version 3 of the License, or (at your option) any later
|
|
|
|
|
# version.
|
2005-07-13 19:16:08 +00:00
|
|
|
#
|
2013-08-16 00:30:58 +02:00
|
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
|
|
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
2005-07-13 19:16:08 +00:00
|
|
|
#
|
2013-08-16 00:30:58 +02:00
|
|
|
# You should have received a copy of the GNU General Public License along with
|
|
|
|
|
# this program. If not, see <http://www.gnu.org/licenses/>.
|
2005-07-13 19:16:08 +00:00
|
|
|
|
2014-08-21 22:23:23 +02:00
|
|
|
AddModuleDescription('dynamic-comments.pl', 'Dynamic Comments Extension');
|
2005-07-13 19:16:08 +00:00
|
|
|
|
2005-07-17 01:35:43 +00:00
|
|
|
push(@MyInitVariables, \&DynamicCommentsAddScript);
|
2005-07-13 19:34:17 +00:00
|
|
|
|
|
|
|
|
sub DynamicCommentsAddScript {
|
|
|
|
|
$HtmlHeaders .= qq{
|
2005-07-13 19:16:08 +00:00
|
|
|
<script type="text/Javascript">
|
2005-07-13 19:25:02 +00:00
|
|
|
function togglecomments (id) {
|
|
|
|
|
var elem = document.getElementById(id);
|
|
|
|
|
if (elem.className=="commentshown") {
|
|
|
|
|
elem.className="commenthidden";
|
2005-07-13 19:16:08 +00:00
|
|
|
}
|
|
|
|
|
else {
|
2005-07-13 19:25:02 +00:00
|
|
|
elem.className="commentshown";
|
2005-07-13 19:16:08 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
} unless $HtmlHeaders =~ /commenthidden/; # mod_perl?
|
2005-07-13 19:34:17 +00:00
|
|
|
}
|
2005-07-13 19:16:08 +00:00
|
|
|
|
2012-05-24 12:25:01 +02:00
|
|
|
my $num = 0;
|
2011-07-06 19:02:14 +00:00
|
|
|
|
2005-07-13 19:16:08 +00:00
|
|
|
*DynamicCommentsOldGetPageLink = *GetPageLink;
|
|
|
|
|
*GetPageLink = *DynamicCommentsNewGetPageLink;
|
|
|
|
|
|
|
|
|
|
sub DynamicCommentsNewGetPageLink {
|
|
|
|
|
my ($id, @rest) = @_;
|
2005-07-13 19:54:08 +00:00
|
|
|
if ($CollectingJournal and $id =~ /^$CommentsPrefix/) {
|
2005-07-13 19:16:08 +00:00
|
|
|
my $title = $id;
|
|
|
|
|
$title =~ s/_/ /g;
|
2005-07-13 19:54:08 +00:00
|
|
|
my $page = PageHtml($id);
|
|
|
|
|
if ($page) {
|
2012-05-24 12:25:01 +02:00
|
|
|
my $anchor = "id" . $num++;
|
|
|
|
|
return qq{<a href="javascript:togglecomments('$anchor')">$title</a>}
|
2005-07-14 10:37:51 +00:00
|
|
|
. '</p>' # close p before opening div
|
2013-08-16 00:30:58 +02:00
|
|
|
. $q->div({-class=>'commenthidden', -id=>$anchor},
|
2005-07-13 19:54:08 +00:00
|
|
|
$page,
|
2005-07-14 10:37:51 +00:00
|
|
|
$q->p(DynamicCommentsOldGetPageLink($id, T('Add Comment'))))
|
|
|
|
|
. '<p>'; # open an empty p that will be closed in PrintAllPages
|
2005-07-13 19:54:08 +00:00
|
|
|
} else {
|
|
|
|
|
return DynamicCommentsOldGetPageLink($id, T('Add Comment'));
|
|
|
|
|
}
|
2005-07-13 19:16:08 +00:00
|
|
|
} else {
|
|
|
|
|
return DynamicCommentsOldGetPageLink($id, @rest);
|
|
|
|
|
}
|
|
|
|
|
}
|