Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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
Comment #1
bjlewis2 CreditAttribution: bjlewis2 at Modules Unraveled commentedrc4 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.