You are here

function views_rss_core_preprocess_item_source in Views RSS 8.2

Same name and namespace in other branches
  1. 8.3 modules/views_rss_core/views_rss_core.inc \views_rss_core_preprocess_item_source()
  2. 6.2 modules/views_rss_core/views_rss_core.inc \views_rss_core_preprocess_item_source()
  3. 7.2 modules/views_rss_core/views_rss_core.inc \views_rss_core_preprocess_item_source()

Preprocess function for item <source> element.

1 string reference to 'views_rss_core_preprocess_item_source'
views_rss_core_views_rss_item_elements in modules/views_rss_core/views_rss_core.module
Implements hook_views_rss_item_elements().

File

modules/views_rss_core/views_rss_core.inc, line 375
Preprocess functions for Views RSS: Core Elements module.

Code

function views_rss_core_preprocess_item_source(&$variables) {
  $config = \Drupal::config('system.site');

  // Allow override of title based on view->args settings.
  // @todo find a better way of overriding title
  if (isset($variables['view']->args['title'])) {
    $title = $variables['view']->args['title'];
  }
  elseif ($variables['view']->display_handler
    ->getOption('sitename_title')) {
    $title = $config
      ->get('name');
    if ($slogan = $config
      ->get('slogan')) {
      $title .= ' - ' . $slogan;
    }
  }
  else {
    $title = $variables['view']
      ->getTitle();
  }
  $url_options = array(
    'absolute' => TRUE,
  );
  $input = $variables['view']
    ->getExposedInput();
  if ($input) {
    $url_options['query'] = $input;
  }

  // @todo handle all url situations including exposed input
  $variables['elements'][0]['value'] = strip_tags($title);
  $url = Url::createFromRequest(\Drupal::request())
    ->setOption('absolute', TRUE)
    ->setOption('query', \Drupal::request()->query
    ->all())
    ->toString();
  $variables['elements'][0]['attributes']['url'] = $url;
}