ikiwiki/IkiWiki/Plugin
Joey Hess 7af18f2a1e reorder canedit checks during page creation to have best_loc first
When creating a page, multiple locations are tested to see if they can be
edited. If all fail, one of the failure subs is called, to log the user in
to allow them to proceed with the edit. So far so good.

But, what if some pages fail for one reason, and some for another? This
occurs when httpauth_pagespec is used in conjunction with signinedit (and
openid or something). When the user is not signed in at all
The former will fail to edit a page because the user was not httpauthed.
The latter will fail to edit a different page, because the user was not
signed in. One of their failure methods gets to run first.

The page creation code always ran the failure method corresponding to the
topmost page location. So, when editing a foo/Discussion page, and with
httpauth_pagespec => "*!/Discussion", it ran the httpauth failure method,
which was exactly the wrong thing to do.

I fixed this by making it instead run the failure method for the *best*
page location. In the above example, that's foo/Discussion, so signinedit
runs, as desired, and we get the signin page.

This seems like it will be the right choice, or at least an acceptable
choice. If a user wants to use httpauth they can always choose it on the
signin page.
2010-02-11 20:13:30 -05:00
..
404.pm
aggregate.pm
amazon_s3.pm
anonok.pm
attachment.pm
autoindex.pm
blogspam.pm
brokenlinks.pm
bzr.pm
calendar.pm
camelcase.pm
color.pm
comments.pm factor out a userpage function 2010-02-04 18:24:15 -05:00
conditional.pm
creole.pm
cutpaste.pm
cvs.pm
darcs.pm
date.pm
ddate.pm
editdiff.pm
editpage.pm reorder canedit checks during page creation to have best_loc first 2010-02-11 20:13:30 -05:00
edittemplate.pm
embed.pm
external.pm
favicon.pm finalise version 3.00 of the plugin api 2008-12-23 16:34:19 -05:00
filecheck.pm
format.pm
fortune.pm
getsource.pm
git.pm
goodstuff.pm
google.pm
goto.pm
graphviz.pm
haiku.pm
highlight.pm
hnb.pm
html.pm
htmlbalance.pm htmlbalance: Demand-load HTML::TreeBuilder to avoid failing test suite if it is not present. 2008-12-29 15:08:18 -05:00
htmlscrubber.pm
htmltidy.pm
httpauth.pm
img.pm
inline.pm
link.pm
linkmap.pm
listdirectives.pm
localstyle.pm
lockedit.pm
map.pm
mdwn.pm
mercurial.pm
meta.pm
mirrorlist.pm
moderatedcomments.pm
monotone.pm
more.pm
norcs.pm
opendiscussion.pm
openid.pm
orphans.pm
otl.pm
pagecount.pm
pagestats.pm
pagetemplate.pm
parentlinks.pm
passwordauth.pm
pingee.pm
pinger.pm
po.pm
poll.pm
polygen.pm
postsparkline.pm
prettydate.pm
progress.pm
rawhtml.pm
recentchanges.pm
recentchangesdiff.pm
relativedate.pm
remove.pm
rename.pm
repolist.pm repolist: New plugin to support the rel=vcs-* microformat. 2009-01-07 16:07:46 -05:00
rsync.pm
search.pm
shortcut.pm
sidebar.pm
signinedit.pm
skeleton.pm.example
smiley.pm
sparkline.pm
svn.pm svn: Fix rcs_rename to properly scope call to dirname. 2009-07-08 13:13:23 -04:00
table.pm
tag.pm
template.pm
testpagespec.pm
teximg.pm
textile.pm
tla.pm
toc.pm
toggle.pm
txt.pm
typography.pm
underlay.pm
version.pm
websetup.pm
wikitext.pm
wmd.pm