X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=irc%2Firc.php;h=bd7444a9eb9bd414488df7f0ff8ad664e8030a1f;hb=94f1e2307190420211e5a1ba1f54f1b46d0b8962;hp=1e05195099fa03172726bff3f6b9ba7ebe30aa38;hpb=403022498d0bdb22bb4201f1cc2fe63033ac2d28;p=friendica-addons.git diff --git a/irc/irc.php b/irc/irc.php index 1e051950..bd7444a9 100644 --- a/irc/irc.php +++ b/irc/irc.php @@ -10,19 +10,68 @@ * you will then have "irc chatroom" listed at yoursite/apps * and the app will run at yoursite/irc * documentation at http://tonybaldwin.me/hax/doku.php?id=friendica:irc + * admin can set popular chans, auto connect chans in settings->plugin settings */ function irc_install() { -register_hook('app_menu', 'addon/irc/irc.php', 'irc_app_menu'); + register_hook('app_menu', 'addon/irc/irc.php', 'irc_app_menu'); + register_hook('plugin_settings', 'addon/irc/irc.php', 'irc_addon_settings'); + register_hook('plugin_settings_post', 'addon/irc/irc.php', 'irc_addon_settings_post'); } function irc_uninstall() { -unregister_hook('app_menu', 'addon/irc/irc.php', 'irc_app_menu'); + unregister_hook('app_menu', 'addon/irc/irc.php', 'irc_app_menu'); + unregister_hook('plugin_settings', 'addon/irc/irc.php', 'irc_addon_settings'); } + +function irc_addon_settings(&$a,&$s) { + + + if(! is_site_admin()) + return; + + /* Add our stylesheet to the page so we can make our settings look nice */ + + $a->page['htmlhead'] .= '' . "\r\n"; + + /* setting popular channels, auto connect channels */ + $sitechats = get_config('irc','sitechats'); /* popular channels */ + $autochans = get_config('irc','autochans'); /* auto connect chans */ + + $s .= '
'; + $s .= '

' . t('IRC Settings') . '

'; + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + $s .= '
'; + + return; + +} + +function irc_addon_settings_post(&$a,&$b) { + if(! is_site_admin()) + return; + + if($_POST['irc-submit']) { + set_config('irc','autochans',trim($_POST['autochans'])); + set_config('irc','sitechats',trim($_POST['sitechats'])); + /* stupid pop-up thing */ + info( t('IRC settings saved.') . EOL); + } +} + function irc_app_menu($a,&$b) { -$b['app_menu'][] = '
' . t('irc Chatroom') . '
'; +$b['app_menu'][] = '
' . t('IRC Chatroom') . '
'; } @@ -33,18 +82,35 @@ return; function irc_content(&$a) { -$baseurl = $a->get_baseurl() . '/addon/irc'; -$o = ''; + $baseurl = $a->get_baseurl() . '/addon/irc'; + $o = ''; + /* set the list of popular channels */ + $sitechats = get_config('irc','sitechats'); + if($sitechats) + $chats = explode(',',$sitechats); + else + $chats = array('friendica','chat','chatback','hottub','ircbar','dateroom','debian'); -/* add the chatroom frame and some html - * by altering the "channels=friendica" part of the URL, you can add/remove channels. - * At free-haven.org, I have "?channels=friendica,free-haven", for instance, to open #friendica and #free-haven - */ + + $a->page['aside'] .= '

' . t('Popular Channels') . '

'; + + /* setting the channel(s) to auto connect */ + $autochans = get_config('irc','autochans'); + if($autochans) + $channels = $autochans; + else + $channels = ((x($_GET,'channels')) ? $_GET['channels'] : 'friendica'); + +/* add the chatroom frame and some html */ $o .= <<< EOT

IRC chat

-

a beginner's guide to using IRC.

- +

A beginner's guide to using IRC. [en]

+ EOT; return $o;