Joey Hess [Wed, 17 Dec 2008 23:56:32 +0000 (18:56 -0500)]
don't rely on $@
A malformed pagespec will cause $@ to be set when translated, but if
it is used a second time, the memoization will defeat that check. Better to
check for the result not being defined.
Joey Hess [Wed, 17 Dec 2008 23:50:04 +0000 (18:50 -0500)]
change around comments pagespecs
I think it is clearer to have one pagespec that controls all pages with
comments, and a separate pagespec that can be used to close new comments on
a subset of those pages.
rename bugs/bugfix_for:___38____35__34__59__mtn:_operation_canceled:_Broken_pipe__38____35__34__59_____40__patch__41__.mdwn to bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34_____40__patch__41__.mdwn
rename bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34__.mdwn to bugs/bugfix_for:___38____35__34__59__mtn:_operation_canceled:_Broken_pipe__38____35__34__59_____40__patch__41__.mdwn
Joey Hess [Fri, 12 Dec 2008 19:52:05 +0000 (14:52 -0500)]
first pass through comments documentation
Moved documentation out of contrib.
Mostly tweaked some wording. Moved documentation of various bits to other
pages (pagespec, etc), and linked to those.
Documented the new templates in wikitemplates.
Small quantities of documentation were removed. Particularly the list of
template variables, which I think is fairly obvious when editing the
template.
Simon McVittie [Tue, 18 Nov 2008 11:25:13 +0000 (11:25 +0000)]
htmlbalance: don't compact whitespace, and set misc other options
Not compacting whitespace is the most important one: now that we run
sanitize hooks on individual posted comments in the comments plugin,
whitespace that is significant to Markdown (but not HTML) is lost.
(cherry picked from commit cb5aaa3cee8b35d6fc6e88a7449a9477a6587c7a)
Simon McVittie [Fri, 12 Dec 2008 11:02:41 +0000 (11:02 +0000)]
comments: Store dates in GMT and in ISO-8601
The [[!_comment]] directive is a serialization format, not something for
presentation to users, so we should use the least ambiguous possible
representation.
Simon McVittie [Wed, 10 Dec 2008 23:53:04 +0000 (23:53 +0000)]
comments: Save comments as a file with one big [[!comment]] directive.
This delays all comment formatting until the last possible time, allows
us to set metadata without worrying that commenters may be able to evade
it, and means that changes to how a comment is saved can be handled
gracefully. It also gives us somewhere to put the commenter's username
or IP address for later reference.
Simon McVittie [Tue, 18 Nov 2008 11:25:13 +0000 (11:25 +0000)]
htmlbalance: don't compact whitespace, and set misc other options
Not compacting whitespace is the most important one: now that we run
sanitize hooks on individual posted comments in the comments plugin,
whitespace that is significant to Markdown (but not HTML) is lost.
Simon McVittie [Tue, 18 Nov 2008 10:29:16 +0000 (10:29 +0000)]
comments: sanitize the body of each comment before posting it
This should ensure that users can't "break out" from the enclosing
<div>, making it impossible to forge comments (assuming htmlscrubber
is enabled, and so is either htmlbalance or htmltidy).
Simon McVittie [Sun, 16 Nov 2008 18:23:23 +0000 (18:23 +0000)]
smcvpostcomment: always allow wikilinks, and do access control
wikilinks are harmless, so we might as well allow them.
Access control for this plugin is a bit odd, since we specifically
don't want to allow comments to be edited - so the check is whether the
user is allowed to edit a deliberately invalid page name,
page/commented/on[smcvpostcomment]. You can put smcvpostcomment(*)
or smcvpostcomment(some/subdir/*) in $config{anonok_pagespec}
or the opposite in $config{locked_pages} to allow "editing" (really
just posting) comments.