friendica-addons-sekb/irc/irc.php

69 lines
1.7 KiB
PHP
Raw Normal View History

2012-03-02 23:12:34 +00:00
<?php
/**
* Name: IRC Chat Plugin
* Description: add an Internet Relay Chat chatroom
* Version: 1.0
* Author: tony baldwin <https://free-haven.org/profile/tony>
2012-03-02 23:12:34 +00:00
*/
/* enable in admin->plugins
* 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
*/
2012-03-02 23:12:34 +00:00
function irc_install() {
register_hook('app_menu', 'addon/irc/irc.php', 'irc_app_menu');
}
function irc_uninstall() {
unregister_hook('app_menu', 'addon/irc/irc.php', 'irc_app_menu');
}
function irc_app_menu($a,&$b) {
$b['app_menu'][] = '<div class="app-title"><a href="irc">' . t('IRC Chatroom') . '</a></div>';
2012-03-02 23:12:34 +00:00
}
function irc_module() {
return;
}
function irc_content(&$a) {
$baseurl = $a->get_baseurl() . '/addon/irc';
$o = '';
$chats = array('friendica','chat','chatback','hottub','ircbar','dateroom','teentalk');
$a->page['aside'] .= '<div class="widget"><h3>' . t('Popular Channels') . '</h3><ul>';
foreach($chats as $chat) {
$a->page['aside'] .= '<li><a href="' . $a->get_baseurl() . '/irc?channels=' . $chat . '" >' . '#' . $chat . '</a></li>';
}
$a->page['aside'] .= '</ul></div>';
2012-03-02 23:12:34 +00:00
$channels = ((x($_GET,'channels')) ? $_GET['channels'] : 'friendica');
2012-03-02 23:12:34 +00:00
/* 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
*/
2012-03-02 23:21:37 +00:00
$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. [en]</a></p>
<iframe src="http://webchat.freenode.net?channels=$channels" width="600" height="600"></iframe>
2012-03-02 23:21:37 +00:00
EOT;
return $o;
2012-03-02 23:12:34 +00:00
}