You are here

public function HelpSearch::indexStatus in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/help_topics/src/Plugin/Search/HelpSearch.php \Drupal\help_topics\Plugin\Search\HelpSearch::indexStatus()
  2. 9 core/modules/help_topics/src/Plugin/Search/HelpSearch.php \Drupal\help_topics\Plugin\Search\HelpSearch::indexStatus()

File

core/modules/help_topics/src/Plugin/Search/HelpSearch.php, line 466

Class

HelpSearch
Handles searching for help using the Search module index.

Namespace

Drupal\help_topics\Plugin\Search

Code

public function indexStatus() {
  $this
    ->updateTopicList();
  $total = $this->database
    ->select('help_search_items', 'hsi')
    ->countQuery()
    ->execute()
    ->fetchField();
  $query = $this->database
    ->select('help_search_items', 'hsi');
  $query
    ->addExpression('COUNT(DISTINCT([hsi].[sid]))');
  $query
    ->leftJoin('search_dataset', 'sd', '[hsi].[sid] = [sd].[sid] AND [sd].[type] = :type', [
    ':type' => $this
      ->getType(),
  ]);
  $condition = $this->database
    ->condition('OR');
  $condition
    ->condition('sd.reindex', 0, '<>')
    ->isNull('sd.sid');
  $query
    ->condition($condition);
  $remaining = $query
    ->execute()
    ->fetchField();
  return [
    'remaining' => $remaining,
    'total' => $total,
  ];
}