From 39edf6a50038c50dcd66f5e9512b596e49c7ed9b Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 31 Mar 2012 08:04:45 +0200 Subject: [PATCH 1/9] SN: if there is a title, include in into the outgoing dent --- statusnet/statusnet.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 8f2fbf819..9830c881b 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -425,7 +425,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 From c388a7f6c9cd7628ca844a9ad670f23bb3bb3ab9 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 31 Mar 2012 08:06:07 +0200 Subject: [PATCH 2/9] Twitter: if there is a title include it into the outgoing tweet --- twitter/twitter.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/twitter/twitter.php b/twitter/twitter.php index 4f4d72808..acd60fb2a 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -291,7 +291,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 From b6ab56fd7fe37194423738fc82c3050d2aed00f4 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 31 Mar 2012 09:59:27 +0200 Subject: [PATCH 3/9] SN: added option to not send #tag links to the SN account --- statusnet/statusnet.css | 7 +++++-- statusnet/statusnet.php | 28 +++++++++++++++++++--------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/statusnet/statusnet.css b/statusnet/statusnet.css index 6c1347fc7..a5594cb70 100755 --- a/statusnet/statusnet.css +++ b/statusnet/statusnet.css @@ -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; } diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 9830c881b..897c54152 100755 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -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 */ @@ -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 .= '
'; $s .= '

'. t('StatusNet Posting Settings').'

'; @@ -336,6 +341,9 @@ function statusnet_settings(&$a,&$s) { $s .= '
'; $s .= ''; $s .= ''; + $s .= '
'; + $s .= ''; + $s .= ''; $s .= '
'; $s .= '
'; @@ -440,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); From a2ff679d2d6d6f6f54774fc3016cdb1216cefbc9 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 31 Mar 2012 10:19:36 +0200 Subject: [PATCH 4/9] Twitter: add option to send #tag links to connected account --- twitter/twitter.css | 15 ++++++++++++--- twitter/twitter.php | 21 +++++++++++++++------ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/twitter/twitter.css b/twitter/twitter.css index 899cfd173..75747979e 100755 --- a/twitter/twitter.css +++ b/twitter/twitter.css @@ -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; } diff --git a/twitter/twitter.php b/twitter/twitter.php index acd60fb2a..006c16152 100755 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -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 */ @@ -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 .= '
'; $s .= '

'. t('Twitter Posting Settings') .'

'; @@ -192,6 +197,9 @@ function twitter_settings(&$a,&$s) { $s .= '
'; $s .= ''; $s .= ''; + $s .= '
'; + $s .= ''; + $s .= ''; $s .= '
'; $s .= '
'; @@ -306,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 From 79fb8a1c454759a7d86e23f78b4df1a8babe2313 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 31 Mar 2012 10:24:24 +0200 Subject: [PATCH 5/9] SN/Twitter: added hint to the admin panel in the README file --- statusnet/README | 3 +++ twitter/README | 3 +++ 2 files changed, 6 insertions(+) diff --git a/statusnet/README b/statusnet/README index 48f620aba..ce1e1179b 100755 --- a/statusnet/README +++ b/statusnet/README @@ -42,6 +42,9 @@ ___ Configuration ___ __ Global Configuration __ +If you enabled an administrator account, please use the admin panel to cofigure +the StatusNet reley. + To activate this addon add statusnet to the list of active addons in your .htconfig.php file $a->config['system']['addon'] = "statusnet, ...". diff --git a/twitter/README b/twitter/README index 99edf0d30..9d52a4746 100755 --- a/twitter/README +++ b/twitter/README @@ -47,6 +47,9 @@ ___ Configuration ___ __ Global Configuration __ +If you enabled an administrator account, please use the admin panel to cofigure +the Twitter reley. + To activate this addon add @twitter@ to the list of active addons in your .htconfig.php file $a->config['system']['addon'] = "twitter, ..." From 745f5787220eb1e7a2b3edd921537234afdd4260 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sat, 31 Mar 2012 10:28:09 +0200 Subject: [PATCH 6/9] fixed a typo --- statusnet/README | 2 +- twitter/README | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/statusnet/README b/statusnet/README index ce1e1179b..32c11c7e9 100755 --- a/statusnet/README +++ b/statusnet/README @@ -43,7 +43,7 @@ ___ Configuration ___ __ Global Configuration __ If you enabled an administrator account, please use the admin panel to cofigure -the StatusNet reley. +the StatusNet relay. To activate this addon add statusnet to the list of active addons in your .htconfig.php file diff --git a/twitter/README b/twitter/README index 9d52a4746..a5511fec1 100755 --- a/twitter/README +++ b/twitter/README @@ -48,7 +48,7 @@ ___ Configuration ___ __ Global Configuration __ If you enabled an administrator account, please use the admin panel to cofigure -the Twitter reley. +the Twitter relay. To activate this addon add @twitter@ to the list of active addons in your .htconfig.php file From ded03edca5a5e3f2dfa6d1df148225b6774d07b7 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 31 Mar 2012 18:11:33 -0700 Subject: [PATCH 7/9] remove frown - no longer needed --- frown.tgz | Bin 1183 -> 0 bytes frown/frown.css | 14 -------- frown/frown.php | 86 ------------------------------------------------ 3 files changed, 100 deletions(-) delete mode 100644 frown.tgz delete mode 100755 frown/frown.css delete mode 100755 frown/frown.php diff --git a/frown.tgz b/frown.tgz deleted file mode 100644 index 6a2343f00b57938b22efee862f698db86bf9e125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1183 zcmV;Q1Yr9giwFRMDrZjs1MOFBZ`(Ey_E-B?+%%(-1IO}9YzJ=aqFDFxp;-&0*gmv{ zK}(cGSP})2auTfh?>mZ;U*ZKphb09%J+On2JRa|!=XjC>!LL)d@ucV@rqgj_I6j*W zhi8rccru)v4T|{^jlp0#8cc@c{%F$Z4~B!`umR(z4a*>xiU@#4LcEZP4ND)e%fj(w zaDION95Fp3fu=lWl~Le*RD$w>=N z;CGVH8T_J)K@ZkB6c_mn=oG;@IiH zU#(VC(2z+*#WLc2?bunIhb&!6suW8@X?MXUzR%0z-j%psFz&XdotKY!TV`CUuW)JX z(Qm66^Dv~svC817Z<4Wa@$NXqJUvV@PygFAAM^L`6WwJhXu>!5^DJvj>-!U?w<6wJ z8zi723Y9m|-k_qSr;Xdil*dy=keR}|y?p=f>H`oV$ZcWsCxvSk$B+;#H<=3@QhS57 z$`ugUkeK<9ODceP9?w&y_mI>F7J%gXaNxPnX9O(F1u5hxLxO+{Jd|N*SmP!pQ=IpN zJ0QeqlWq~X7O}|!=Ld*6-kGJ20+s#p1#s%dF`0A?r>8PsB@D^zbXrZUN0o~d6+_3% z%*5vGJL%f;7IjSQuATB_c^U04OBE(udj4oU+n+l{DY7)+4k*ViuK14iJoAa7e$Vbe z4}O04wv_BpF(ata>wQr)aJAzo=|OSveZS!Hz`Z^e6fbsWB&0hIA7s&afegNAOLGa1 z2;3*A)pU2~N_87k8BvsU??A2cH3g5PrbG(MD!Lf20i?{MMMTXuIbG;IAMHpbaYTu4 ze}>*1?2DMCYY;S^Tf0*%0Ck(uxuxihay=<6hy)GhmW@nmS0SpmB9i7p-{>CL?(xOK zZQ9(nAfY}Za|_wFz+LD`>y!ADT4k2M>a;K?FBgKQ3bRGofCqc!i`6bz(Wp%}G}Qwi z<`8~W9qC@t_9E)7i_MNxdFsF`u%TR;Tjf6%&dtC!9k0|w@`S=~A1>ckQqUW0JXO7v z@kzt2&oj(jS5n>6@0aAZJNIeSFgW3^vWBYX=Uj? zmg8ukxyItE#L+c%;NHcw7yFEQF(sI - * - * - */ - - -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'] .= '' . "\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 .= '
'; - $s .= '

' . t('Frown Settings') . '

'; - $s .= '
'; - $s .= ''; - $s .= ''; - $s .= '
'; - - /* provide a submit button */ - - $s .= '
'; - -} From 84c243c64044fc004170520780c251aa78560178 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 31 Mar 2012 18:12:28 -0700 Subject: [PATCH 8/9] package update --- statusnet.tgz | Bin 15809 -> 16012 bytes twitter.tgz | Bin 9936 -> 10134 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/statusnet.tgz b/statusnet.tgz index 1984cdbafe7128fd844cf41f6125616525afb20d..4e5bf8ceced0e059652236df9afe743b57828f4c 100755 GIT binary patch literal 16012 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 G$N&J&AW9Jc literal 15809 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 Lqwii(0LTCUB~I}E diff --git a/twitter.tgz b/twitter.tgz index 18416d1f638db3eeebfe9077aa1b999d01bcfad8..68a412aa26235ca2420739715941c22bf51a383c 100755 GIT binary patch literal 10134 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 Date: Sat, 31 Mar 2012 18:39:35 -0700 Subject: [PATCH 9/9] pass IRC channel through url, allows simpler default choice. --- irc.tgz | Bin 881 -> 920 bytes irc/irc.php | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/irc.tgz b/irc.tgz index e10b0769e74e5dc9864e683e79dd7f0111abc479..c6ba1bffea99337a2a278039f796c4fdc599649b 100644 GIT binary patch literal 920 zcmV;J184jniwFSIv3E}Z1MO68Z`(Ey_GkTygKAW=;YhOMm%x=36kV|eD4HS2x(`8M z&=M^Xp-F+Fk_JQndyn*6vaX+sbil?3uwkC><>B3PWGat4FN_2+n@u{S$#^yzjXTL? zI+~7$*1kh$IGmkMW~a$4LHlqx8ILZKH_-=xj({GIh_ycl_#dG98|so&5|> zKM@S)kDsWn>KChF20WdPzc>F89-quV!TFyir_&B3FUIHz{^#>g&vEiz-0ypR_((Q% z4i{JN;9W&D{Lb5w3AF!0n_RJ4Gb!dkiUNp$3!$kJRKpeJt-IuYenfvMeeDHq$=ZD$u;9NHqM#Xk3FOZRFD;? zfMKNAFmaOAmR;jPA0A~34~%or6%}9-fsdL#@bQ7OMpNXijW06OG$wUzgNZ0i9N>AI zM783XBW5ywh0NOx6`Ghf7ze{1$s3lt8$}x$SLAbC$h+1o)Hy2_YsIK2SWf2KJb0UR zD{`9zEla$DCY*;o_{&qYG(6R^lJYJLkkJw=w!r`b?79^3lVvqV6Mt~(z45;MEq5!P zW^cuh=KrR^{?D*W2Cus-Q>DAQIVQfnxrGG;X~FIx=cH*CKK^&2nda2bQUaBt>xG$> zp9K(s4oyufCNsC7hqfS%NtVW#A`9#lpHtY#qUChgKHVzu4?ej>u?ii&?h@mN97#i4 z#gSW=oMa`{%bg{(72`uUuwqx5E8q{Wi+U1*@&*lI_&Mw@e|>*F2=>;X*MoDg#+#$@ z7UmEfL}0s!YBoz`M7LKctQGE_)nX&@N2NF1h;H==gyY1RD6PN0&wJFB4>eI53-lokwyd;i#D@nZj8|(nK-bnM` ue(@a~92^`R92^`R92^`R92^`R92^`R92^`R92^|}i}(sKil!IqJaTLM>BP;>(pU}%bd;4ah;Ri3o}N}&gQ+ze0DaO%zESb zVzQVe?tD)#NzSIpd^|~#X>Xh)^Xa4q^OqK8=~_cIK(D5G$@MLl&)7BPe36`=pZ^R^ zKM{`o$4}f;&5Px*4PGo}&-H&Yn@_*#{}c~m1R>7!K~D&Rw}zo^V{K8HVT3k~bEdMeet^%rAi9%J z3^9_mD^%XqOd4v-U=6H#6mM1TZxq*zRP;|$sGH6%)CDhATg{m)cutqQICz_FCvz7B zPu6$^LxmWez+Zu8rPZm|l~Ol@2o4wSnEjq!oC?zyY35Libcg3d?YE^WC?aOC6Eq`E>D;!p72Cw_n+M!0;vQ7)s z)~Bag$;^6xGH@Bmp&FR6uk01@hZ{pX{dQU&MhmtYm&OfItMErneBIg$a*tl;EJl&QNT<$0S;``mcsw4D$K&yMJRXn7get_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

IRC chat

a beginner's guide to using IRC.

- + EOT; return $o;