added: to Rm function:
bool Rm::RemoveFileOrSymlink(long item_id, bool check_access) added: in ticket plugin: possibility to remove a file/image (not finished yet) git-svn-id: svn://ttmath.org/publicrep/winix/trunk@924 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010-2012, Tomasz Sowa
|
||||
* Copyright (c) 2010-2013, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
@@ -17,6 +17,8 @@
|
||||
#include "pluginmsg.h"
|
||||
#include "sessiondata.h"
|
||||
|
||||
|
||||
|
||||
namespace Ticket
|
||||
{
|
||||
|
||||
@@ -473,18 +475,76 @@ void TicketInfo::ReadTicketParam(long param_id, const PostFile & value, PT::Spac
|
||||
|
||||
|
||||
|
||||
void TicketInfo::ReadTicketParams(Ticket & ticket, bool clear_ticket, PT::Space & meta)
|
||||
|
||||
|
||||
bool TicketInfo::DeleteTicketFile(Ticket & ticket, long file_id, PT::Space & meta)
|
||||
{
|
||||
for(size_t i=0 ; i<meta.spaces.size() ; ++i)
|
||||
{
|
||||
PT::Space & param = *meta.spaces[i];
|
||||
|
||||
if( param.name == L"param" )
|
||||
{
|
||||
for(size_t z=0 ; z<param.spaces.size() ; ++z)
|
||||
{
|
||||
PT::Space & file = *param.spaces[z];
|
||||
|
||||
if( file.name == L"file" )
|
||||
{
|
||||
if( file.Long(L"itemid") == file_id )
|
||||
{
|
||||
param.RemoveSpace(z);
|
||||
|
||||
// !! IMPROVE ME
|
||||
// temporarily we delete the file here
|
||||
// but it should be really deleted when the user will press
|
||||
// the submit button
|
||||
//functions->fun_rm.RemoveFileOrSymlink(file_id, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TicketInfo::ReadTicketParams(Ticket & ticket, bool clear_ticket, PT::Space & meta, bool & file_was_deleted)
|
||||
{
|
||||
PostTab::iterator i;
|
||||
PostFileTab::iterator i2;
|
||||
|
||||
file_was_deleted = false;
|
||||
|
||||
if( clear_ticket )
|
||||
ticket.Clear();
|
||||
|
||||
// !! IMPROVE ME move me somewhere
|
||||
std::wstring ticket_delete_prefix = L"ticketdeletefile_";
|
||||
|
||||
for(i=cur->request->post_tab.begin() ; i!=cur->request->post_tab.end() ; ++i)
|
||||
{
|
||||
// !! CHECKME why ticket_form_prefix is in the global config?
|
||||
// (this is a plugin variable)
|
||||
if( IsSubString(config->ticket_form_prefix, i->first) )
|
||||
ReadTicketParam(ticket, Tol(i->first.c_str() + config->ticket_form_prefix.size()), i->second, meta);
|
||||
{
|
||||
long param_id = Tol(i->first.c_str() + config->ticket_form_prefix.size());
|
||||
ReadTicketParam(ticket, param_id, i->second, meta);
|
||||
}
|
||||
|
||||
if( IsSubString(ticket_delete_prefix, i->first) )
|
||||
{
|
||||
long file_id = Tol(i->first.c_str() + ticket_delete_prefix.size());
|
||||
|
||||
if( DeleteTicketFile(ticket, file_id, meta) )
|
||||
{
|
||||
file_was_deleted = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i2=cur->request->post_file_tab.begin() ; i2!=cur->request->post_file_tab.end() ; ++i2)
|
||||
|
Reference in New Issue
Block a user