summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/editpage.pm
AgeCommit message (Collapse)Author
2011-01-05add cgitemplateJoey Hess
cgitemplate is a modified misctemplate that takes an optional cgi object and uses it to set the baseurl, and also optionally the forcebaseurl, if a page is provided. If no cgi object is provided, it will fall back to using $config{url}. I expect this will only be needed in exceptional cases where that doesn't much matter, such as cgierror(). showform uses cgitemplate, so there is no more need for showform_preview.
2011-01-05Fix base url when previewing. Was broken by urlto changes in last release.Joey Hess
Added a showform_preview that is like showform, but sets forcebaseurl to point to the page being previewed.
2010-12-25editpage, comment: Clean up title when editing or creating a page or comment.Joey Hess
Now that page.tmpl is used for cgi, the parentlinks are able to be displayed even when creating or editing a page. So it's redundant to include the path to the page in the title, remove it.
2010-11-29use one-parameter form of urltoJoey Hess
2010-11-23Use local paths for most references to pagesSimon McVittie
2010-11-23Use local paths for the CGI URLSimon McVittie
2010-11-23Use local paths for redirection where possibleSimon McVittie
2010-06-23rcs_commit and rcs_commit_staged api changesJoey Hess
Using named parameters for these is overdue. Passing the session in a parameter instead of passing username and IP separately will later allow storing other session info, like username or part of the email. Note that these functions are not part of the exported API, and the prototype change will catch (most) skew, so I am not changing API versions. Any third-party plugins that call them will need updated though.
2010-06-23stop using REMOTE_ADDRJoey Hess
Everywhere that REMOTE_ADDR was used, a session object is available, so instead use its remote_addr method. In IkiWiki::Receive, stop setting a dummy REMOTE_ADDR. Note that it's possible for a session cookie to be obtained using one IP address, and then used from another IP. In this case, the first IP will now be used. I think that should be ok.
2010-06-14editpage, comments: Fix broken links in sidebar (due to forcebaseurl). ↵Joey Hess
(Thanks, privat)
2010-06-12editpage: Rename "comments" field to avoid CSS conflict with the comments div.Joey Hess
2010-06-09editpage: Avoid storing accidental state changes when previewing pages.Joey Hess
This is a slow, safe, stupid approach. Could make deep copies of the data structures as backups instead of re-loading the index from disk.
2010-06-09Fix display of sidebar when previewing page edit. (Thanks, privat)Joey Hess
On second thought, only display a page's personal sidebar when previewing it, not when editing normally.
2010-06-09When editing a page, show that page's sidebar. (Thanks, privat)Joey Hess
2010-05-05remove unused indexlink function and template variableJoey Hess
2010-04-24template() - return params in list contextJoey Hess
I forgot CGI::Formbuilder's horrible interface that needs template parameters instead of a constructed object.
2010-04-22look for templates in srcdir and underlays, firstJoey Hess
This entailed changing template_params; it no longer takes the template filename as its first parameter. Add template_depends to api and replace calls to template() with template_depends() in appropriate places, where a dependency should be added on the template. Other plugins don't use template(), so will need further work. Also, includes are disabled for security. Enabling includes only when using templates from the templatedir would be nice, but would add a lot of complexity to the implementation.
2010-04-20typoJoey Hess
2010-04-20remove explicit absolute testJoey Hess
file_pruned now tests for that
2010-04-20clarify why absolute is tested & stripped hereJoey Hess
file_prune also fails on absolute filenames now
2010-04-17unfinished file_prune revampJoey Hess
Many calls to file_prune were incorrectly calling it with 2 parameters. In cases where the filename being checked is relative to the srcdir, that is not needed. Made absolute filenames be pruned. (This won't work for the 2 parameter call style.)
2010-02-11Group related plugins into sections in the setup file, and drop unused rcs ↵Joey Hess
plugins from the setup file.
2010-02-11reorder canedit checks during page creation to have best_loc firstJoey Hess
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-04factor out a userpage functionJoey Hess
Not yet exported, as only 4 quite core plugins use it.
2009-08-13Add discussionpage configuration settingJoey Hess
By adding this setting, we get both more configurability, and a minor optimisation too, since gettext does not need to be called continually to get the Discussion value.
2009-06-04fix further places where translated discussion case was assumedJoey Hess
Another benefit is that consistently using gettext("Discussion") eliminates the need to translate one string.
2009-05-21support longname for page types in commands and renameJoey Hess
Also, sort the list of page types.
2009-05-16tidy up new page_types codeJon Dowland
2009-05-16check for longname for each syntax pluginJon Dowland
We build an array of [ plugin name, long name ] pairs, where long name is an optional argument to hook(). So, a syntax plugin could define long "friendly" name, such as "Markdown" instead of mdwn, and we would then pass this array to formbuilder to populate the drop-down on the edit page.
2009-02-12move check_canedit, check_content to IkiWiki library from editpageJoey Hess
It no longer makes sense to keep these functions in editpage, because serveral plugins now exist that use them, and users may want to disable editpage, while leaving those plugins enabled. Most notably, comments uses both functions, and it's entirely appropriate to disable editpage but still want to have comments enabled. Less likely, attachments, rename, and remove all use check_canedit -- but it would be unusual indeed to want to use these w/o editpage.
2009-01-25comments: If comment content checks fail, store the comment (in ↵Joey Hess
.ikiwiki/comments_pending) for moderator review.
2009-01-16checkcontent: New hook, can be used to implement arbitrary content filters, ↵Joey Hess
including spam filters.
2008-12-19remove cruftJoey Hess
wtf does it do? absolutely nothing
2008-12-17Coding style change: Remove explcit vim folding markers.Joey Hess
2008-12-17checksessionexpiry: reworkJoey Hess
This function as factored out was a bit confusing, I think this makes more sense.
2008-12-11editpage: factor out checksessionexpiry into IkiWiki::CGISimon McVittie
2008-10-23more work on untrusted committersJoey Hess
Wired up check_canedit and check_canremove, still need to deal with check_canattach, and test.
2008-10-02don't special case previewJoey Hess
Whenever the edit form is submitted, but not saved, the page location select should reduce to the currently selected value. This was only done when previewing before, but is also needed in order to support the case of adding an attachment to a page that is just being created. Before this change, the attachment plugin would get a weird value in $form->field("page"), that did not reflect the actual page location.
2008-09-29use newpagefileJoey Hess
2008-09-29support indexpages when creating new pagesJoey Hess
Initial draft, may need to factor new page filename code out into helper function if other plugins need to do the same..
2008-09-29fix handing of case of file first created by preview but then savedJoey Hess
To handle this, avoid populating %renderedfiles in preview, and in expiry, check if the file is in %renderedfiles, if it is do not delete it since it was saved.
2008-09-27editpage: Be more aggressive (and less buggy) about cleaning up temporary ↵Joey Hess
files rendered during page preview.
2008-09-27Merge commit 'smcv/beautify'Joey Hess
Conflicts: IkiWiki/Plugin/recentchanges.pm Note that smcv's approach of using urlto also gets the url right when redirecting to a non-html file, which is a better approach than my recent fix to recentchanges
2008-09-21editpage: beautify redirection URLs, avoiding exposing the implementation ↵Simon McVittie
detail that index.html exists
2008-09-20add missing page name sanity checkJoey Hess
2008-09-05editpage: New core plugin factoring out page editing to allow disabling it ↵Joey Hess
if desired.