Merge pull request #278 from annando/1507-snautofollow-deprecated
authorTobias Diekershoff <tobias.diekershoff@gmx.net>
Sun, 12 Jul 2015 20:02:50 +0000 (22:02 +0200)
committerTobias Diekershoff <tobias.diekershoff@gmx.net>
Sun, 12 Jul 2015 20:02:50 +0000 (22:02 +0200)
snautofollow is deprecated since it moved into the core

irc/README.md [new file with mode: 0644]
irc/irc.php
irc/lang/C/messages.po
irc/templates/admin.tpl [new file with mode: 0644]
irc/templates/settings.tpl [new file with mode: 0644]
planets/planets.php

diff --git a/irc/README.md b/irc/README.md
new file mode 100644 (file)
index 0000000..9d6181d
--- /dev/null
@@ -0,0 +1,16 @@
+IRC App
+=======
+
+This addon will add an app to your page which will allow your users to access
+the [IRC](https://en.wikipedia.org/wiki/IRC) at [freenode.net](https://freenode.net) via a webinterface from your node. The chat interface
+will be loaded in an iframe from webchat.freenode.net.
+
+You can specify two sets of channel lists.
+
+1. a list of channels the interface shall automatically connect to
+2. a list of popular channels which will be displayed aside the chat interface.
+   the channels in this list will be linked so your users can easily join them.
+
+If you don't specify a list of popular channels, the following will be shown: friendica, chat, chatback, hottub, ircbar, dateroom, debian
+
+Users can set their own list of channels in the settings.
index ef9c3fd..b768749 100644 (file)
@@ -1,18 +1,12 @@
 <?php
 /**
 * Name: IRC Chat Plugin
-* Description: add an Internet Relay Chat chatroom
-* Version: 1.0
+* Description: add an Internet Relay Chat chatroom on freenode
+* Version: 1.1
 * Author: tony baldwin <https://free-haven.org/profile/tony>
+* Author: Tobias Diekershoff <tobias@f.diekershoff.de>
 */
 
-/* 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
- */
-
 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');
@@ -27,56 +21,50 @@ function irc_uninstall() {
 
 
 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'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->get_baseurl() . '/addon/irc/irc.css' . '" media="all" />' . "\r\n";
+//     $a->page['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->get_baseurl() . '/addon/irc/irc.css' . '" media="all" />' . "\r\n";
 
     /* setting popular channels, auto connect channels */
-       $sitechats = get_config('irc','sitechats'); /* popular channels */
-       $autochans = get_config('irc','autochans');  /* auto connect chans */
-
-       $s .= '<div class="settings-block">';
-       $s .= '<h3>' . t('IRC Settings') . '</h3>';
-       $s .= '<div id="irc-chans">';
-       $s .= '<label id="irc-auto-label" for="autochans">' . t('Channel(s) to auto connect (comma separated)') . '</label>';
-       $s .= '<input id="irc-autochans" type="text" name="autochans" value="' . $autochans .'" />';
-       $s .= '</div><div class="clear"></div>';
+       $sitechats = get_pconfig( local_user(), 'irc','sitechats'); /* popular channels */
+       $autochans = get_pconfig( local_user(), 'irc','autochans');  /* auto connect chans */
 
-       $s .= '<div id="irc-popchans">';
-       $s .= '<label id="irc-pop-label" for="sitechats">' . t('Popular Channels (comma separated)') . '</label>';
-       $s .= '<input id="irc-sitechats" type="text" name="sitechats" value="' . $sitechats.'" />';
-       $s .= '</div><div class="clear"></div>';
+       $t = get_markup_template( "settings.tpl", "addon/irc/" );
+       $s = replace_macros($t, array(
+               '$header' => t('IRC Settings'),
+               '$info' => 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' => t('Save Settings'),
+               '$autochans' => array( 'autochans', t('Channel(s) to auto connect (comma separated)'), $autochans, t('List of channels that shall automatically connected to when the app is launched.')),
+               '$sitechats' => array( 'sitechats', t('Popular Channels (comma separated)'), $sitechats, t('List of popular channels, will be displayed at the side and hotlinked for easy joining.') )
+       ));
 
-       $s .= '<div class="settings-submit-wrapper" ><input type="submit" id="irc-submit" name="irc-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
 
        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 */
+               set_pconfig( local_user(), 'irc','autochans',trim($_POST['autochans']));
+               set_pconfig( local_user(), 'irc','sitechats',trim($_POST['sitechats']));
+               /* upid pop-up thing */
                info( t('IRC settings saved.') . EOL);
        }
 }
 
 function irc_app_menu($a,&$b) {
-$b['app_menu'][] = '<div class="app-title"><a href="irc">' . t('IRC Chatroom') . '</a></div>';
+       $b['app_menu'][] = '<div class="app-title"><a href="irc">' . t('IRC Chatroom') . '</a></div>';
 }
 
 
 function irc_module() {
-return;
+       return;
 }
 
 
@@ -86,7 +74,13 @@ function irc_content(&$a) {
        $o = '';
 
        /* set the list of popular channels */
-       $sitechats = get_config('irc','sitechats');
+       if (local_user()) {
+           $sitechats = get_pconfig( local_user(), 'irc', 'sitechats');
+           if (!$sitechats)
+               $sitechats = get_config('irc', 'sitechats');
+       } else {
+           $sitechats = get_config('irc','sitechats');
+       }
        if($sitechats)
                $chats = explode(',',$sitechats);
        else
@@ -100,7 +94,13 @@ function irc_content(&$a) {
        $a->page['aside'] .= '</ul></div>';
 
         /* setting the channel(s) to auto connect */
-       $autochans = get_config('irc','autochans');
+       if (local_user()) {
+           $autochans = get_pconfig(local_user(), 'irc', 'autochans');
+           if (!$autochans)
+               $autochans = get_config('irc','autochans');
+       } else {
+           $autochans = get_config('irc','autochans');
+       }
        if($autochans)
                $channels = $autochans;
        else
@@ -110,11 +110,31 @@ function irc_content(&$a) {
   $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="//webchat.freenode.net?channels=$channels" width="600" height="600"></iframe>
+<iframe src="//webchat.freenode.net?channels=$channels" style="width:100%; max-width:900px; height: 600px;"></iframe>
 EOT;
 
 return $o;
     
 }
 
+function irc_plugin_admin_post (&$a) {
+       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_plugin_admin (&$a, &$o) {
+       $sitechats = get_config('irc','sitechats'); /* popular channels */
+       $autochans = get_config('irc','autochans');  /* auto connect chans */
+       $t = get_markup_template( "admin.tpl", "addon/irc/" );
+       $o = replace_macros($t, array(
+               '$submit' => t('Save Settings'),
+               '$autochans' => array( 'autochans', t('Channel(s) to auto connect (comma separated)'), $autochans, t('List of channels that shall automatically connected to when the app is launched.')),
+               '$sitechats' => array( 'sitechats', t('Popular Channels (comma separated)'), $sitechats, t('List of popular channels, will be displayed at the side and hotlinked for easy joining.') )
+       ));
+}
index f21d3eb..86c203a 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-27 05:01-0500\n"
+"POT-Creation-Date: 2015-07-08 13:17+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,30 +17,49 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: irc.php:44
+#: irc.php:37
 msgid "IRC Settings"
 msgstr ""
 
-#: irc.php:46
+#: irc.php:38
+msgid ""
+"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."
+msgstr ""
+
+#: irc.php:39 irc.php:136
+msgid "Save Settings"
+msgstr ""
+
+#: irc.php:40 irc.php:137
 msgid "Channel(s) to auto connect (comma separated)"
 msgstr ""
 
-#: irc.php:51
+#: irc.php:40 irc.php:137
+msgid ""
+"List of channels that shall automatically connected to when the app is "
+"launched."
+msgstr ""
+
+#: irc.php:41 irc.php:138
 msgid "Popular Channels (comma separated)"
 msgstr ""
 
-#: irc.php:55
-msgid "Submit"
+#: irc.php:41 irc.php:138
+msgid ""
+"List of popular channels, will be displayed at the side and hotlinked for "
+"easy joining."
 msgstr ""
 
-#: irc.php:69
+#: irc.php:57 irc.php:128
 msgid "IRC settings saved."
 msgstr ""
 
-#: irc.php:74
+#: irc.php:62
 msgid "IRC Chatroom"
 msgstr ""
 
-#: irc.php:96
+#: irc.php:90
 msgid "Popular Channels"
 msgstr ""
diff --git a/irc/templates/admin.tpl b/irc/templates/admin.tpl
new file mode 100644 (file)
index 0000000..7a50a6f
--- /dev/null
@@ -0,0 +1,4 @@
+{{include file="field_input.tpl" field=$autochans}}
+{{include file="field_input.tpl" field=$sitechats}}
+<div class="submit"><input type="submit" name="irc-submit" value="{{$submit}}" /></div>
+
diff --git a/irc/templates/settings.tpl b/irc/templates/settings.tpl
new file mode 100644 (file)
index 0000000..e463a59
--- /dev/null
@@ -0,0 +1,15 @@
+<span id="settings_irc_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose('settings_irc_expanded'); openClose('settings_irc_inflated');">
+       <h3>{{$header}}</h3>
+</span>
+<div id="settings_irc_expanded" class="settings-block" style="display: none;">
+       <span class="fakelink" onclick="openClose('settings_irc_expanded'); openClose('settings_irc_inflated');">
+               <h3>{{$header}}</h3>
+       </span>
+       <p>{{$info}}</p>
+       {{include file="field_input.tpl" field=$autochans}}
+       {{include file="field_input.tpl" field=$sitechats}}
+
+       <div class="settings-submit-wrapper" >
+               <input type="submit" id="irc-submit" name="irc-submit" class="settings-submit" value="{{$submit}}" />
+       </div>
+</div>
index 72698cb..d40e6c6 100755 (executable)
@@ -92,7 +92,7 @@ function planets_post_hook($a, &$item) {
         *
         */
 
-       $planets = array('Alderaan','Tatooine','Dagoba','Polis Massa','Coruscant','Hoth','Endor','Kamino','Rattatak','Mustafar','Iego','Geonosis','Felucia','Dantooine','Ansion','Artaru','Bespin','Boz Pity','Cato Neimoidia','Christophsis','Kashyyk','Kessel','Malastare','Mygeeto','Nar Shaddaa','Ord Mantell','Saleucami','Subterrel','Death Star','Teth','Tund','Utapau','Yavin');
+       $planets = array('Alderaan','Tatooine','Dagobah','Polis Massa','Coruscant','Hoth','Endor','Kamino','Rattatak','Mustafar','Iego','Geonosis','Felucia','Dantooine','Ansion','Artaru','Bespin','Boz Pity','Cato Neimoidia','Christophsis','Kashyyyk','Kessel','Malastare','Mygeeto','Nar Shaddaa','Ord Mantell','Saleucami','Subterrel','Death Star','Teth','Tund','Utapau','Yavin');
 
        $planet = array_rand($planets,1);
        $item['location'] = $planets[$planet];
@@ -146,12 +146,20 @@ function planets_settings(&$a,&$s) {
 
        /* Add some HTML to the existing form */
 
-       $s .= '<div class="settings-block">';
+    $s .= '<span id="settings_planets_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_planets_expanded\'); openClose(\'settings_planets_inflated\');">';
+       $s .= '<h3>' . t('Planets') . '</h3>';
+       $s .= '</span>';
+       $s .= '<div id="settings_planets_expanded" class="settings-block" style="display: none;">';
+       $s .= '<span class="fakelink" onclick="openClose(\'settings_planets_expanded\'); openClose(\'settings_planets_inflated\');">';
+       $s .= '<h3>' . t('Planets') . '</h3>';
+       $s .= '</span>';
+
+    $s .= '<div class="settings-block">';
        $s .= '<h3>' . t('Planets Settings') . '</h3>';
        $s .= '<div id="planets-enable-wrapper">';
        $s .= '<label id="planets-enable-label" for="planets-checkbox">' . t('Enable Planets Plugin') . '</label>';
        $s .= '<input id="planets-checkbox" type="checkbox" name="planets" value="1" ' . $checked . '/>';
-       $s .= '</div><div class="clear"></div>';
+       $s .= '</div><div class="clear"></div></div>';
 
        /* provide a submit button */