public static function deliverFileRedirect($result) { if (is_int($result)) { drupal_deliver_html_page($result); return; } $uri = !empty($result->uri) ? $result->uri : $result; $url = file_create_url($uri); static::deliverRedirect($url); }
/** * Delivery callback; redirect to the file's location. * * @param mixed $file */ public static function deliverFileRedirect($file) { if (is_int($file)) { drupal_deliver_html_page($file); return; } elseif (!is_object($file)) { drupal_deliver_html_page(MENU_NOT_FOUND); return; } $file->url = file_create_url($file->uri); if (module_exists('redirect')) { // Using the redirect module instead of drupal_goto() may allow this // redirect to be stored in the page cache. $redirect = new stdClass(); $redirect->redirect = $file->url; redirect_redirect($redirect); } else { drupal_goto($file->url, array(), 301); } }