we can create links (hard links, symbolic links) now

added winix functions: ln

winix function 'default' can be used without redirecting now

added new tickets types: TypeProgress, TypeString, TypeMultistring, TypeImages, TypeFiles
now tickets are combined with files
added winix functions: showtickets

fixed mountpoints:
when the default root mount was created its parameter table was empty
and it caused accessing to a non-existing objects

fixed logger:
modifiers (log1, log2, log3) were incorrectly treated
added modifier: log4 (debug info)

now we are moving threads to a new plugin 'thread'
created directory: plugins/thread
(not finished yet)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@704 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2011-01-05 21:24:11 +00:00
parent bb83aed20d
commit 8154c403d8
113 changed files with 5840 additions and 2972 deletions

View File

@@ -11,8 +11,10 @@
#include "funticket.h"
#include "editticket.h"
#include "createticket.h"
#include "showtickets.h"
#include "core/log.h"
#include "core/plugin.h"
#include "sessiondata.h"
extern "C" void Init(PluginInfo &);
@@ -28,7 +30,7 @@ TicketInfo ticket_info;
FunTicket fun_ticket;
CreateTicket fun_create_ticket;
EditTicket fun_edit_ticket;
ShowTickets fun_show_tickets;
void AddFunctions(PluginInfo & info)
@@ -36,16 +38,19 @@ void AddFunctions(PluginInfo & info)
info.functions->Add(fun_ticket);
info.functions->Add(fun_create_ticket);
info.functions->Add(fun_edit_ticket);
info.functions->Add(fun_show_tickets);
}
void SelectDefaultFunction(PluginInfo & info)
{
if( info.request->is_item )
return;
if( info.system->mounts.pmount->type == ticket_info.mount_type_ticket )
info.request->function = &fun_ticket;
{
if( info.request->is_item )
info.request->function = &fun_ticket;
else
info.request->function = &fun_show_tickets;
}
}
@@ -53,22 +58,8 @@ void AddMounts(PluginInfo & info)
{
Mounts & m = info.system->mounts;
ticket_info.mount_type_ticket = m.AddMountType(L"ticket");
ticket_info.mount_par_ticket = m.AddMountPar(L"ticket");
ticket_info.mount_par_ticket_conf = m.AddMountPar(L"ticket_conf");
// !! bedzie do usuniecia
ticket_info.mount_par_ticket_type = m.AddMountPar(L"ticket_type");
ticket_info.mount_par_ticket_type_default = m.AddMountPar(L"ticket_type_default");
ticket_info.mount_par_ticket_status = m.AddMountPar(L"ticket_status");
ticket_info.mount_par_ticket_status_default = m.AddMountPar(L"ticket_status_default");
ticket_info.mount_par_ticket_priority = m.AddMountPar(L"ticket_priority");
ticket_info.mount_par_ticket_priority_default = m.AddMountPar(L"ticket_priority_default");
ticket_info.mount_par_ticket_category = m.AddMountPar(L"ticket_category");
ticket_info.mount_par_ticket_category_default = m.AddMountPar(L"ticket_category_default");
ticket_info.mount_par_ticket_expected = m.AddMountPar(L"ticket_expected");
ticket_info.mount_par_ticket_expected_default = m.AddMountPar(L"ticket_expected_default");
ticket_info.mount_par_createticket_on = m.AddMountPar(L"createticket_on");
ticket_info.mount_type_ticket = m.AddMountType(L"ticket");
ticket_info.mount_par_ticket_conf = m.AddMountPar(L"ticket_conf");
}
@@ -90,6 +81,8 @@ void ProcessRequest(PluginInfo & info)
}
void RemoveTicket(PluginInfo & i)
{
tdb.RemoveTicket(i.l1);
@@ -104,7 +97,22 @@ void InitTicket(PluginInfo & info)
void AddNotifyTemplate(PluginInfo & info)
{
ticket_info.template_index = info.system->notify.AddTemplate(L"notify_email_ticket.txt");
ticket_info.template_index = info.system->notify.AddTemplate(L"notify_email_ticket.txt");
}
void CreateSession(PluginInfo & info)
{
SessionData * p = new SessionData();
info.request->session->plugin_data.Assign(p);
log << log4 << "Ticket: created ticket plugin data: " << (void*)p << logend;
}
void RemoveSession(PluginInfo & info)
{
delete info.plugin_data_base;
log << log4 << "Ticket: removed ticket plugin date: " << (void*)info.plugin_data_base << logend;
}
@@ -125,16 +133,21 @@ using namespace Ticket;
plugin.Assign(WINIX_ADD_MOUNTS, AddMounts);
plugin.Assign(WINIX_FSTAB_CHANGED, FstabChanged);
plugin.Assign(WINIX_PROCESS_REQUEST, ProcessRequest);
plugin.Assign(WINIX_DIR_REMOVED, RemoveTicket);
plugin.Assign(WINIX_FILE_REMOVED, RemoveTicket);
plugin.Assign(WINIX_NOTIFY_ADD_TEMPLATE, AddNotifyTemplate);
plugin.Assign(WINIX_SESSION_CREATED, CreateSession);
plugin.Assign(WINIX_SESSION_REMOVE, RemoveSession);
tdb.SetConn(info.db->GetConn());
tdb.LogQueries(info.config->log_db_query);
ticket_info.SetDb(info.db);
ticket_info.SetTDb(&tdb);
ticket_info.SetConfig(info.config);
ticket_info.SetSystem(info.system);
ticket_info.SetRequest(info.request);
ticket_info.SetFunctions(info.functions);
ticket_info.plugin_id = info.plugin_id;
fun_ticket.SetTDb(&tdb);
fun_ticket.SetTicketInfo(&ticket_info);
@@ -145,6 +158,9 @@ using namespace Ticket;
fun_create_ticket.SetTDb(&tdb);
fun_create_ticket.SetTicketInfo(&ticket_info);
fun_show_tickets.SetTDb(&tdb);
fun_show_tickets.SetTicketInfo(&ticket_info);
info.p1 = (void*)(plugin_name);
}