diff options
Diffstat (limited to 'IkiWiki/Plugin/googlecalendar.pm')
-rw-r--r-- | IkiWiki/Plugin/googlecalendar.pm | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/IkiWiki/Plugin/googlecalendar.pm b/IkiWiki/Plugin/googlecalendar.pm deleted file mode 100644 index 81a3ad677..000000000 --- a/IkiWiki/Plugin/googlecalendar.pm +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/perl -package IkiWiki::Plugin::googlecalendar; - -use warnings; -use strict; -use IkiWiki 2.00; - -sub import { #{{{ - hook(type => "getsetup", id => "googlecalendar", - call => \&getsetup); - hook(type => "preprocess", id => "googlecalendar", - call => \&preprocess); - hook(type => "format", id => "googlecalendar", - call => \&format); -} # }}} - -sub getsetup () { #{{{ - return - plugin => { - safe => 1, - rebuild => undef, - }, -} #}}} - -sub preprocess (@) { #{{{ - my %params=@_; - - # Parse the html, looking for the url to embed for the calendar. - # Avoid XSS attacks.. - my ($url)=$params{html}=~m#iframe\s+src="http://www\.google\.com/calendar/embed\?([^"<>]+)"#; - if (! defined $url || ! length $url) { - error gettext("failed to find url in html") - } - my ($height)=$params{html}=~m#height="(\d+)"#; - my ($width)=$params{html}=~m#width="(\d+)"#; - - return "<div class=\"googlecalendar\" src=\"$url\" height=\"$height\" width=\"$width\"></div>"; -} # }}} - -sub format (@) { #{{{ - my %params=@_; - - $params{content}=~s/<div class=\"googlecalendar" src="([^"]+)" height="([^"]+)" width="([^"]+)"><\/div>/gencal($1,$2,$3)/eg; - - return $params{content}; -} # }}} - -sub gencal ($$$) { #{{{ - my $url=shift; - my $height=shift; - my $width=shift; - return qq{<iframe src="http://www.google.com/calendar/embed?$url" style=" border-width:0 " width="$width" frameborder="0" height="$height"></iframe>}; -} #}}} - -1 |