remove deprecated googlecalendar plugin
parent
7ba65e7f4b
commit
3fbe2569ff
|
@ -1,55 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
package IkiWiki::Plugin::googlecalendar;
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use IkiWiki 3.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
|
|
@ -34,12 +34,3 @@ Any objections to listing plugins alphabetically rather than by creation date?
|
|||
>> "recently changed" list with the 10 most recently changed plugins
|
||||
>> at the top. That would allow what you suggested, but still allow
|
||||
>> the main list to be alphabetical. -- [[Will]]
|
||||
|
||||
How about adding a deprecated tag in order to clean up the plugin list?
|
||||
|
||||
> AFAIK it's currently the only one. --[[Joey]]
|
||||
|
||||
For instance [[googlecalendar]] is listed as plugin but should probably be removed from Ikiwiki in a future major version (v3?).
|
||||
|
||||
-- [[AlexandreDupas]]
|
||||
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
[[!template id=plugin name=googlecalendar author="[[Joey]]"]]
|
||||
[[!tag type/special-purpose]]
|
||||
|
||||
*Note*: This plugin is deprecated. Please switch to the [[embed]] plugin.
|
||||
|
||||
This plugin allows embedding a google calendar iframe in the wiki.
|
||||
Normally, if the [[htmlscrubber]] is enabled, such iframes are scrubbed out
|
||||
of the wiki content since they're not very safe if created by malicious
|
||||
users. But some iframes are legitimate, and safe, if you trust the embedded
|
||||
content. This plugin is an example of how to deal with this in ikiwiki.
|
||||
|
||||
Example use:
|
||||
|
||||
\[[!googlecalendar html="""
|
||||
<iframe src="http://www.google.com/calendar/embed?src=adkrdken8mupngh13jshlbenoc%40group.calendar.google.com&title=OSEL%20Calendar&chrome=NAVIGATION&bgcolor=%2371d873&height=588" style=" border-width:0 " width="480" frameborder="0" height="588"></iframe>
|
||||
"""]]
|
||||
|
||||
The iframe should be the one provided by google. Note that it's used in a
|
||||
way that avoids cross-site scripting attacks, assuming you trust google's
|
||||
content.
|
|
@ -86,3 +86,8 @@ Otherwise, follow this procedure to upgrade a wiki using the aggregate plugin:
|
|||
files in the srcdir. The command to run is
|
||||
`ikiwiki-transition aggregateinternal your.setup`,
|
||||
3. Refresh the wiki. (`ikiwiki -setup your.setup -refresh`)
|
||||
|
||||
## googlecalendar
|
||||
|
||||
This plugin has been deprecated for a long time, and is removed in 3.0. If
|
||||
your wiki used it, you should enable the [[plugins/embed]] plugin, instead.
|
||||
|
|
Loading…
Reference in New Issue