]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
remove inboxes option
authorEvan Prodromou <evan@status.net>
Tue, 13 Oct 2009 21:38:27 +0000 (17:38 -0400)
committerEvan Prodromou <evan@status.net>
Tue, 13 Oct 2009 21:38:27 +0000 (17:38 -0400)
14 files changed:
README
actions/apigroupcreate.php
actions/editgroup.php
actions/groupbyid.php
actions/groupdesignsettings.php
actions/grouplogo.php
actions/grouprss.php
actions/joingroup.php
actions/leavegroup.php
actions/newgroup.php
actions/showgroup.php
classes/Notice.php
classes/User.php
lib/default.php

diff --git a/README b/README
index 486656a3bcf178b65f366ca6c34ce70f3f51510f..037027d43132a0eb9a3c02f43b02572afa1a881e 100644 (file)
--- a/README
+++ b/README
@@ -839,40 +839,8 @@ to update it.
 Notice inboxes
 --------------
 
-Before version 0.6.2, the page showing all notices from people the
-user is subscribed to ("so-and-so with friends") was calculated at run
-time. Starting with 0.6.2, we have a new data structure for holding a
-user's "notice inbox". (Note: distinct from the "message inbox", which
-is the "inbox" tab in the UI. The notice inbox appears under the
-"Personal" tab.)
-
-Notices are added to the inbox when they're created. This speeds up
-the query considerably, and also allows us the opportunity, in the
-future, to add different kind of notices to an inbox -- like @-replies
-or subscriptions to search terms or hashtags.
-
-Notice inboxes are enabled by default for new installations. If you
-are upgrading an existing site, this means that your users will see
-empty "Personal" pages. The following steps will help you fix the
-problem.
-
-0. $config['inboxes']['enabled'] can be set to one of three values. If
-   you set it to 'false', the site will work as before. Support for this
-   will probably be dropped in future versions.
-1. Setting the flag to 'transitional' means that you're in transition.
-   In this mode, the code will run the "new query" or the "old query"
-   based on whether the user's inbox has been updated.
-2. After setting the flag to "transitional", you can run the
-   fixup_inboxes.php script to create the inboxes. You may want to set
-   the memory limit high. You can re-run it without ill effect.
-3. When fixup_inboxes is finished, you can set the enabled flag to
-   'true'.
-
-NOTE: As of version 0.8.1 notice inboxes are automatically trimmed back
-      to ~1000 notices every once in a while.
-
-NOTE: we will drop support for non-inboxed sites in the 0.9.x version
-of StatusNet. It's time to switch now!
+Notice inboxes are now required. If you don't have inboxes enabled,
+StatusNet will no longer run.
 
 UTF-8 Database
 --------------
@@ -1308,9 +1276,8 @@ inboxes
 
 For notice inboxes.
 
-enabled: A three-valued flag for whether to use notice inboxes (see
-        upgrading info above for notes about this change). Can be
-        'false', 'true', or '"transitional"'.
+enabled: No longer used. If you set this to something other than true,
+        StatusNet will no longer run.
 
 throttle
 --------
index cdb2afb5bec4095e750fa135edcca32053369def..f66e830738ec20ba134bde3ee4892066b6e8e6f4 100644 (file)
@@ -99,15 +99,6 @@ class ApiGroupCreateAction extends ApiAuthAction
     {
         parent::handle($args);
 
-        if (!common_config('inboxes', 'enabled')) {
-            $this->serverError(
-                _('Inboxes must be enabled for groups to work'),
-                400,
-                $this->format
-            );
-            return false;
-        }
-
         if ($_SERVER['REQUEST_METHOD'] != 'POST') {
              $this->clientError(
                  _('This method requires a POST.'),
index 5dd039f8a30c3dc55d4d64f9994890e5e1bfe8c2..cf160803563ddc651459fe60393a4feb9aeadecb 100644 (file)
@@ -64,11 +64,6 @@ class EditgroupAction extends GroupDesignAction
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         if (!common_logged_in()) {
             $this->clientError(_('You must be logged in to create a group.'));
             return false;
index 52cfaddfc3298d7a520235e31ca9001146a7765e..f65bf511afb622d7d70b818f6b6d901f379da68a 100644 (file)
@@ -68,11 +68,6 @@ class GroupbyidAction extends Action
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         $id = $this->arg('id');
 
         if (!$id) {
index cd86e3b0511d02f7b07728b835fe4870423ae0ba..b87b7d156a3f9ae511da3e037a1c2531f4fa5aa1 100644 (file)
@@ -64,11 +64,6 @@ class GroupDesignSettingsAction extends DesignSettingsAction
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes', 'enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         if (!common_logged_in()) {
             $this->clientError(_('You must be logged in to edit a group.'));
             return false;
index 63ba769c7a61feb5a2e5eb71d513859496123cdf..a9dc7eb1d99a8e87adebf2e1f21e6c049f3e36f3 100644 (file)
@@ -66,11 +66,6 @@ class GrouplogoAction extends GroupDesignAction
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         if (!common_logged_in()) {
             $this->clientError(_('You must be logged in to create a group.'));
             return false;
index 6a6b55e78f73a98096a5f289ae5625e4ebde9583..50e48a67e9ea7121e462fdbcc5b2ef0a2063f9fe 100644 (file)
@@ -76,11 +76,6 @@ class groupRssAction extends Rss10Action
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         $nickname_arg = $this->arg('nickname');
         $nickname = common_canonical_nickname($nickname_arg);
 
index 0209dd43fddcf3fc74b9ed70e7993752e96acce1..bf69b2ad1e40769df3b7c5c5278b3cd77303528b 100644 (file)
@@ -56,11 +56,6 @@ class JoingroupAction extends Action
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         if (!common_logged_in()) {
             $this->clientError(_('You must be logged in to join a group.'));
             return false;
index 60b22e147d735978090f36d0ecc10644ee07b6c2..08fce150980eb406fce36bf46ceff307bf66ba32 100644 (file)
@@ -56,11 +56,6 @@ class LeavegroupAction extends Action
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work.'));
-            return false;
-        }
-
         if (!common_logged_in()) {
             $this->clientError(_('You must be logged in to leave a group.'));
             return false;
index a2cf72528b2e182645d588b23c3747bcfc709237..80da9861a0482a7b9b5c1308872c9e9ca9e5a254 100644 (file)
@@ -61,11 +61,6 @@ class NewgroupAction extends Action
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         if (!common_logged_in()) {
             $this->clientError(_('You must be logged in to create a group.'));
             return false;
index a67765ce583c94b39f6cab9d967217ba7d4c65a6..bfe45ddad79a8d8194b679f510c058d7c2b68b71 100644 (file)
@@ -101,11 +101,6 @@ class ShowgroupAction extends GroupDesignAction
     {
         parent::prepare($args);
 
-        if (!common_config('inboxes','enabled')) {
-            $this->serverError(_('Inboxes must be enabled for groups to work'));
-            return false;
-        }
-
         $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
 
         $nickname_arg = $this->arg('nickname');
index ba2227c0a3907c1c63a59cc84d4f7905a7379974..cd3906ca17fb2a7f201056495ac9647392eb3beb 100644 (file)
@@ -111,10 +111,9 @@ class Notice extends Memcached_DataObject
                          'Fave',
                          'Notice_tag',
                          'Group_inbox',
-                         'Queue_item');
-        if (common_config('inboxes', 'enabled')) {
-            $related[] = 'Notice_inbox';
-        }
+                         'Queue_item',
+                         'Notice_inbox');
+
         foreach ($related as $cls) {
             $inst = new $cls();
             $inst->notice_id = $this->id;
@@ -883,66 +882,61 @@ class Notice extends Memcached_DataObject
 
     function addToInboxes()
     {
-        $enabled = common_config('inboxes', 'enabled');
+        // XXX: loads constants
 
-        if ($enabled === true || $enabled === 'transitional') {
+        $inbox = new Notice_inbox();
 
-            // XXX: loads constants
+        $users = $this->getSubscribedUsers();
 
-            $inbox = new Notice_inbox();
+        // FIXME: kind of ignoring 'transitional'...
+        // we'll probably stop supporting inboxless mode
+        // in 0.9.x
 
-            $users = $this->getSubscribedUsers();
+        $ni = array();
 
-            // FIXME: kind of ignoring 'transitional'...
-            // we'll probably stop supporting inboxless mode
-            // in 0.9.x
+        foreach ($users as $id) {
+            $ni[$id] = NOTICE_INBOX_SOURCE_SUB;
+        }
 
-            $ni = array();
+        $groups = $this->saveGroups();
 
+        foreach ($groups as $group) {
+            $users = $group->getUserMembers();
             foreach ($users as $id) {
-                $ni[$id] = NOTICE_INBOX_SOURCE_SUB;
-            }
-
-            $groups = $this->saveGroups();
-
-            foreach ($groups as $group) {
-                $users = $group->getUserMembers();
-                foreach ($users as $id) {
-                    if (!array_key_exists($id, $ni)) {
-                        $ni[$id] = NOTICE_INBOX_SOURCE_GROUP;
-                    }
+                if (!array_key_exists($id, $ni)) {
+                    $ni[$id] = NOTICE_INBOX_SOURCE_GROUP;
                 }
             }
+        }
 
-            $cnt = 0;
-
-            $qryhdr = 'INSERT INTO notice_inbox (user_id, notice_id, source, created) VALUES ';
-            $qry = $qryhdr;
+        $cnt = 0;
 
-            foreach ($ni as $id => $source) {
-                if ($cnt > 0) {
-                    $qry .= ', ';
-                }
-                $qry .= '('.$id.', '.$this->id.', '.$source.", '".$this->created. "') ";
-                $cnt++;
-                if (rand() % NOTICE_INBOX_SOFT_LIMIT == 0) {
-                    // FIXME: Causes lag in replicated servers
-                    // Notice_inbox::gc($id);
-                }
-                if ($cnt >= MAX_BOXCARS) {
-                    $inbox = new Notice_inbox();
-                    $inbox->query($qry);
-                    $qry = $qryhdr;
-                    $cnt = 0;
-                }
-            }
+        $qryhdr = 'INSERT INTO notice_inbox (user_id, notice_id, source, created) VALUES ';
+        $qry = $qryhdr;
 
+        foreach ($ni as $id => $source) {
             if ($cnt > 0) {
+                $qry .= ', ';
+            }
+            $qry .= '('.$id.', '.$this->id.', '.$source.", '".$this->created. "') ";
+            $cnt++;
+            if (rand() % NOTICE_INBOX_SOFT_LIMIT == 0) {
+                // FIXME: Causes lag in replicated servers
+                // Notice_inbox::gc($id);
+            }
+            if ($cnt >= MAX_BOXCARS) {
                 $inbox = new Notice_inbox();
                 $inbox->query($qry);
+                $qry = $qryhdr;
+                $cnt = 0;
             }
         }
 
+        if ($cnt > 0) {
+            $inbox = new Notice_inbox();
+            $inbox->query($qry);
+        }
+
         return;
     }
 
@@ -977,11 +971,6 @@ class Notice extends Memcached_DataObject
     {
         $groups = array();
 
-        $enabled = common_config('inboxes', 'enabled');
-        if ($enabled !== true && $enabled !== 'transitional') {
-            return $groups;
-        }
-
         /* extract all !group */
         $count = preg_match_all('/(?:^|\s)!([A-Za-z0-9]{1,64})/',
                                 strtolower($this->content),
index 48df0cdd773f46b9b4b98379ab5ce7589105d073..0a70c9801402f8038d1dc59bb72bf0204ce1f3c7 100644 (file)
@@ -227,11 +227,9 @@ class User extends Memcached_DataObject
             }
         }
 
-        $inboxes = common_config('inboxes', 'enabled');
+        // This flag is ignored but still set to 1
 
-        if ($inboxes === true || $inboxes == 'transitional') {
-            $user->inboxed = 1;
-        }
+        $user->inboxed = 1;
 
         $user->created = common_sql_now();
         $user->uri = common_user_uri($user);
@@ -433,55 +431,16 @@ class User extends Memcached_DataObject
 
     function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
     {
-        $enabled = common_config('inboxes', 'enabled');
-
-        // Complicated code, depending on whether we support inboxes yet
-        // XXX: make this go away when inboxes become mandatory
-
-        if ($enabled === false ||
-            ($enabled == 'transitional' && $this->inboxed == 0)) {
-            $qry =
-              'SELECT notice.* ' .
-              'FROM notice JOIN subscription ON notice.profile_id = subscription.subscribed ' .
-              'WHERE subscription.subscriber = %d ' .
-              'AND notice.is_local != ' . Notice::GATEWAY;
-            return Notice::getStream(sprintf($qry, $this->id),
-                                     'user:notices_with_friends:' . $this->id,
-                                     $offset, $limit, $since_id, $before_id,
-                                     $order, $since);
-        } else if ($enabled === true ||
-                   ($enabled == 'transitional' && $this->inboxed == 1)) {
-
-            $ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, false);
+        $ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, false);
 
-            return Notice::getStreamByIds($ids);
-        }
+        return Notice::getStreamByIds($ids);
     }
 
     function noticeInbox($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
     {
-        $enabled = common_config('inboxes', 'enabled');
-
-        // Complicated code, depending on whether we support inboxes yet
-        // XXX: make this go away when inboxes become mandatory
+        $ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, true);
 
-        if ($enabled === false ||
-            ($enabled == 'transitional' && $this->inboxed == 0)) {
-            $qry =
-              'SELECT notice.* ' .
-              'FROM notice JOIN subscription ON notice.profile_id = subscription.subscribed ' .
-              'WHERE subscription.subscriber = %d ';
-            return Notice::getStream(sprintf($qry, $this->id),
-                                     'user:notices_with_friends:' . $this->id,
-                                     $offset, $limit, $since_id, $before_id,
-                                     $order, $since);
-        } else if ($enabled === true ||
-                   ($enabled == 'transitional' && $this->inboxed == 1)) {
-
-            $ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, true);
-
-            return Notice::getStreamByIds($ids);
-        }
+        return Notice::getStreamByIds($ids);
     }
 
     function blowFavesCache()
@@ -752,12 +711,9 @@ class User extends Memcached_DataObject
                          'Remember_me',
                          'Foreign_link',
                          'Invitation',
+                         'Notice_inbox',
                          );
 
-        if (common_config('inboxes', 'enabled')) {
-            $related[] = 'Notice_inbox';
-        }
-
         foreach ($related as $cls) {
             $inst = new $cls();
             $inst->user_id = $this->id;
index 329b041e9a1928ab079f6fe17f50f5cd7e3dfb07..9f3d4b1f9d858ea78fb2a8c5c745a5e5f4f3eaa8 100644 (file)
@@ -157,7 +157,7 @@ $default =
                'ping' =>
         array('notify' => array()),
         'inboxes' =>
-        array('enabled' => true), # on by default for new sites
+        array('enabled' => true), # ignored after 0.9.x
         'newuser' =>
         array('default' => null,
               'welcome' => null),