blob: 31160c02ffb581ad28da533e42737db8761295fe (
plain)
- #!/usr/bin/perl
- package IkiWiki::Plugin::signinedit;
- use warnings;
- use strict;
- use IkiWiki 3.00;
- sub import {
- hook(type => "getsetup", id => "signinedit", call => \&getsetup);
- hook(type => "canedit", id => "signinedit", call => \&canedit,
- last => 1);
- }
- sub getsetup () {
- return
- plugin => {
- safe => 1,
- rebuild => 0,
- section => "auth",
- },
- }
- sub canedit ($$$) {
- my $page=shift;
- my $cgi=shift;
- my $session=shift;
- # Have the user sign in, if they are not already. This is why the
- # hook runs last, so that any hooks that don't need the user to
- # signin can override this.
- if (! defined $session->param("name") ||
- ! IkiWiki::userinfo_get($session->param("name"), "regdate")) {
- return "" unless exists $IkiWiki::hooks{auth};
- return sub { IkiWiki::needsignin($cgi, $session) };
- }
- else {
- return "";
- }
- }
- 1
|