Merge branch 'master' of git://github.com/friendica/friendica-addons

pull/33/head
Tobias Hößl 2012-04-01 06:34:34 +00:00
commit 5c59002db4
13 changed files with 71 additions and 123 deletions

BIN
frown.tgz

Binary file not shown.

View File

@ -1,14 +0,0 @@
#frown-enable-label {
float: left;
width: 200px;
margin-bottom: 25px;
}
#frown-checkbox {
float: left;
}

View File

@ -1,86 +0,0 @@
<?php
/**
* Name: Frown
* Description: Disable graphical smilies
* Version: 1.0
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
*
*
*/
function frown_install() {
register_hook('plugin_settings', 'addon/frown/frown.php', 'frown_settings');
register_hook('plugin_settings_post', 'addon/frown/frown.php', 'frown_settings_post');
logger("installed frown");
}
function frown_uninstall() {
unregister_hook('plugin_settings', 'addon/frown/frown.php', 'frown_settings');
unregister_hook('plugin_settings_post', 'addon/frown/frown.php', 'frown_settings_post');
logger("removed frown");
}
/**
*
* Callback from the settings post function.
* $post contains the $_POST array.
* We will make sure we've got a valid user account
* and if so set our configuration setting for this person.
*
*/
function frown_settings_post($a,$post) {
if(! local_user() || (! x($_POST,'frown-submit')))
return;
set_pconfig(local_user(),'system','no_smilies',intval($_POST['frown']));
info( t('Frown settings updated.') . EOL);
}
/**
*
* Called from the Plugin Setting form.
* Add our own settings info to the page.
*
*/
function frown_settings(&$a,&$s) {
if(! local_user())
return;
/* Add our stylesheet to the page so we can make our settings look nice */
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/frown/frown.css' . '" media="all" />' . "\r\n";
/* Get the current state of our config variable */
$enabled = get_pconfig(local_user(),'system','no_smilies');
$checked = (($enabled) ? ' checked="checked" ' : '');
/* Add some HTML to the existing form */
$s .= '<div class="settings-block">';
$s .= '<h3>' . t('Frown Settings') . '</h3>';
$s .= '<div id="frown-enable-wrapper">';
$s .= '<label id="frown-enable-label" for="frown-checkbox">' . t('Disable graphical smilies') . '</label>';
$s .= '<input id="frown-checkbox" type="checkbox" name="frown" value="1" ' . $checked . '/>';
$s .= '</div><div class="clear"></div>';
/* provide a submit button */
$s .= '<div class="settings-submit-wrapper" ><input type="submit" name="frown-submit" class="settings-submit" value="' . t('Submit') . '" /></div></div>';
}

BIN
irc.tgz

Binary file not shown.

View File

@ -36,6 +36,7 @@ function irc_content(&$a) {
$baseurl = $a->get_baseurl() . '/addon/irc';
$o = '';
$channels = ((x($_GET,'channels')) ? $_GET['channels'] : 'friendica');
/* add the chatroom frame and some html
* by altering the "channels=friendica" part of the URL, you can add/remove channels.
@ -44,7 +45,7 @@ $o = '';
$o .= <<< EOT
<h2>IRC chat</h2>
<p><a href="http://tldp.org/HOWTO/IRC/beginners.html" target="_blank">a beginner's guide to using IRC.</a></p>
<iframe src="http://webchat.freenode.net?channels=friendica" width="600" height="600"></iframe>
<iframe src="http://webchat.freenode.net?channels=$channels" width="600" height="600"></iframe>
EOT;
return $o;

Binary file not shown.

View File

@ -42,6 +42,9 @@ ___ Configuration ___
__ Global Configuration __
If you enabled an administrator account, please use the admin panel to cofigure
the StatusNet relay.
To activate this addon add statusnet to the list of active addons in your
.htconfig.php file
$a->config['system']['addon'] = "statusnet, ...".

View File

@ -18,9 +18,12 @@
#statusnet-default-label {
float: left;
width: 250px;
margin-bottom: 25px;
}
#statusnet-sendtaglinks-label {
float: left;
width: 250px;
margin-bottom: 25px;
}
#statusnet-disconnect {
float: left;
}

View File

@ -2,7 +2,7 @@
/**
* Name: StatusNet Connector
* Description: Relay public postings to a connected StatusNet account
* Version: 1.0.3
* Version: 1.0.4
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
*/
@ -155,6 +155,7 @@ function statusnet_settings_post ($a,$post) {
del_pconfig( local_user(), 'statusnet', 'oauthtoken' );
del_pconfig( local_user(), 'statusnet', 'oauthsecret' );
del_pconfig( local_user(), 'statusnet', 'baseapi' );
del_pconfig( local_user(), 'statusnet', 'post_taglinks');
} else {
if (isset($_POST['statusnet-preconf-apiurl'])) {
/***
@ -218,14 +219,16 @@ function statusnet_settings_post ($a,$post) {
// ok, now that we have the Access Token, save them in the user config
set_pconfig(local_user(),'statusnet', 'oauthtoken', $token['oauth_token']);
set_pconfig(local_user(),'statusnet', 'oauthsecret', $token['oauth_token_secret']);
set_pconfig(local_user(),'statusnet', 'post', 1);
set_pconfig(local_user(),'statusnet', 'post', 1);
set_pconfig(local_user(),'statusnet', 'post_taglinks', 1);
// reload the Addon Settings page, if we don't do it see Bug #42
goaway($a->get_baseurl().'/settings/connectors');
} else {
// if no PIN is supplied in the POST variables, the user has changed the setting
// to post a tweet for every new __public__ posting to the wall
// to post a dent for every new __public__ posting to the wall
set_pconfig(local_user(),'statusnet','post',intval($_POST['statusnet-enable']));
set_pconfig(local_user(),'statusnet','post_by_default',intval($_POST['statusnet-default']));
set_pconfig(local_user(),'statusnet','post_by_default',intval($_POST['statusnet-default']));
set_pconfig(local_user(),'statusnet','post_taglinks',intval($_POST['statusnet-sendtaglinks']));
info( t('StatusNet settings updated.') . EOL);
}}}}
}
@ -247,7 +250,9 @@ function statusnet_settings(&$a,&$s) {
$enabled = get_pconfig(local_user(), 'statusnet', 'post');
$checked = (($enabled) ? ' checked="checked" ' : '');
$defenabled = get_pconfig(local_user(),'statusnet','post_by_default');
$defchecked = (($defenabled) ? ' checked="checked" ' : '');
$defchecked = (($defenabled) ? ' checked="checked" ' : '');
$linksenabled = get_pconfig(local_user(),'statusnet','post_taglinks');
$linkschecked = (($linksenabled) ? ' checked="checked" ' : '');
$s .= '<div class="settings-block">';
$s .= '<h3>'. t('StatusNet Posting Settings').'</h3>';
@ -336,6 +341,9 @@ function statusnet_settings(&$a,&$s) {
$s .= '<div class="clear"></div>';
$s .= '<label id="statusnet-default-label" for="statusnet-default">'. t('Send public postings to StatusNet by default') .'</label>';
$s .= '<input id="statusnet-default" type="checkbox" name="statusnet-default" value="1" ' . $defchecked . '/>';
$s .= '<div class="clear"></div>';
$s .= '<label id="statusnet-sendtaglinks-label" for="statusnet-sendtaglinks">'.t('Send #tag links to StatusNet').'</label>';
$s .= '<input id="statusnet-sendtaglinks" type="checkbox" name="statusnet-sendtaglinks" value="1" '. $linkschecked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="statusnet-disconnect-wrapper">';
@ -425,7 +433,12 @@ function statusnet_post_hook(&$a,&$b) {
// we can later send to StatusNet. This way we can "gain" some
// information during shortening of potential links but do not
// shorten all the links in a 200000 character long essay.
$tmp = substr($b['body'], 0, 2*$max_char);
if (! $b['title']=='') {
$tmp = $b['title'] . ' : '. $b['body'];
$tmp = substr($tmp, 0, 2*$max_char);
} else {
$tmp = substr($b['body'], 0, 2*$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);
// preserve links to images, videos and audios
@ -435,11 +448,13 @@ function statusnet_post_hook(&$a,&$b) {
$tmp = preg_replace( '/\[\\/?youtube(\\s+.*?\]|\])/i', '', $tmp);
$tmp = preg_replace( '/\[\\/?vimeo(\\s+.*?\]|\])/i', '', $tmp);
$tmp = preg_replace( '/\[\\/?audio(\\s+.*?\]|\])/i', '', $tmp);
$linksenabled = get_pconfig($b['uid'],'statusnet','post_taglinks');
// if a #tag is linked, don't send the [url] over to SN
// this is commented out by default as it means backlinks
// to friendica, if you don't like this feel free to
// uncomment the following line
// $tmp = preg_replace( '/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $tmp);
// that is, don't send if the option is not set in the
// connector settings
if ($linksenabled=='0') {
$tmp = preg_replace( '/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $tmp);
}
// preserve links to webpages
$tmp = preg_replace( '/\[url\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\](\w+.*?)\[\/url\]/i', '$2 $1', $tmp);
$tmp = preg_replace( '/\[bookmark\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\](\w+.*?)\[\/bookmark\]/i', '$2 $1', $tmp);

Binary file not shown.

View File

@ -47,6 +47,9 @@ ___ Configuration ___
__ Global Configuration __
If you enabled an administrator account, please use the admin panel to cofigure
the Twitter relay.
To activate this addon add @twitter@ to the list of active addons in your
.htconfig.php file
$a->config['system']['addon'] = "twitter, ..."

View File

@ -12,7 +12,7 @@
}
#twitter-disconnect-label {
float: left;
width: 200px;
width: 250px;
margin-bottom: 25px;
}
@ -21,16 +21,25 @@
}
#twitter-enable-label {
float: left;
width: 200px;
width: 250px;
margin-bottom: 5px;
}
#twitter-default-label {
float: left;
width: 250px;
}
#twitter-sendtaglinks-label {
float: left;
width: 250px;
margin-bottom: 25px;
}
#twitter-checkbox {
float: left;
}
#twitter-pin-label {
float: left;
width: 200px;
width: 250px;
margin-bottom: 25px;
}

View File

@ -2,7 +2,7 @@
/**
* Name: Twitter Connector
* Description: Relay public postings to a connected Twitter account
* Version: 1.0.2
* Version: 1.0.3
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
*/
@ -93,6 +93,7 @@ function twitter_settings_post ($a,$post) {
del_pconfig( local_user(), 'twitter', 'oauthsecret' );
del_pconfig( local_user(), 'twitter', 'post' );
del_pconfig( local_user(), 'twitter', 'post_by_default' );
del_pconfig( local_user(), 'twitter', 'post_taglinks');
} else {
if (isset($_POST['twitter-pin'])) {
// if the user supplied us with a PIN from Twitter, let the magic of OAuth happen
@ -109,6 +110,7 @@ function twitter_settings_post ($a,$post) {
set_pconfig(local_user(),'twitter', 'oauthtoken', $token['oauth_token']);
set_pconfig(local_user(),'twitter', 'oauthsecret', $token['oauth_token_secret']);
set_pconfig(local_user(),'twitter', 'post', 1);
set_pconfig(local_user(),'twitter', 'post_taglinks', 1);
// reload the Addon Settings page, if we don't do it see Bug #42
goaway($a->get_baseurl().'/settings/connectors');
} else {
@ -116,6 +118,7 @@ function twitter_settings_post ($a,$post) {
// to post a tweet for every new __public__ posting to the wall
set_pconfig(local_user(),'twitter','post',intval($_POST['twitter-enable']));
set_pconfig(local_user(),'twitter','post_by_default',intval($_POST['twitter-default']));
set_pconfig(local_user(),'twitter','post_taglinks',intval($_POST['twitter-sendtaglinks']));
info( t('Twitter settings updated.') . EOL);
}}
}
@ -136,6 +139,8 @@ function twitter_settings(&$a,&$s) {
$checked = (($enabled) ? ' checked="checked" ' : '');
$defenabled = get_pconfig(local_user(),'twitter','post_by_default');
$defchecked = (($defenabled) ? ' checked="checked" ' : '');
$linksenabled = get_pconfig(local_user(),'twitter','post_taglinks');
$linkschecked = (($linksenabled) ? ' checked="checked" ' : '');
$s .= '<div class="settings-block">';
$s .= '<h3>'. t('Twitter Posting Settings') .'</h3>';
@ -192,6 +197,9 @@ function twitter_settings(&$a,&$s) {
$s .= '<div class="clear"></div>';
$s .= '<label id="twitter-default-label" for="twitter-default">'. t('Send public postings to Twitter by default') .'</label>';
$s .= '<input id="twitter-default" type="checkbox" name="twitter-default" value="1" ' . $defchecked . '/>';
$s .= '<div class="clear"></div>';
$s .= '<label id="twitter-sendtaglinks-label" for="twitter-sendtaglinks">'.t('Send #tag links to Twitter').'</label>';
$s .= '<input id="twitter-sendtaglinks" type="checkbox" name="twitter-sendtaglinks" value="1" '. $linkschecked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="twitter-disconnect-wrapper">';
@ -291,7 +299,12 @@ function twitter_post_hook(&$a,&$b) {
// we can later send to Twitter. This way we can "gain" some
// information during shortening of potential links but do not
// shorten all the links in a 200000 character long essay.
$tmp = substr($b['body'], 0, 2*$max_char);
if (! $b['title']=='') {
$tmp = $b['title'] . ' : '. $b['body'];
$tmp = substr($tmp, 0, 2*$max_char);
} else {
$tmp = substr($b['body'], 0, 2*$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);
// preserve links to images, videos and audios
@ -301,12 +314,13 @@ function twitter_post_hook(&$a,&$b) {
$tmp = preg_replace( '/\[\\/?youtube(\\s+.*?\]|\])/i', '', $tmp);
$tmp = preg_replace( '/\[\\/?vimeo(\\s+.*?\]|\])/i', '', $tmp);
$tmp = preg_replace( '/\[\\/?audio(\\s+.*?\]|\])/i', '', $tmp);
$linksenabled = get_pconfig($b['uid'],'twitter','post_taglinks');
// if a #tag is linked, don't send the [url] over to SN
// this is commented out by default as it means backlinks
// to friendica, if you don't like this feel free to
// uncomment the following line
// $tmp = preg_replace( '/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $tmp);
// preserve links to webpages
// that is, don't send if the option is not set in the
// connector settings
if ($linksenabled=='0') {
$tmp = preg_replace( '/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $tmp);
}
$tmp = preg_replace( '/\[url\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\](\w+.*?)\[\/url\]/i', '$2 $1', $tmp);
$tmp = preg_replace( '/\[bookmark\=(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)\](\w+.*?)\[\/bookmark\]/i', '$2 $1', $tmp);
// find all http or https links in the body of the entry and