diff options
author | Tobias Diekershoff <tobias.diekershoff@gmx.net> | 2011-06-23 07:12:50 +0200 |
---|---|---|
committer | Tobias Diekershoff <tobias.diekershoff@gmx.net> | 2011-06-23 07:12:50 +0200 |
commit | cc71a0676f16d6133203f8d6f3a16249d790ea71 (patch) | |
tree | 12c4c9c6031bc9ee6ff74e04ed4a188f4e82c2fc /addon/impressum/impressum.php | |
parent | c23c366ff68f8b030c6db23e7edb2f6b21fbd5aa (diff) | |
download | volse-hubzilla-cc71a0676f16d6133203f8d6f3a16249d790ea71.tar.gz volse-hubzilla-cc71a0676f16d6133203f8d6f3a16249d790ea71.tar.bz2 volse-hubzilla-cc71a0676f16d6133203f8d6f3a16249d790ea71.zip |
initial commit of the impressum plugin
plugin to provide additional information about the site owner
and contact possibilities that will be displayed at the /friendika
page. admin interface is implemented.
Diffstat (limited to 'addon/impressum/impressum.php')
-rw-r--r-- | addon/impressum/impressum.php | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/addon/impressum/impressum.php b/addon/impressum/impressum.php new file mode 100644 index 000000000..b93d9eef6 --- /dev/null +++ b/addon/impressum/impressum.php @@ -0,0 +1,76 @@ +<?php +/** + * Name: Impressum + * Description: Plugin to add contact information to the about page (/friendika) + * Version: 1.0 + * Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias> + * License: 3-clause BSD license (same as Friendika) + */ + +function impressum_install() { + register_hook('about_hook', 'addon/impressum/impressum.php', 'impressum_show'); + logger("installed impressum plugin"); +} + +function impressum_uninstall() { + unregister_hook('about_hook', 'addon/impressum/impressum.php', 'impressum_show'); + logger("uninstalled impressum plugin"); +} +function obfuscate_email ($s) { + $s = str_replace('@','(at)',$s); + $s = str_replace('.','(dot)',$s); + return $s; +} +function impressum_show($a,&$b) { + $b .= '<h3>'.t('Impressum').'</h3>'; + $owner = get_config('impressum', 'owner'); + $owner_profile = get_config('impressum','ownerprofile'); + $postal = get_config('impressum', 'postal'); + $notes = get_config('impressum', 'notes'); + $email = obfuscate_email( get_config('impressum','email') ); + if (strlen($owner)) { + if (strlen($owner_profile)) { + $tmp = '<a href="'.$owner_profile.'">'.$owner.'</a>'; + } else { + $tmp = $owner; + } + if (strlen($email)) { + $b .= '<p><strong>'.t('Site Owner').'</strong>: '. $tmp .'<br /><strong>'.t('Email Address').'</strong>: '.$email.'</p>'; + } else { + $b .= '<p><strong>'.t('Site Owner').'</strong>: '. $tmp .'</p>'; + } + if (strlen($postal)) { + $b .= '<p><strong>'.t('Postal Address').'</strong><br />'. $postal .'</p>'; + } + if (strlen($notes)) { + $b .= '<p>'.$notes.'</p>'; + } + } else { + $b .= '<p>'.t('The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon.').'</p>'; + } +} + +function impressum_plugin_admin_post (&$a) { + $owner = ((x($_POST, 'owner')) ? notags(trim($_POST['owner'])) : ''); + $ownerprofile = ((x($_POST, 'ownerprofile')) ? notags(trim($_POST['ownerprofile'])) : ''); + $postal = ((x($_POST, 'postal')) ? (trim($_POST['postal'])) : ''); + $notes = ((x($_POST, 'notes')) ? (trim($_POST['notes'])) : ''); + $email = ((x($_POST, 'email')) ? notags(trim($_POST['email'])) : ''); + set_config('impressum','owner',$owner); + set_config('impressum','ownerprofile',$ownerprofile); + set_config('impressum','postal',$postal); + set_config('impressum','email',$email); + set_config('impressum','notes',$notes); + info( t('Settings updated.'). EOL ); +} +function impressum_plugin_admin (&$a, &$o) { + $t = file_get_contents( dirname(__file__). "/admin.tpl" ); + $o = replace_macros($t, array( + '$submit' => t('Submit'), + '$owner' => array('owner', t('Site Owner'), get_config('impressum','owner'), ''), + '$ownerprofile' => array('ownerprofile', t('Site Owners Profile'), get_config('impressum','ownerprofile'), ''), + '$postal' => array('postal', t('Postal Address'), get_config('impressum','postal'), ''), + '$notes' => array('notes', t('Notes'), get_config('impressum','notes'), ''), + '$email' => array('email', t('Email Address'), get_config('impressum','email'), ''), + )); +} |