I am using this module with it's itunes companion, and apparently itunes doesn't like https...it is beneath Apple to be secure, or something...

so what I had to do in order to meet all feed validation tests was to change views_rss.core.inc atom:link handling like so:

/**
 * Preprocess function for channel <atom:link> element.
 */
function views_rss_core_preprocess_channel_atom_link(&$variables) {
  $url_options = array('absolute' => TRUE);
  $input = $variables['view']->get_exposed_input();
  if ($input) {
    $url_options['query'] = $input;
  }
  $url = url($variables['view']->get_url(), $url_options);
   //Added by Onyx :    
    $mypatharr=explode(':',$url);
    $url="http:".$mypatharr[1];
    // End add by Onyx
  $variables['elements'][0]['attributes'] = array(
    'rel' => 'self',
    'href' => $url,
  );
}

and also views_rss_core.field.inc

function views_rss_core_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $element = NULL;
  foreach ($items as $delta => $item) {
    // Inside a view item may contain NULL data. In that case, just return.
    if (empty($item['fid'])) {
      unset($items[$delta]);
      continue;
    }
    // Get full image URL based on provided image style.
    if ($field['type'] == 'image' && !empty($display['settings']['image_style']) && $image_style = image_style_load($display['settings']['image_style'])) {
      $uri = image_style_url($display['settings']['image_style'], $item['uri']);
      // Get file size of image preset file (if it has already been created,
      // otherwise just create it first and then get file size).
      $path = image_style_path($display['settings']['image_style'], $item['uri']);
      $real_path = drupal_realpath($path);
      if (file_exists($real_path) || image_style_create_derivative($image_style, $item['uri'], $path)) {
        $item['filesize'] = filesize($real_path);
      }
    }
    else {
      $uri = file_create_url($item['uri']);
    }
    //Added by Onyx :    
    $mypatharr=explode(':',$uri);
    $uri="http:".$mypatharr[1];
    // End add by Onyx
    
    // XML element array in format_xml_elements() format.
    $rss_element = array(
      'key' => 'enclosure',
      'attributes' => array(
        'url' => $uri,
        'length' => $item['filesize'],
        'type'   => $item['filemime'],
      ),
    );

    $element[$delta] = array(
      '#item' => $item,
      '#markup' => format_xml_elements(array($rss_element)),
      '#rss_element' => $rss_element,
    );
        
  }
  return $element;
}

Sorry, not really a bug, as not everyone will have https rolling...but this is in case anyone else wants to figure out where their feed is failing.

Comments

bjlewis2’s picture

Status: Active » Closed (works as designed)

rc4 works just fine with my https site. Maybe just need to update?

Going to close this issue, since it works for me. But please re-open if you're still having issues.