added: now plugin ticket uses a new horizontal table (plugins.ticket)

columns: dir_id, param, value
we are able to build complicated tickets 



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@664 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-10-19 00:31:20 +00:00
parent 33057acd62
commit 1b053c03ba
53 changed files with 1680 additions and 1902 deletions

View File

@@ -8,7 +8,6 @@
*/
#include "createticket.h"
#include "readticket.h"
#include "functions/functions.h"
@@ -80,45 +79,16 @@ bool CreateTicket::HasAccess()
}
bool CreateTicket::FunCreateTicketCheckAbuse()
{
if( !system->rebus.CheckRebus() )
{
request->status = WINIX_ERR_INCORRECT_REBUS;
return false;
}
functions->CheckGetPostTimes();
if( request->session->spam_score > 0 )
{
request->status = WINIX_ERR_SPAM;
log << log1 << "Content: ignoring due to suspected spamming" << logend;
return false;
}
return true;
}
void CreateTicket::AddTicket()
{
static std::string temp;
ticket_info->ticket.dir_id = request->dir_tab.back()->id; // a new directory created by Mkdir()
ticket_info->ticket.item_id = request->item.id; // this id is set by PostFunEmacsAdd()
// a new directory created by system->AddDir()
ticket_info->ticket.dir_id = request->dir_tab.back()->id;
request->status = tdb->AddTicket(ticket_info->ticket);
if( request->status == WINIX_ERR_OK )
{
}
}
void CreateTicket::PostFunCreateTicketLogAndRedirect()
void CreateTicket::LogAndRedirect()
{
if( request->status == WINIX_ERR_OK )
{
@@ -136,42 +106,42 @@ void CreateTicket::PostFunCreateTicketLogAndRedirect()
void CreateTicket::MakePost()
{
functions->ReadItem(request->item, Item::dir);
functions->SetUser(request->item);
ticket_info->FindCurrentConf();
functions->ReadItem(ticket_info->item, Item::file);
functions->SetUser(ticket_info->item);
ticket_info->item.privileges = request->dir_tab.back()->privileges; // !! tymczasowo takie same jak z katalogu nadrzednego
ReadTicket read_ticket;
read_ticket.Read(system, request, ticket_info, &ticket_info->ticket);
ticket_info->ReadTicketParams();
request->item.privileges = 0777; // !! tymczasowo 777 aby wszyscy mogli wysylac posty
if( !FunCreateTicketCheckAbuse() )
{
functions->ReadItemContentWithType(request->item); // for correctly displaying the form
if( functions->CheckAbuse() )
return;
}
request->status = system->dirs.AddDirectory(request->item, true);
ticket_info->item.type = Item::dir;
request->status = system->dirs.AddDirectory(ticket_info->item, true);
if( request->status == WINIX_ERR_OK )
{
functions->ReadItemContentWithType(request->item);
request->item.type = Item::file;
request->item.privileges = 0644; // !! tymczasowo
request->item.parent_id = request->dir_tab.back()->id;
ticket_info->item.type = Item::file;
ticket_info->item.privileges = 0644; // !! tymczasowo
ticket_info->item.parent_id = request->dir_tab.back()->id;
request->status = system->AddFile(request->item);
// adding without notificating
request->status = system->AddFile(ticket_info->item, false);
if( request->status == WINIX_ERR_OK )
AddTicket();
}
PostFunCreateTicketLogAndRedirect();
LogAndRedirect();
}
void CreateTicket::MakeGet()
{
ticket_info->FindCurrentConf();
}
} // namespace