From 75dd08fa736132f512ed7644ab968c9cd4004020 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Fri, 6 Apr 2012 14:34:47 +0200 Subject: [PATCH] Impressum: added optional page footer --- impressum/README | 4 +++- impressum/admin.tpl | 1 + impressum/impressum.css | 4 ++++ impressum/impressum.php | 24 ++++++++++++++++++------ 4 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 impressum/impressum.css diff --git a/impressum/README b/impressum/README index bea55db2..af8f5e0d 100755 --- a/impressum/README +++ b/impressum/README @@ -3,7 +3,7 @@ Impressum Plugin for Friendica Author: Tobias Diekershoff tobias.diekershoff@gmx.net -License: 3-clause BSD license (same as Friendica) +License: 3-clause BSD license About This plugin adds an Impressum block to the /friendica page with informations @@ -29,3 +29,5 @@ following variables in the .htconfig file you can be reached at (optional) * $a->config['impressum']['notes'] additional informations that should be displayed in the Impressum block + * $a->config['impressum']['footer_text'] Text that will be displayed at + the bottom of the pages. diff --git a/impressum/admin.tpl b/impressum/admin.tpl index cfba8df7..849c11f9 100755 --- a/impressum/admin.tpl +++ b/impressum/admin.tpl @@ -3,4 +3,5 @@ {{ inc field_input.tpl with $field=$postal }}{{ endinc }} {{ inc field_input.tpl with $field=$notes }}{{ endinc }} {{ inc field_input.tpl with $field=$email }}{{ endinc }} +{{ inc field_input.tpl with $field=$footer_text }}{{ endinc }}
diff --git a/impressum/impressum.css b/impressum/impressum.css new file mode 100644 index 00000000..ec0b5e57 --- /dev/null +++ b/impressum/impressum.css @@ -0,0 +1,4 @@ +#impressum_footer { + padding-top: 15px; + font-size: 0.8em; +} diff --git a/impressum/impressum.php b/impressum/impressum.php index ce9790bb..c037b9a9 100755 --- a/impressum/impressum.php +++ b/impressum/impressum.php @@ -2,18 +2,20 @@ /** * Name: Impressum * Description: Plugin to add contact information to the about page (/friendica) - * Version: 1.0 + * Version: 1.1 * Author: Tobias Diekershoff * License: 3-clause BSD license */ function impressum_install() { register_hook('about_hook', 'addon/impressum/impressum.php', 'impressum_show'); + register_hook('page_end', 'addon/impressum/impressum.php', 'impressum_footer'); logger("installed impressum plugin"); } function impressum_uninstall() { unregister_hook('about_hook', 'addon/impressum/impressum.php', 'impressum_show'); + unregister_hook('page_end', 'addon/impressum/impressum.php', 'impressum_footer'); logger("uninstalled impressum plugin"); } function obfuscate_email ($s) { @@ -21,6 +23,13 @@ function obfuscate_email ($s) { $s = str_replace('.','(dot)',$s); return $s; } +function impressum_footer($a, &$b) { + $text = get_config('impressum','footer_text'); + if (! $text == '') { + $a->page['htmlhead'] .= '\r\n'; + $b .= ''; + } +} function impressum_show($a,&$b) { $b .= '

'.t('Impressum').'

'; $owner = get_config('impressum', 'owner'); @@ -56,21 +65,24 @@ function impressum_plugin_admin_post (&$a) { $postal = ((x($_POST, 'postal')) ? (trim($_POST['postal'])) : ''); $notes = ((x($_POST, 'notes')) ? (trim($_POST['notes'])) : ''); $email = ((x($_POST, 'email')) ? notags(trim($_POST['email'])) : ''); + $footer_text = ((x($_POST, 'footer_text')) ? (trim($_POST['footer_text'])) : ''); 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); + set_config('impressum','footer_text',$footer_text); 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'), ''), + '$owner' => array('owner', t('Site Owner'), get_config('impressum','owner'), t('The page operators name.')), + '$ownerprofile' => array('ownerprofile', t('Site Owners Profile'), get_config('impressum','ownerprofile'), t('Profile address of the operator.')), + '$postal' => array('postal', t('Postal Address'), get_config('impressum','postal'), t('How to contact the operator via snail mail.')), + '$notes' => array('notes', t('Notes'), get_config('impressum','notes'), t('Additional notes that are displayed beneath the contact information.')), + '$email' => array('email', t('Email Address'), get_config('impressum','email'), t('How to contact the operator via email. (will be displayed obfuscated)')), + '$footer_text' => array('footer_text', t('Footer note'), get_config('impressum','footer_text'), t('Text for the footer.')), )); }