Horde_Registry::appInit('imp', array('session_control' => 'readonly'));
$vars = $injector->getInstance('Horde_Variables');
/* Run through action handlers */
switch ($vars->actionID) {
case 'compose_attach_preview':
$view_ob = new IMP_Compose_View($vars->composeCache);
$res = $view_ob->composeAttachPreview($vars->id, true, $vars->ctype);
break;
case 'print_attach':
$view_ob = new IMP_Contents_View(new IMP_Indices_Mailbox($vars));
$view_ob->checkToken($vars);
$res = $view_ob->printAttach($vars->id);
break;
case 'view_attach':
$view_ob = new IMP_Contents_View(new IMP_Indices_Mailbox($vars));
$view_ob->checkToken($vars);
$res = $view_ob->viewAttach($vars->id, $vars->mode, $vars->autodetect, $vars->ctype);
break;
case 'view_source':
$view_ob = new IMP_Contents_View(new IMP_Indices_Mailbox($vars));
$res = $view_ob->viewSource();
break;
}
if (empty($res)) {
exit;
}
if (is_resource($res['data'])) {
fseek($res['data'], 0, SEEK_END);
$size = ftell($res['data']);
} else {
$size = strlen($res['data']);