winix/functions/download.cpp

51 lines
849 B
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "download.h"
namespace Fun
{
Download::Download()
{
fun.url = L"download";
}
void Download::MakeGet()
{
// !! moze wywalic to no_item i wszedzie w takich miejscach dac poprostu permission_denied?
if( !request->is_item )
{
log << log1 << "Content: download function requires an item" << logend;
request->status = WINIX_ERR_NO_ITEM;
return;
}
if( !system->HasReadAccess(request->item) ||
request->item.auth == Item::auth_none ||
request->item.auth_path.empty() )
{
request->status = WINIX_ERR_PERMISSION_DENIED;
return;
}
request->send_as_attachment = request->IsParam(L"attachment");
request->x_sendfile = request->item.auth_path;
}
} // namespace