From 4b384b9345cef316c46a06cace15e79f972d3100 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Fri, 6 Apr 2012 10:35:29 +0200 Subject: [PATCH 1/6] SN/Twitter relay updated the README file --- statusnet/README | 33 ++++++++++++++++++++++++++++----- twitter/README | 8 ++++---- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/statusnet/README b/statusnet/README index 32c11c7e9..f172f2ce6 100755 --- a/statusnet/README +++ b/statusnet/README @@ -42,12 +42,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/twitter/README b/twitter/README index 3b8f0e850..56dbc7e29 100755 --- a/twitter/README +++ b/twitter/README @@ -47,8 +47,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 +56,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, ..." From 75dd08fa736132f512ed7644ab968c9cd4004020 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Fri, 6 Apr 2012 14:34:47 +0200 Subject: [PATCH 2/6] 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 bea55db29..af8f5e0d9 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 cfba8df76..849c11f97 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 000000000..ec0b5e576 --- /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 ce9790bbf..c037b9a97 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.')), )); } From 26dec371bbb7d0b141610fdd9f8b061ad1d290fd Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Fri, 6 Apr 2012 19:37:23 +0200 Subject: [PATCH 3/6] SN/T: since inclusion of the title 2xMax_Char is too short, increasing that --- statusnet/statusnet.php | 4 ++-- twitter/twitter.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 897c54152..13f3f7e2c 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -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); diff --git a/twitter/twitter.php b/twitter/twitter.php index 006c16152..8a072fa28 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -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); From f245b1478fb716ac21f3e4aa7184c166d0682e22 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 7 Apr 2012 07:02:55 +0200 Subject: [PATCH 4/6] SN: avoide to send broken last words to SN when shorten a message --- statusnet/statusnet.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 13f3f7e2c..62ee8e8bb 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -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 :-) From a12d68066bd9b93fe385c8867ad132e8282e1f65 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 7 Apr 2012 07:07:55 +0200 Subject: [PATCH 5/6] Twitter: avooid sending broken words at the end of a Tweet --- twitter/twitter.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/twitter/twitter.php b/twitter/twitter.php index 8a072fa28..1dfc73919 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -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 :-) From 1a99b8a4ea72dae581ef8b3159e8b54653eaf9ab Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 7 Apr 2012 09:21:49 +0200 Subject: [PATCH 6/6] small change in my contact informations in the addon files --- impressum/README | 1 + impressum/impressum.php | 4 ++-- piwik/README | 8 ++++++++ piwik/piwik.php | 4 ++-- statusnet/README | 1 + statusnet/statusnet.php | 2 +- twitter/README | 1 + twitter/twitter.php | 2 +- 8 files changed, 17 insertions(+), 6 deletions(-) diff --git a/impressum/README b/impressum/README index af8f5e0d9..fcf29aaf3 100755 --- a/impressum/README +++ b/impressum/README @@ -1,6 +1,7 @@ Impressum Plugin for Friendica Author: Tobias Diekershoff + http://diekershoff.homeunix.net/friendika/profile/tobias tobias.diekershoff@gmx.net License: 3-clause BSD license diff --git a/impressum/impressum.php b/impressum/impressum.php index c037b9a97..760022790 100755 --- a/impressum/impressum.php +++ b/impressum/impressum.php @@ -3,7 +3,7 @@ * Name: Impressum * Description: Plugin to add contact information to the about page (/friendica) * Version: 1.1 - * Author: Tobias Diekershoff + * Author: Tobias Diekershoff * License: 3-clause BSD license */ @@ -26,7 +26,7 @@ function obfuscate_email ($s) { function impressum_footer($a, &$b) { $text = get_config('impressum','footer_text'); if (! $text == '') { - $a->page['htmlhead'] .= '\r\n'; + $a->page['htmlhead'] .= ''; $b .= ''; } } diff --git a/piwik/README b/piwik/README index e276ccd44..c648a4d12 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 dbb1f45a2..3e0d718ff 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 f172f2ce6..df0412d0e 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 62ee8e8bb..c4100e88e 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 diff --git a/twitter/README b/twitter/README index 56dbc7e29..12bb66646 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/twitter/twitter.php b/twitter/twitter.php index 1dfc73919..32b4980f5 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 */