/**
  * Gets unread data from original forum.
  * @param int $unread UNREAD_xx constant
  * @throws forum_exception If this is not a clone forum
  */
 public function init_unread_from_original($unread)
 {
     $cmid = $this->forumfields->originalcmid;
     if (!$cmid) {
         throw new forum_exception('This forum is not a clone');
     }
     $viewhiddenforums = array();
     if (has_capability('mod/forumng:viewallposts', get_context_instance(CONTEXT_MODULE, $cmid))) {
         $viewhiddenforums[] = get_field('course_modules', 'instance', 'id', $cmid);
     }
     $rows = forum::query_forums(array($cmid), null, 0, $unread, array(), array(), $viewhiddenforums);
     if (count($rows) != 1) {
         throw new forum_exception('Unexpected data extracting base forum');
     }
     switch ($unread) {
         case self::UNREAD_BINARY:
             $this->forumfields->hasunreaddiscussions = reset($rows)->f_hasunreaddiscussions;
             break;
         case self::UNREAD_DISCUSSIONS:
             $this->forumfields->numunreaddiscussions = reset($rows)->f_numunreaddiscussions;
             break;
     }
 }