/**
  * Get collapsible diff-to-stable html to add to the review notice as needed
  * @param FlaggedRevision $srev, stable version
  * @param bool $quality, revision is quality
  * @return string, the html line (either "" or "<diff toggle><diff div>")
  */
 protected function getTopDiffToggle(FlaggedRevision $srev, $quality)
 {
     $reqUser = $this->getUser();
     $this->load();
     if (!$reqUser->getBoolOption('flaggedrevsviewdiffs')) {
         return false;
         // nothing to do here
     }
     # Diff should only show for the draft
     $oldid = $this->getOldIDFromRequest();
     $latest = $this->article->getLatest();
     if ($oldid && $oldid != $latest) {
         return false;
         // not viewing the draft
     }
     $revsSince = $this->article->getPendingRevCount();
     if (!$revsSince) {
         return false;
         // no pending changes
     }
     $title = $this->article->getTitle();
     // convenience
     # Review status of left diff revision...
     $leftNote = $quality ? 'revreview-hist-quality' : 'revreview-hist-basic';
     $lClass = FlaggedRevsXML::getQualityColor((int) $quality);
     $leftNote = "<span class='{$lClass}'>[" . wfMsgHtml($leftNote) . "]</span>";
     # Review status of right diff revision...
     $rClass = FlaggedRevsXML::getQualityColor(false);
     $rightNote = "<span class='{$rClass}'>[" . wfMsgHtml('revreview-hist-pending') . "]</span>";
     # Get the actual body of the diff...
     $diffEngine = new DifferenceEngine($title, $srev->getRevId(), $latest);
     $diffBody = $diffEngine->getDiffBody();
     if (strlen($diffBody) > 0) {
         $nEdits = $revsSince - 1;
         // full diff-to-stable, no need for query
         if ($nEdits) {
             $limit = 100;
             $nUsers = $title->countAuthorsBetween($srev->getRevId(), $latest, $limit);
             $multiNotice = DifferenceEngine::intermediateEditsMsg($nEdits, $nUsers, $limit);
         } else {
             $multiNotice = '';
         }
         $diffEngine->showDiffStyle();
         // add CSS
         $this->isDiffFromStable = true;
         // alter default review form tags
         return FlaggedRevsXML::diffToggle() . "<div id='mw-fr-stablediff'>\n" . self::getFormattedDiff($diffBody, $multiNotice, $leftNote, $rightNote) . "</div>\n";
     }
     return '';
 }