51 lines
847 B
C++
51 lines
847 B
C++
|
/*
|
||
|
* 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 = "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("attachment");
|
||
|
request->x_sendfile = request->item.auth_path;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
} // namespace
|