Design issue Hidden Category with Watched Forums Shows Contains No Messages

Snog

Well-known member
If you are watching a forum in a hidden category ('Display in the node list' unchecked), the Watch Forum lists the forum, but it says it contains no messages.

privateforum.webp

The user has explicit permission to view the forum via both user permissions and user group permissions.
 
Unfortunately, I think this is a design issue. The need to display the forum you're watching on this page contradicts the other display in list option requirements. It leads to a situation where we can't get the data because the forum you're viewing isn't really supposed to be listed.

There was a similar issue to this before (where the forum you watched wasn't listed at all), so this is really a less significant issue than that.
 
I had a little time, and found that if you comment out one section of the code in library/XenForo/ControllerPublic/Watched.php the last thread shows...
PHP:
  /**
    * List of all new watched content.
    *
    * @return XenForo_ControllerResponse_Abstract
    */
   public function actionForums()
   {
     /** @var $nodeModel XenForo_Model_Node */
     $nodeModel = $this->getModelFromCache('XenForo_Model_Node');
     $forumWatchModel = $this->_getForumWatchModel();
     $visitor = XenForo_Visitor::getInstance();

     $forumsWatched = $forumWatchModel->getUserForumWatchByUser($visitor['user_id']);
     $nodes = $nodeModel->getAllNodes(false, false);

     foreach ($nodes AS $nodeId => $node)
     {
       if ($node['display_in_list'])
       {
         continue;
       }

//       if (!isset($forumsWatched[$nodeId]))
//       {
//         unset($nodes[$nodeId]);
//       }
     }

     $viewParams = array(
       'nodeList' => $nodeModel->getNodeListDisplayData($nodes, 0, 0),
       'forumsWatched' => $forumsWatched
     );

     return $this->responseView('XenForo_ViewPublic_Watched_Forums', 'watch_forums', $viewParams);
   }

I don't know what impact this has on any other part of the code, but it seems to work.
 
Yes, it creates other situations which are incorrect (listing and considering forums that aren't normally shown).
 
Top Bottom