Commit Graph

144 Commits (264a82a435b9ce5560f4bbea7b53270c53ef5720)

Author SHA1 Message Date
joey 278b16c79a * In the cgi edit path, reload the index file before rendering. A bug
showed up where a web edit that added a page caused a near-concurrent
  web edit to fail in will_render. While it would be hard to reproduce this,
  my analysis is that the failing cgi started first, loaded the index file
  (prior to locking) then the other cgi created the new page and rendered
  it, and then the failing cgi choked on the new file when _it_ tried to
  render it. Ensuring that the index file is loaded after taking the lock
  will avoid this bug.
2007-10-10 18:40:54 +00:00
joey f9f38ae31c * Save index after previewing page edit, since even previewing can create
files in some situations, and this is appropriate in some cases, such as
  the teximg plugin's error log file.
  Such files will be automatically cleaned up at an appopriate later time.
2007-09-22 18:31:52 +00:00
joey 9c5f4761d8 * Support for looking in multiple directories for underlay files.
* Plugins can add new directories to the search path with the add_underlay
  function.
* Split out smiley underlay files into a separate underlay, so if the plugin
  isn't used, the wiki isn't bloated with all those files.
2007-08-28 01:59:01 +00:00
joey 6c89a635bb * Add an editcontent hook. 2007-08-26 21:33:25 +00:00
joey 2c5fbe844b * Call the formbuilder hook for the edit page.
* Call decode_form_utf8 before running formbuilder_setup hooks.
* Add editdiff plugin contributed by Jeremie Koenig.
* Fix it to not leak path info.
2007-08-22 21:06:13 +00:00
joey ce7596dad9 * Applied Jeremie Koenig's pluggable editpage buttons patch:
- add a title to the editpage form;
  - pass a reference to the list of buttons to the formbuilder_setup
    hooks, so we can add ours;
  - relax asumption about the possible submit values (use "Save Page"
    explicitly);
  - de-hardcode the submit buttons from the editpage template
    (This was needed for compatability with a bug in CGI::FormBuilder
    3.0401, but ikiwiki already needs a newer version.)
* Pass buttons to all other formbuilder_setup hooks too.
2007-08-17 05:34:59 +00:00
joey c8f7b9480e proper fix for adding file, based on jkoenig's patch 2007-08-15 00:06:20 +00:00
joey d392f5776a * Fix bug when editing file from underlaydir, need to rcs_add it even though
a page creation isn't occuring.
2007-08-14 20:11:45 +00:00
joey 69065b8e79 * Fix bug in deletion/move during edit code introduced in 1.44. Need to take
the underlaydir into account.
2007-08-14 19:44:59 +00:00
joey 2e8d5c5ade Remove two header => 1 settings that were overridden by later header => 0 2007-08-14 18:02:10 +00:00
joey 46a80d9cbe * Move blog form code out of CGI.pm and into the inline plugin. 2007-08-05 22:07:32 +00:00
joey 8e2fb374e0 * Add sessioncgi hook. 2007-08-05 21:38:27 +00:00
joey 79947fda81 remove cruft 2007-08-05 21:12:35 +00:00
joey c92ab9cddd * Wrap the editpage template in the standard misctemplate, this allows the
pagetemplate hook to work for that page.
* Above change fixes the favicon plugin to work on edit pages.
2007-07-16 05:24:31 +00:00
joey cf35ee04cd * Add a destpage parameter to the filter hook.
* Fix links to smilies generated by the smiley plugin for inlined pages. The
  old links were often wrong, but often still worked by accident.
2007-05-17 19:55:11 +00:00
joey 190202dd4e * Make all templates have a footer div to ease themeing. Required template
and style sheet updates, and unless you're using customised versions,
  you'll want to rebuild wikis on upgrade to this version to avoid
  inconsistencies.
* Allow WIKINAME to to used in footers, as an example of something to put
  there.
2007-05-11 20:09:58 +00:00
joey 65be0598a9 * Use div layout for the signin and preferences forms, so that they can be
styled using the stylesheet, rather than by creating signin and prefs
  templates.
* Make the openid login form nicely styled.
2007-04-30 21:27:58 +00:00
joey 93c6d2c340 * Use fieldsets in the preferences form to group related options together.
Especially cleans up the ordering of the admin's preferences form.
2007-04-29 21:57:25 +00:00
joey 26213f8ee4 * Detect the case of two people independently creating the same page at the
same time, and let the second person resolve the conflict.
2007-03-17 23:57:03 +00:00
joey 188f1931c2 * Fix some broken logic in cgi creation of a subpage when a toplevel page
with the same name already exists, and generally simplify the edit code.
2007-03-17 23:20:27 +00:00
joey 6003422f45 simplify preview code 2007-03-17 22:33:34 +00:00
joey 43fd7cc0c5 correct dup page name detect in blog posting code 2007-03-08 22:16:03 +00:00
joey c1b698e418 * The underscore escaping support exposed a bug in edit links: Such links
were titlepage escaped in the urls, and then doubly escaped by the CGI
  when editing. To fix this, I removed the titlepage escaping in the edit
  urls.
* That means that *every edit link* on the wiki is potentially changed.
  Rebuilding wikis on upgrade to this version therefore necessary; enabled
  that in postinst.
2007-03-08 06:03:59 +00:00
joey b365d864c5 My fix to support encoded underscores in page titles broke links to pages
with underscores in their filenames, since the link code also used
titlepage. Create a new linkpage function and have the link code use that
instead.
2007-03-07 09:48:59 +00:00
joey c69d6f669a * The slash escaping when adding to a blog from the CGI was not working
since it ended up being double-escaped. Instead, just remove slashes.
* Fix some nasty issues with page name escaping during previewing
  (introduced in 1.44).
2007-03-07 09:23:13 +00:00
joey 1202b4fd7b * Add preview parameter to preprocesser calls, use this rather than the
previous ugly hack used to avoid writing rss feeds in previews.
* Fix the img plugin to avoid overwriting images in previews. Instead it
  does all the work to make sure the resizing works, and dummys up a resized
  image using width and height attributes.
* Also fixes img preview display, the links were wrong in preview before.
2007-03-06 22:37:05 +00:00
joey 072967e62a * Patch from Ethan to improve behavior if a page is deleted or moved while
someone is editing it.
* Some cleanup of field setting in the failed edit and conflict handling
  code.
2007-02-24 00:39:06 +00:00
joey 2dfe3efcb7 * Correct a bug that could lead to infinite looping after signin in some
circumstances.
2007-02-24 00:20:36 +00:00
joey c60477228c * Since the CGI had to drop the wiki lock to avoid deadlocking the
commit hook, it was possible for one CGI to race another one and "win"
  the commit of both their files. This race has been fixed by adding a new
  commitlock, which when locked by the CGI, disables the commit hook
  (except for commit mails). The CGI then takes care of the updates the
  commit hook would have done.
2007-02-21 08:55:28 +00:00
joey 92e5781212 * Elegant patch from Ethan to clean up the display of page names in the
dropdown when creating a new page.
2007-02-21 00:17:50 +00:00
joey fa52a730ff * Changed calling convention for httmllink slightly. The first three
parameters remain the same, but additional options are now passed in using
  named parameters.
* Change plugin interface version to 1.02 to reflect this change.
* Add a new anchor option to htmllink. Thanks Ben for the idea.
* Support anchors in wikilinks.
* Add a "more" plugin based on one contributed by Ben to allow implementing
  those dreaded "Read more" links in blogs.
2007-02-20 03:05:47 +00:00
joey d4c61b7281 * Many changes to make ikiwiki very resistant to write failures
including out of disk space situations. ikiwiki should never leave
  truncated files, and if the error occurs during a web-based file edit,
  the user will be given an opportunity to retry.
  Inspired by the many ways Moin Moin destroys itself when out of disk. :-)
* Fix syslogging of errors.
2007-02-15 02:22:08 +00:00
joey 29e6ff03b0 * Fix a security hole that allowed a web user to edit images and other
non-page format files in the wiki. To exploit this, the file already had
  to exist in the wiki, and the web user would need to somehow use the web
  based editor to replace it with malicious content.
  (Sorry Josh, this means you can't edit style.css directly anymore,
  although I do appreciate your fixes, actually..)
2007-02-10 20:37:36 +00:00
joey 5f162cfd34 * Add canedit hook, allowing arbitrary controls over when a page can be
edited.
* Move code forcing signing before edit to a new "signinedit" plugin, and
  code checking for locked pages into a new "lockedit" plugin. Both are 
  enabled by default.
* Remove the anonok config setting. This is now implemented by a new
  "anonok" plugin. Anyone with a wiki allowing anonymous edits should
  change their configs to enable this new plugin.
* Add an opendiscussion plugin that allows anonymous users to edit
  discussion pages, on a wiki that is otherwise wouldn't allow it.
* Lots of CGI code reorg and cleanup.
2007-02-02 02:33:03 +00:00
joey 4ff60ef1c5 * Always call rcs_update after a commit during a web edit, to work around
the problem described in bugs/svn_fails_to_update. Thanks to Ethan for the
  analysis and patch.
2007-01-28 00:26:55 +00:00
joey c4b1712212 * Change the RecentChanges page to show the path of changed pages. 2007-01-14 04:30:53 +00:00
joey 7ceb5b1f75 Improve error message when postsignin (probably from openid) fails due to
cookies not being enabled. Adds a new translatable string..
2007-01-12 20:56:54 +00:00
joey 8c8ce06a1b * Search in default location for templates as a fallback when templatedir is
pointed elsewhere, so that only modified templates need to be copied into
  a templatedir. Based on work by JeremyReed.
2007-01-12 20:48:19 +00:00
joey 8daaa11baa added some comments for translators 2007-01-04 12:00:23 +00:00
joey e5348d2d70 * Corrected a bum regexp in openid munging. 2007-01-03 05:33:50 +00:00
joey 39d78ce54c deal with http:// part 2006-12-31 22:28:08 +00:00
joey c494e2f974 * Escape shashes in page titles entered in the blog post form.
* Munge openids of the form somehost.com/user (trial, may revert)
2006-12-31 20:50:22 +00:00
joey f62d23f008 * If a userdir is configured, links to pages in it can be made without
specifying the path. This allows for easy signing of comments by linking
  to your page in the userdir.
2006-12-29 05:33:20 +00:00
joey 912521ef07 * Initial work on internationalization of the program code. po/ikiwiki.pot
is available for translation.
* Export gettext() from IkiWiki module.
2006-12-29 04:38:40 +00:00
joey 472dabbb60 * Turn $config{wiki_file_prune_regexps} into an array that is easier to
manipulate.
* Only exclude rss and atom files from processing if the inline plugin
  is enabled and that feed type is enabled. Else it's just a copyable file
  type.
* Move rss and atom option handling code into the inline plugin.
* Applied a rather old patch from Recai to fix the "pruning is too strict"
  issue. Now you can have wiki source directories inside dotdirs and the
  like, if you want.
2006-12-21 19:36:15 +00:00
joey 389ad222ec * Add userdir config setting. 2006-12-19 16:58:55 +00:00
joey 8af8d085d6 * The hack used to make the pagetemplate hook have access to the editpage
template won't work with CGI::FormBuilder 3.0401, so disable it for now.
* CGI::FormBuilder 3.0401 seems to work ok now with ikiwiki, although
  there might still be bugs lurking..
2006-12-02 00:19:55 +00:00
joey d99ce1f9ad session improvements 2006-11-26 19:43:50 +00:00
joey 04a9dbfe7d updates 2006-11-22 14:28:38 +00:00
joey 95e8127405 improve 2006-11-21 17:56:04 +00:00