You are here

public function RateWidgetBase::getVoteSummary in Rate 8.2

Generate the result summary.

File

src/Plugin/RateWidgetBase.php, line 355

Class

RateWidgetBase
Base class for Rate widget plugins.

Namespace

Drupal\rate\Plugin

Code

public function getVoteSummary(ContentEntityInterface $vote) {
  $results = $this
    ->getResults($vote);
  $widget_name = $vote->rate_widget->value;
  $widget = $this->entityTypeManager
    ->getStorage('rate_widget')
    ->load($widget_name);
  $field_results = [];
  foreach ($results as $key => $result) {
    if (strpos($key, '.') && strpos($key, ':')) {
      if (substr($key, strrpos($key, '.') + 1) === $widget_name) {
        $key = explode(':', $key);
        $field_results[$key[0]] = $result != 0 ? ceil($result * 10) / 10 : 0;
      }
    }
  }
  return [
    '#theme' => 'rate_widgets_summary',
    '#vote' => $vote,
    '#results' => $field_results,
    '#rate_widget' => $widget_name,
    '#widget_template' => $widget
      ->get('template'),
  ];
}