X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=irc%2Firc.php;h=6aeacbe65ce4c90d59ef3f7b262eb09607461b2e;hb=c48776586093e178c9ea94183e44b978456bebf1;hp=1ce4ee14deb65fbde30a51009b8da6df49165ef2;hpb=7d411b007023be591895ae1564952f08fb273ad4;p=friendica-addons.git diff --git a/irc/irc.php b/irc/irc.php index 1ce4ee14..6aeacbe6 100644 --- a/irc/irc.php +++ b/irc/irc.php @@ -1,82 +1,74 @@ +* Author: Tobias Diekershoff */ - -/* 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 - * admin can set popular chans, auto connect chans in settings->plugin settings - */ +use Friendica\Core\Addon; +use Friendica\Core\Config; +use Friendica\Core\L10n; +use Friendica\Core\PConfig; function irc_install() { - 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'); + Addon::registerHook('app_menu', 'addon/irc/irc.php', 'irc_app_menu'); + Addon::registerHook('addon_settings', 'addon/irc/irc.php', 'irc_addon_settings'); + Addon::registerHook('addon_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('plugin_settings', 'addon/irc/irc.php', 'irc_addon_settings'); + Addon::unregisterHook('app_menu', 'addon/irc/irc.php', 'irc_app_menu'); + Addon::unregisterHook('addon_settings', 'addon/irc/irc.php', 'irc_addon_settings'); } function irc_addon_settings(&$a,&$s) { - - - if(! is_site_admin()) + if(! local_user()) return; /* Add our stylesheet to the page so we can make our settings look nice */ - $a->page['htmlhead'] .= '' . "\r\n"; +// $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 .= '
'; + $sitechats = PConfig::get( local_user(), 'irc','sitechats'); /* popular channels */ + $autochans = PConfig::get( local_user(), 'irc','autochans'); /* auto connect chans */ - $s .= '
'; - $s .= ''; - $s .= ''; - $s .= '
'; + $t = get_markup_template( "settings.tpl", "addon/irc/" ); + $s .= replace_macros($t, [ + '$header' => L10n::t('IRC Settings'), + '$info' => L10n::t('Here you can change the system wide settings for the channels to automatically join and access via the side bar. Note the changes you do here, only effect the channel selection if you are logged in.'), + '$submit' => L10n::t('Save Settings'), + '$autochans' => [ 'autochans', L10n::t('Channel(s) to auto connect (comma separated)'), $autochans, L10n::t('List of channels that shall automatically connected to when the app is launched.')], + '$sitechats' => [ 'sitechats', L10n::t('Popular Channels (comma separated)'), $sitechats, L10n::t('List of popular channels, will be displayed at the side and hotlinked for easy joining.') ] + ]); - $s .= '
'; return; } function irc_addon_settings_post(&$a,&$b) { - if(! is_site_admin()) + if(! local_user()) 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); + PConfig::set( local_user(), 'irc','autochans',trim($_POST['autochans'])); + PConfig::set( local_user(), 'irc','sitechats',trim($_POST['sitechats'])); + /* upid pop-up thing */ + info(L10n::t('IRC settings saved.') . EOL); } } function irc_app_menu($a,&$b) { -$b['app_menu'][] = '
' . t('IRC Chatroom') . '
'; + $b['app_menu'][] = '
' . L10n::t('IRC Chatroom') . '
'; } function irc_module() { -return; + return; } @@ -86,21 +78,33 @@ function irc_content(&$a) { $o = ''; /* set the list of popular channels */ - $sitechats = get_config('irc','sitechats'); + if (local_user()) { + $sitechats = PConfig::get( local_user(), 'irc', 'sitechats'); + if (!$sitechats) + $sitechats = Config::get('irc', 'sitechats'); + } else { + $sitechats = Config::get('irc','sitechats'); + } if($sitechats) $chats = explode(',',$sitechats); else - $chats = array('friendica','chat','chatback','hottub','ircbar','dateroom','debian'); + $chats = ['friendica','chat','chatback','hottub','ircbar','dateroom','debian']; - $a->page['aside'] .= '

' . t('Popular Channels') . '