From: Roland Hieber Date: Wed, 8 Nov 2017 23:39:44 +0000 (+0100) Subject: remove flattr buttons after flattr ToS change X-Git-Url: https://git.rohieb.name/www-rohieb-name.git/commitdiff_plain/6b1fc69185a0b8d22b4aa4933e27078bd0f4c67e remove flattr buttons after flattr ToS change --- diff --git a/plugins/IkiWiki/Plugin/flattrthing.pm b/plugins/IkiWiki/Plugin/flattrthing.pm deleted file mode 100644 index c917ed4..0000000 --- a/plugins/IkiWiki/Plugin/flattrthing.pm +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/perl - -# This plugin allows your page templates to include Flattr buttons, so -# Flattr buttons are automatically added on every page that uses the template. -# If you don't specify a thing ID with the flattrthing directive, it adds -# auto-submit buttons so things are created when the button is clicked the first -# time. -# -# The plugin is customizable through the following configuration options: -# - flattrthing_pagespec: allows you to specify a pagespec on which pages the -# plugin is active. If empty, no Flattr buttons are generated at all. -# - flattrthing_defaultuser: sets the default user that owns the Flattr things -# which are created by the auto-submit buttons. -# -# Also, the plugin adds the flattrthing directive, which allows you to customize -# the behaviour for one page. It knows the following parameters: -# - id: the Flattr thing ID (like in http://flattr.com/thing/12341234). If you -# specify this option, a button with a thing URL is generated instead of an -# auto-submit button. This allows you to link to things which already exist -# by the time you create your page. -# - user: a Flattr username that owns the thing created by the generated -# auto-submit button. This parameter has no effect when an ID is specified, -# since in this case, the owner is already known to Flattr. -# -# This plugin sets the following template variables which your templates should -# process and generate the according buttons with the right URLs: -# - FLATTR_ENABLE: contains a truthful value if the page matches the pagespec -# configured with flattrthing_pagespec. You can use it with TMPL_IF to -# generate code specific to pages which have a Flattr button. -# - FLATTR_THING_ID: if a thing ID was specified with the flattrthing directive, -# this variable contains the ID that was given in the directive. -# - FLATTR_THING_ID_SET: contains a thurthful value if FLATTR_THING_ID is set. -# - FLATTR_USER: contains the username that was specified with the flattrthing -# directive, or if that was not the case, the username that was configured -# with flattrthing_defaultuser in your setup file. -# - FLATTR_THING_URL: contains the full URL to the page. - -package IkiWiki::Plugin::flattrthing; - -use warnings; -use strict; -use IkiWiki 3.00; - -sub import { - hook(type => "getsetup", id => "flattrthing", call => \&getsetup); - hook(type => "scan", id => "flattrthing", call => \&scan); - hook(type => "preprocess", id => "flattrthing", call => \&preprocess); - hook(type => "pagetemplate", id => "flattrthing", call => \&pagetemplate); -} - -sub getsetup () { - return - plugin => { - safe => 1, - rebuild => undef, - section => "widget", - }, - flattrthing_pagespec => { - type => "pagespec", - example => "!*/Discussion", - description => "Pages on which flattr button should be inserted. If empty, flattr buttons are not shown on any page.", - link => "ikiwiki/PageSpec", - safe => 1, - rebuild => undef, - }, - flattrthing_defaultuser => { - type => "string", - example => "!*/Discussion", - description => "Default flattr user that owns a thing if the username is not changed with the flattrthing directive", - safe => 1, - rebuild => undef, - }, -} - -sub scan { - my %params = @_; - my $page = $params{page}; - my $destpage = $params{destpage}; - my $baseurl = $config{url}; - $baseurl .= "/" unless substr($baseurl, -1) eq "/"; - if($destpage) { - $baseurl .= $destpage; - } else { - $baseurl .= $page; - } - $pagestate{$page}{flattrthing}{url} = $baseurl; - - if(exists $config{flattrthing_defaultuser} && - length $config{flattrthing_defaultuser}) { - $pagestate{$page}{flattrthing}{user} = $config{flattrthing_defaultuser}; - } else { - return error("Please set flattrthing_defaultuser in configuration!"); - } -} - -sub preprocess { - return "" unless @_; - my %params = @_; - - return error("flattrthing: please specify id or user") unless ($params{id} - or $params{user}); - - my $page = $params{page}; - $pagestate{$page}{flattrthing}{id} = int($params{id}) if $params{id}; - $pagestate{$page}{flattrthing}{user} = int($params{user}) if $params{user}; - - return ""; -} - -sub pagetemplate { - my %params = @_; - my $page = $params{page}; - my $template = $params{template}; - - if(exists $config{flattrthing_pagespec} && - length $config{flattrthing_pagespec} && - exists $pagestate{$page}{flattrthing}{user} && - length $pagestate{$page}{flattrthing}{user} && - pagespec_match($params{page}, $config{flattrthing_pagespec})) { - $template->param(FLATTR_ENABLED => 1); - $template->param( - FLATTR_THING_URL => $pagestate{$page}{flattrthing}{url}, - FLATTR_USER => $pagestate{$page}{flattrthing}{user}, - ); - - if(exists $pagestate{$page}{flattrthing}{id}) { - $template->param( - FLATTR_THING_ID_SET => 1, - FLATTR_THING_ID => $pagestate{$page}{flattrthing}{id}, - ); - } - } -} - -1;