]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Added configuration options to enable/disable SMS and Twitter integration.
authorJeffery To <jeffery.to@gmail.com>
Thu, 6 Aug 2009 17:18:17 +0000 (01:18 +0800)
committerJeffery To <jeffery.to@gmail.com>
Thu, 6 Aug 2009 17:18:17 +0000 (01:18 +0800)
This disables the IM, SMS and Twitter settings pages and queue handlers
depending on the config options.

README
actions/imsettings.php
actions/smssettings.php
actions/twittersettings.php
config.php.sample
lib/action.php
lib/common.php
lib/connectsettingsaction.php
scripts/getvaliddaemons.php

diff --git a/README b/README
index ef5a1393468fb7bd22ef1e5d1207a3b2e5e79c98..e4cae0e49785405242bfe0cb222c62b149d49965 100644 (file)
--- a/README
+++ b/README
@@ -1228,6 +1228,22 @@ enabled: Set to true to enable. Default false.
 server: a string with the hostname of the sphinx server.
 port: an integer with the port number of the sphinx server.
 
+sms
+---
+
+For SMS integration.
+
+enabled: Whether to enable SMS integration. Defaults to true. Queues
+         should also be enabled.
+
+twitter
+-------
+
+For Twitter integration
+
+enabled: Whether to enable Twitter integration. Defaults to true.
+         Queues should also be enabled.
+
 integration
 -----------
 
index e0f5ede3a7520c1069a9906c229c12416730603c..70a6f37d4f78e0fc4f207b15eb7617c3323fb2ad 100644 (file)
@@ -84,6 +84,12 @@ class ImsettingsAction extends ConnectSettingsAction
 
     function showContent()
     {
+        if (!common_config('xmpp', 'enabled')) {
+            $this->element('div', array('class' => 'error'),
+                           _('IM is not available.'));
+            return;
+        }
+
         $user = common_current_user();
         $this->elementStart('form', array('method' => 'post',
                                           'id' => 'form_settings_im',
index 922bab9a4e3bc2ccec5bd15ad9df102d19e376ff..33b54abf6a531de6c35f84bb2c1062ceace6af8b 100644 (file)
@@ -80,6 +80,12 @@ class SmssettingsAction extends ConnectSettingsAction
 
     function showContent()
     {
+        if (!common_config('sms', 'enabled')) {
+            $this->element('div', array('class' => 'error'),
+                           _('SMS is not available.'));
+            return;
+        }
+
         $user = common_current_user();
 
         $this->elementStart('form', array('method' => 'post',
index 2b742788eee55419112a718d271f6e4285960163..3343dba95a20d240a0a42f1ab14ae97e650e6223 100644 (file)
@@ -85,6 +85,12 @@ class TwittersettingsAction extends ConnectSettingsAction
 
     function showContent()
     {
+        if (!common_config('twitter', 'enabled')) {
+            $this->element('div', array('class' => 'error'),
+                           _('Twitter is not available.'));
+            return;
+        }
+
         $user = common_current_user();
 
         $profile = $user->getProfile();
index c27645ff874cb98863d1be99fd728344f62edddc..91be39f489ad1022cbde0aae8d9d27780a47144c 100644 (file)
@@ -164,6 +164,12 @@ $config['sphinx']['port'] = 3312;
 // $config['memcached']['server'] = 'localhost';
 // $config['memcached']['port'] = 11211;
 
+// Disable SMS
+// $config['sms']['enabled'] = false;
+
+// Disable Twitter integration
+// $config['twitter']['enabled'] = false;
+
 // Twitter integration source attribute. Note: default is Laconica
 // $config['integration']['source'] = 'Laconica';
 
index 1c6170693f46deaed714764aa70596c462e44b2b..326edf3a00122a8fa7cad6bb3b3f49e8b4217775 100644 (file)
@@ -402,6 +402,14 @@ class Action extends HTMLOutputter // lawsuit
     function showPrimaryNav()
     {
         $user = common_current_user();
+        $connect = '';
+        if (common_config('xmpp', 'enabled')) {
+            $connect = 'imsettings';
+        } else if (common_config('sms', 'enabled')) {
+            $connect = 'smssettings';
+        } else if (common_config('twitter', 'enabled')) {
+            $connect = 'twittersettings';
+        }
 
         $this->elementStart('dl', array('id' => 'site_nav_global_primary'));
         $this->element('dt', null, _('Primary site navigation'));
@@ -413,12 +421,9 @@ class Action extends HTMLOutputter // lawsuit
                                 _('Home'), _('Personal profile and friends timeline'), false, 'nav_home');
                 $this->menuItem(common_local_url('profilesettings'),
                                 _('Account'), _('Change your email, avatar, password, profile'), false, 'nav_account');
-                if (common_config('xmpp', 'enabled')) {
-                    $this->menuItem(common_local_url('imsettings'),
-                                    _('Connect'), _('Connect to IM, SMS, Twitter'), false, 'nav_connect');
-                } else {
-                    $this->menuItem(common_local_url('smssettings'),
-                                    _('Connect'), _('Connect to SMS, Twitter'), false, 'nav_connect');
+                if ($connect) {
+                    $this->menuItem(common_local_url($connect),
+                                    _('Connect'), _('Connect to services'), false, 'nav_connect');
                 }
                 if (common_config('invite', 'enabled')) {
                     $this->menuItem(common_local_url('invite'),
index b3d3018620a15d889f02a6183e72192241a03725..12a7ac4499a290dea552e4f7e542e6106563959d 100644 (file)
@@ -183,6 +183,10 @@ $config =
         array('piddir' => '/var/run',
               'user' => false,
               'group' => false),
+        'sms' =>
+        array('enabled' => false),
+        'twitter' =>
+        array('enabled' => false),
         'twitterbridge' =>
         array('enabled' => false),
         'integration' =>
index 30629680ecbb124cecba705c510a3e42b7c2501a..02c468a359b7f166ce012e85ef9db5d0b9f17959 100644 (file)
@@ -99,25 +99,27 @@ class ConnectSettingsNav extends Widget
     function show()
     {
         # action => array('prompt', 'title')
-        $menu =
-          array('imsettings' =>
-                array(_('IM'),
-                      _('Updates by instant messenger (IM)')),
-                'smssettings' =>
-                array(_('SMS'),
-                      _('Updates by SMS')),
-                'twittersettings' =>
-                array(_('Twitter'),
-                      _('Twitter integration options')));
+        $menu = array();
+        if (common_config('xmpp', 'enabled')) {
+            $menu['imsettings'] =
+              array(_('IM'),
+                    _('Updates by instant messenger (IM)'));
+        }
+        if (common_config('sms', 'enabled')) {
+            $menu['smssettings'] =
+              array(_('SMS'),
+                    _('Updates by SMS'));
+        }
+        if (common_config('twitter', 'enabled')) {
+            $menu['twittersettings'] =
+              array(_('Twitter'),
+                    _('Twitter integration options'));
+        }
 
         $action_name = $this->action->trimmed('action');
         $this->action->elementStart('ul', array('class' => 'nav'));
 
         foreach ($menu as $menuaction => $menudesc) {
-            if ($menuaction == 'imsettings' &&
-                !common_config('xmpp', 'enabled')) {
-                continue;
-            }
             $this->action->menuItem(common_local_url($menuaction),
                                    $menudesc[0],
                                    $menudesc[1],
index 1e4546dff1261704f3afc35fe864c473b1ce2ddb..8b127bd201be9516466c9541ef51b2ba8cb9428b 100755 (executable)
@@ -43,7 +43,11 @@ if(common_config('twitterbridge','enabled')) {
     echo "twitterstatusfetcher.php ";
 }
 echo "ombqueuehandler.php ";
-echo "twitterqueuehandler.php ";
+if (common_config('twitter', 'enabled')) {
+    echo "twitterqueuehandler.php ";
+}
 echo "facebookqueuehandler.php ";
 echo "pingqueuehandler.php ";
-echo "smsqueuehandler.php ";
+if (common_config('sms', 'enabled')) {
+    echo "smsqueuehandler.php ";
+}