Merge commit 'upstream/master'

This commit is contained in:
Michael Vogel 2012-04-07 18:33:41 +02:00
commit d5e1359716
12 changed files with 153 additions and 26 deletions

View file

@ -20,6 +20,18 @@ Installing the Friendica/Facebook connector
c) Click save.
d) Finally, return to the Facebook settings page, and activate real-time updates.
i. If you for any reason prefer to use a configuration file instead of the admin panels,
Activate the plugin by including it in .htconfig.php, e.g.
$a->config['system']['addon'] = 'plugin1,plugin2,facebook';
and set the following values:
$a->config['facebook']['appid'] = 'xxxxxxxxxxx';
$a->config['facebook']['appsecret'] = 'xxxxxxxxxxxxxxx';
Replace with the settings Facebook gives you.
3. To use the Facebook plugin, visit the "connector settings" area of your settings
page. Click "Install Facebook Connector".
4. This will ask you to login to Facebook and allow the plugin to do it's stuff.

View file

@ -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
@ -15,4 +16,19 @@ Configuration:
Simply fill in the fields in the impressium settings page in the plugins area
of your admin panel.
If you for any reason prefer to use a configuration file instead, you can set the
following variables in the .htconfig file
* $a->config['impressum']['owner'] this is the Name of the Operator
* $a->config['impressum']['ownerprofile'] this is an optional Friendica account
where the above owner name will link to
* $a->config['impressum']['email'] a contact email address (optional)
will be displayed slightly obfuscated
as name(at)example(dot)com
* $a->config['impressum']['postal'] should contain a postal address where
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.

View file

@ -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 }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>

4
impressum/impressum.css Normal file
View file

@ -0,0 +1,4 @@
#impressum_footer {
padding-top: 15px;
font-size: 0.8em;
}

View file

@ -2,18 +2,20 @@
/**
* Name: Impressum
* Description: Plugin to add contact information to the about page (/friendica)
* Version: 1.0
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
* Version: 1.1
* Author: Tobias Diekershoff <http://diekershoff.homeunix.net/friendika/profile/tobias>
* 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'] .= '<link rel="stylesheet" type="text/css" href="'.$a->get_baseurl().'/addon/impressum/impressum.css" media="all" />';
$b .= '<div id="impressum_footer">'.$text.'</div>';
}
}
function impressum_show($a,&$b) {
$b .= '<h3>'.t('Impressum').'</h3>';
$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.')),
));
}

View file

@ -16,6 +16,9 @@ Support the OpenStreetMap community and share the load.
___ Configuration ___
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 your admin panel.
You can now add a Tile Server and default zoom level in the plugin settings
@ -25,3 +28,21 @@ The Time Server URL points to the tile server you want to use. Use the full URL,
with protocol (http/s) and trailing slash. You can configure the default zoom
level on the map in the Default Zoom box. 1 will show the whole world and 18 is the highest
zoom level available.
___ Alternative Configuration ___
Open the .htconfig.php file and add "openstreetmap" to the list of activated
addons.
$a->config['system']['addon'] = "openstreetmap, ..."
You have to add two configuration variables for the addon:
$a->config['openstreetmap']['tmsserver'] = 'http://www.openstreetmap.org/';
$a->config['openstreetmap']['zoom'] = '18';
The *tmsserver* points to the tile server you want to use. Use the full URL,
with protocol (http/s) and trailing slash. You can configure the default zoom
level on the map with *zoom*. 1 will show the whole world and 18 is the highest
zoom level available.

View file

@ -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, ..."

View file

@ -3,7 +3,7 @@
* Name: Piwik Analytics
* Description: Piwik Analytics Plugin for Friendica
* Version: 1.1
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
* Author: Tobias Diekershoff <http://diekershoff.homeunix.net/friendika/profile/tobias>
* 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'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/piwik/piwik.css' . '" media="all" />' . "\r\n";
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/piwik/piwik.css' . '" media="all" />';
/*
* Get the configuration variables from the .htconfig file.

View file

@ -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 __

View file

@ -3,7 +3,7 @@
* Name: StatusNet Connector
* Description: Relay public postings to a connected StatusNet account
* Version: 1.0.4
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
* Author: Tobias Diekershoff <http://diekershoff.homeunix.net/friendika/profile/tobias>
*/
/* 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('<br>','<br />'),' ',$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 :-)

View file

@ -1,5 +1,6 @@
____ Twitter Plugin ____
By Tobias Diekershoff
http://diekershoff.homeunix.net/friendika/profile/tobias
tobias.diekershoff(at)gmx.net
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -47,17 +48,32 @@ ___ Configuration ___
__ Global Configuration __
If you enabled an administrator account, please use the admin panel to cofigure
the Twitter relay.
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
done so, add your consumer key and consumer secret in the settings section of the
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
.htconfig.php file
$a->config['system']['addon'] = "twitter, ..."
Afterwards you need to add your OAuth consumer key / secret pair to it by
adding the following two lines
$a->config['twitter']['consumerkey'] = 'your consumer KEY here';
$a->config['twitter']['consumersecret'] = 'your consumer SECRET here';
__ User Configuration __
When the OAuth consumer informations are correctly placed into the
@ -73,3 +89,4 @@ on the "Plugin Settings" page displaying two check boxes. One to enable/disable
the forwarding of *all public* postings to Twitter and one to clear the
personal configuration from the Twitter credentials.

View file

@ -3,7 +3,7 @@
* Name: Twitter Connector
* Description: Relay public postings to a connected Twitter account
* Version: 1.0.3
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
* Author: Tobias Diekershoff <http://diekershoff.homeunix.net/friendika/profile/tobias>
*/
@ -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('<br>','<br />'),' ',$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 :-)