diff --git a/impressum/README b/impressum/README index bea55db2..fcf29aaf 100755 --- a/impressum/README +++ b/impressum/README @@ -1,9 +1,10 @@ Impressum Plugin for Friendica Author: Tobias Diekershoff + http://diekershoff.homeunix.net/friendika/profile/tobias 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 +30,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..76002279 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 - * Author: Tobias Diekershoff + * 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'] .= ''; + $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.')), )); } diff --git a/piwik/README b/piwik/README index e276ccd4..c648a4d1 100755 --- a/piwik/README +++ b/piwik/README @@ -1,6 +1,7 @@ ## Piwik Plugin ## by Tobias Diekershoff + http://diekershoff.homeunix.net/friendika/profile/tobias tobias.diekershoff(at)gmx.net This addon allows you to embed the code necessary for the FLOSS webanalytics @@ -19,6 +20,13 @@ styling the opt-out notice. ### Configuration ### +The easiest way to configure this addon is by activating the admin panels of +your ~friendica server and then enter the needed details on the config page +for the addon. + +If you don't want to use the admin panel, you can configure the addon through +the .htconfig file. + Open the .htconfig.php file and add "piwik" to the list of activated addons. $a->config['system']['addon'] = "piwik, ..." diff --git a/piwik/piwik.php b/piwik/piwik.php index dbb1f45a..3e0d718f 100755 --- a/piwik/piwik.php +++ b/piwik/piwik.php @@ -3,7 +3,7 @@ * Name: Piwik Analytics * Description: Piwik Analytics Plugin for Friendica * Version: 1.1 - * Author: Tobias Diekershoff + * Author: Tobias Diekershoff * Author: Klaus Weidenbach */ @@ -49,7 +49,7 @@ function piwik_analytics($a,&$b) { * associated CSS file. We just have to tell Friendica to get it * into the page header. */ - $a->page['htmlhead'] .= '' . "\r\n"; + $a->page['htmlhead'] .= ''; /* * Get the configuration variables from the .htconfig file. diff --git a/statusnet/README b/statusnet/README index 32c11c7e..df0412d0 100755 --- a/statusnet/README +++ b/statusnet/README @@ -1,5 +1,6 @@ ____ StatusNet Plugin ____ by Tobias Diekershoff + http://diekershoff.homeunix.net/friendika/profile/tobias tobias.diekershoff(at)gmx.net !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -42,12 +43,35 @@ ___ Configuration ___ __ Global Configuration __ -If you enabled an administrator account, please use the admin panel to cofigure -the StatusNet relay. +If you have configured an admin account, you can configure this plugin from +the admin panel. First activate it from the plugin section of the panel. +Afterwards you will have a separate configuration page for the plugin, where +you can provide a set of globally available OAuth credentials for different +StatusNet pages which will be available for all users of your server. -To activate this addon add statusnet to the list of active addons in your -.htconfig.php file - $a->config['system']['addon'] = "statusnet, ...". +If you don't use the admin panel, you can configure the relay using the +.htconfig.php file of your friendica installation. To activate the relay add +it's name to the list of activated addons. + + $a->config['system']['addon'] = "statusnet, ..." + +If you want to provide preconfigured StatusNet instances for your user add the +credentials for them by adding + +$a->config['statusnet']['sites'] = array ( + array ('sitename' => 'identi.ca', 'apiurl' => 'https://identi.ca/api/', + 'consumersecret' => 'OAuth Consumer Secret here', 'consumerkey' => 'OAuth + Consumer Key here'), + array ('sitename' => 'Some other Server', 'apiurl' => + 'http://status.example.com/api/', 'consumersecret' => 'OAuth + Consumer Secret here', 'consumerkey' => 'OAuth Consumer Key here') +); + +to the config file. + +Regardless of providing global OAuth credentials for your users or not, they +can always add their own OAuth-Key and -Secret thus enable the relay for any +StatusNet instance they may have an account at. __ User Configuration __ diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 897c5415..c4100e88 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -3,7 +3,7 @@ * Name: StatusNet Connector * Description: Relay public postings to a connected StatusNet account * Version: 1.0.4 - * Author: Tobias Diekershoff + * Author: Tobias Diekershoff */ /* StatusNet Plugin for Friendica @@ -435,9 +435,9 @@ function statusnet_post_hook(&$a,&$b) { // shorten all the links in a 200000 character long essay. if (! $b['title']=='') { $tmp = $b['title'] . ' : '. $b['body']; - $tmp = substr($tmp, 0, 2*$max_char); + $tmp = substr($tmp, 0, 4*$max_char); } else { - $tmp = substr($b['body'], 0, 2*$max_char); + $tmp = substr($b['body'], 0, 3*$max_char); } // if [url=bla][img]blub.png[/img][/url] get blub.png $tmp = preg_replace( '/\[url\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\]\[img\](\\w+.*?)\\[\\/img\]\\[\\/url\]/i', '$2', $tmp); @@ -480,7 +480,13 @@ function statusnet_post_hook(&$a,&$b) { $shortlink = short_link( $b['plink'] ); // the new message will be shortened such that "... $shortlink" // will fit into the character limit - $msg = substr($msg, 0, $max_char-strlen($shortlink)-4); + $msg = nl2br(substr($msg, 0, $max_char-strlen($shortlink)-4)); + $msg = str_replace(array('
','
'),' ',$msg); + $e = explode(' ', $msg); + // remove the last word from the cut down message to + // avoid sending cut words to the MicroBlog + array_pop($e); + $msg = implode(' ', $e); $msg .= '... ' . $shortlink; } // and now tweet it :-) diff --git a/twitter/README b/twitter/README index 3b8f0e85..12bb6664 100755 --- a/twitter/README +++ b/twitter/README @@ -1,5 +1,6 @@ ____ Twitter Plugin ____ By Tobias Diekershoff + http://diekershoff.homeunix.net/friendika/profile/tobias tobias.diekershoff(at)gmx.net !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -47,8 +48,8 @@ ___ Configuration ___ __ Global Configuration __ -If you enabled an administrator account, please use the admin panel to cofigure -the Twitter relay. If you for any reason prefer to use a configuration file instead +If you enabled an administrator account, please use the admin panel to configure +the Twitter relay. If you for any reason prefer to use a configuration file instead of the admin panels, please refer to the Alternative Configuration below. Activate the plugin from the plugins section of your admin panel. When you have @@ -56,12 +57,12 @@ done so, add your consumer key and consumer secret in the settings section of th plugin page. When this is done your user can now configure their Twitter connection at -"Settings -> Plugin Settings" and enable the forwarding of their *public* +"Settings -> Connector Settings" and enable the forwarding of their *public* messages to Twitter. __ Alternative Configuration __ --To activate this addon add @twitter@ to the list of active addons in your +To activate this addon add @twitter@ to the list of active addons in your .htconfig.php file $a->config['system']['addon'] = "twitter, ..." diff --git a/twitter/twitter.php b/twitter/twitter.php index 006c1615..32b4980f 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -3,7 +3,7 @@ * Name: Twitter Connector * Description: Relay public postings to a connected Twitter account * Version: 1.0.3 - * Author: Tobias Diekershoff + * Author: Tobias Diekershoff */ @@ -301,9 +301,9 @@ function twitter_post_hook(&$a,&$b) { // shorten all the links in a 200000 character long essay. if (! $b['title']=='') { $tmp = $b['title'] . ' : '. $b['body']; - $tmp = substr($tmp, 0, 2*$max_char); + $tmp = substr($tmp, 0, 4*$max_char); } else { - $tmp = substr($b['body'], 0, 2*$max_char); + $tmp = substr($b['body'], 0, 3*$max_char); } // if [url=bla][img]blub.png[/img][/url] get blub.png $tmp = preg_replace( '/\[url\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\]\[img\](\\w+.*?)\\[\\/img\]\\[\\/url\]/i', '$2', $tmp); @@ -345,7 +345,13 @@ function twitter_post_hook(&$a,&$b) { $shortlink = short_link( $b['plink'] ); // the new message will be shortened such that "... $shortlink" // will fit into the character limit - $msg = substr($msg, 0, $max_char-strlen($shortlink)-4); + $msg = nl2br(substr($msg, 0, $max_char-strlen($shortlink)-4)); + $msg = str_replace(array('
','
'),' ',$msg); + $e = explode(' ', $msg); + // remove the last word from the cut down message to + // avoid sending cut words to the MicroBlog + array_pop($e); + $msg = implode(' ', $e); $msg .= '... ' . $shortlink; } // and now tweet it :-)