friendica-addons/pledgie/pledgie.php

83 lines
3.3 KiB
PHP

<?php
/**
* Name: Pledgie
* Description: Show link to a pledgie account for donating
* Version: 1.1
* Author: tony baldwin <tony@free-haven.org>
* Hauke Altmann <https://snarl.de/profile/tugelblend>
*
*/
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
function pledgie_install() {
Addon::registerHook('page_end', 'addon/pledgie/pledgie.php', 'pledgie_active');
Addon::registerHook('addon_settings', 'addon/pledgie/pledgie.php', 'pledgie_addon_settings');
Addon::registerHook('addon_settings_post', 'addon/pledgie/pledgie.php', 'pledgie_addon_settings_post');
}
function pledgie_uninstall() {
Addon::unregisterHook('page_end', 'addon/pledgie/pledgie.php', 'pledgie_active');
Addon::unregisterHook('addon_settings', 'addon/pledgie/pledgie.php', 'pledgie_addon_settings');
Addon::unregisterHook('addon_settings_post', 'addon/pledgie/pledgie.php', 'pledgie_addon_settings_post');
}
function pledgie_addon_settings(&$a,&$s) {
if(! is_site_admin())
return;
/* Add our stylesheet to the page so we can make our settings look nice */
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->getBaseURL() . '/addon/pledgie/pledgie.css' . '" media="all" />' . "\r\n";
$campaign = Config::get('pledgie-campaign','text');
$describe = Config::get('pledgie-describe','text');
if(! $campaign)
$campaign = '';
if(! describe)
$describe = '';
$s .= '<div class="settings-block">';
$s .= '<h3>' . L10n::t('"pledgie" Settings') . '</h3>';
$s .= '<div id="pledgie-wrapper">';
$s .= '<label id="pledgie-label" for="pledgie-campaign">' . L10n::t('Pledgie campaign number to use for donations') . ' </label>';
$s .= '<input id="pledgie-campaign" type="text" name="pledgie-campaign" value="' . $campaign . '">';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pledgie-wrapper">';
$s .= '<label id="pledgie-label" for="pledgie-describe">' . L10n::t('Description of the Pledgie campaign') . ' </label>';
$s .= '<input id="pledgie-describe" type="text" name="pledgie-describe" value="' . $describe . '">';
$s .= '</div><div class="clear"></div>';
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="pledgie-submit" name="pledgie-submit" class="settings-submit" value="' . L10n::t('Save Settings') . '" /></div></div>';
return;
}
function pledgie_addon_settings_post(&$a,&$b) {
if(! is_site_admin())
return;
if($_POST['pledgie-submit']) {
Config::set('pledgie-describe','text',trim(strip_tags($_POST['pledgie-describe'])));
Config::set('pledgie-campaign','text',trim(strip_tags($_POST['pledgie-campaign'])));
info(L10n::t('pledgie Settings saved.') . EOL);
}
}
function pledgie_active(&$a,&$b) {
$campaign = Config::get('pledgie-campaign','text');
$describe = Config::get('pledgie-describe','text');
$b .= '<div style="position: fixed; padding:5px; border-style:dotted; border-width:1px; background-color: white; line-height: 1; bottom: 5px; left: 20px; z-index: 1000; width: 150px; font-size: 12px;">';
$b .= $describe . '<br/><a href="https://pledgie.com/campaigns/';
$b .= $campaign;
$b .= '"><img alt="Click here to lend your support to: ' . $describe . '!" src="https://pledgie.com/campaigns/';
$b .= $campaign;
$b .= '.png?skin_name=chrome" border="0" target="_blank" /></a></div>';
}