* @category Horde * @license http://www.horde.org/licenses/lgpl LGPL-2 * @package Horde */ require_once __DIR__ . '/../../lib/Application.php'; Horde_Registry::appInit('horde', array( 'authentication' => 'none', 'session_control' => 'readonly' )); $vars = $injector->getInstance('Horde_Variables'); if (!isset($vars->app)) { exit; } $vars->filename = substr($vars->fn, 1); unset($vars->fn); $res = $registry->callAppMethod($vars->app, 'download', array( 'args' => array($vars) )); if (!isset($res['data'])) { exit; } if (!array_key_exists('size', $res)) { if (is_resource($res['data'])) { fseek($res['data'], 0, SEEK_END); $res['size'] = ftell($res['data']); } else { $res['size'] = strlen($res['data']); } } $browser->downloadHeaders( isset($res['name']) ? $res['name'] : $vars->filename, isset($res['type']) ? $res['type'] : null, false, $res['size'] ); if (is_resource($res['data'])) { rewind($res['data']); while (!feof($res['data'])) { echo fread($res['data'], 8192); } fclose($res['data']); } else { echo $res['data']; }