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:
@@ -16,6 +16,8 @@
|
||||
#include "core/plugin.h"
|
||||
#include "functions/functions.h"
|
||||
#include "templates/templates.h"
|
||||
#include "sessiondata.h"
|
||||
|
||||
|
||||
|
||||
namespace Ticket
|
||||
@@ -45,38 +47,49 @@ return percent;
|
||||
|
||||
|
||||
|
||||
void find_ticket_value(const TicketConf::TicketItem & conf_item, const Ticket & ticket, bool * has_value, int * value)
|
||||
bool find_ticket_value(const TicketConf::TicketItem & conf_item, const Ticket & ticket, size_t * ticket_par_index)
|
||||
{
|
||||
*has_value = false;
|
||||
*value = 0;
|
||||
|
||||
for(size_t a=0 ; a < ticket.par_tab.size() ; a++)
|
||||
{
|
||||
int par = ticket.par_tab[a].param;
|
||||
int val = ticket.par_tab[a].value;
|
||||
|
||||
if( par == conf_item.id )
|
||||
if( ticket.par_tab[a].param == conf_item.id )
|
||||
{
|
||||
*has_value = true;
|
||||
*value = val;
|
||||
*ticket_par_index = a;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void ticket_print_value(Info & i, size_t conf_index, int value)
|
||||
void ticket_print_value(Info & i, size_t conf_index, const Ticket::TicketParam & ticket_param)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_index];
|
||||
|
||||
if( conf_item.type == TicketConf::TicketItem::TypeInteger )
|
||||
i.out << value;
|
||||
if( conf_item.type == TicketConf::TicketItem::TypeInteger ||
|
||||
conf_item.type == TicketConf::TicketItem::TypeProgress )
|
||||
{
|
||||
i.out << ticket_param.int_value;
|
||||
}
|
||||
else
|
||||
if( conf_item.type == TicketConf::TicketItem::TypeSelect )
|
||||
{
|
||||
if( value < (int)conf_item.select.size() )
|
||||
i.out << conf_item.select[value].name;
|
||||
if( ticket_param.int_value < (int)conf_item.select.size() )
|
||||
i.out << conf_item.select[ticket_param.int_value].name;
|
||||
}
|
||||
else
|
||||
if( conf_item.type == TicketConf::TicketItem::TypeString ||
|
||||
conf_item.type == TicketConf::TicketItem::TypeMultistring )
|
||||
{
|
||||
i.out << ticket_param.str_value;
|
||||
}
|
||||
else
|
||||
if( conf_item.type == TicketConf::TicketItem::TypeImages ||
|
||||
conf_item.type == TicketConf::TicketItem::TypeFiles )
|
||||
{
|
||||
i.out << ticket_param.str_value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,41 +97,9 @@ void ticket_print_value(Info & i, size_t conf_index, int value)
|
||||
|
||||
|
||||
|
||||
void ticket_is(Info & i)
|
||||
{
|
||||
i.res = ticket_info.is_ticket;
|
||||
}
|
||||
|
||||
|
||||
void ticket_item_subject(Info & i)
|
||||
{
|
||||
i.out << ticket_info.item.subject;
|
||||
}
|
||||
|
||||
|
||||
void ticket_item_content(Info & i)
|
||||
{
|
||||
i.out << ticket_info.item.content;
|
||||
}
|
||||
|
||||
|
||||
void ticket_item_content_type_is(Info & i)
|
||||
{
|
||||
item_content_type_is(ticket_info.item, i);
|
||||
}
|
||||
|
||||
|
||||
void ticket_item_print_content(Info & i)
|
||||
{
|
||||
item_print_content(i.out, ticket_info.item.content, ticket_info.item.content_type);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void ticket_can_create(Info & i)
|
||||
{
|
||||
i.res = fun_create_ticket.HasAccess(true);
|
||||
i.res = fun_create_ticket.HasAccess();
|
||||
}
|
||||
|
||||
|
||||
@@ -133,65 +114,63 @@ void ticket_can_edit(Info & i)
|
||||
|
||||
namespace ns_tickets_tab
|
||||
{
|
||||
static size_t tickets_tab_index;
|
||||
static size_t conf_tab_index;
|
||||
static size_t item_sort_index; // index for: ticket_info.item_sort_tab
|
||||
static size_t ticket_index; // index for: ticket_info.ticket_tab
|
||||
static size_t par_index; // index for: ticket_info.ticket_tab[ticket_index].par_tab
|
||||
static size_t conf_tab_index; // index for: ticket_info.cur_conf->tab
|
||||
static bool has_ticket;
|
||||
static bool has_value;
|
||||
static int value;
|
||||
|
||||
|
||||
|
||||
void tickets_tab(Info & i)
|
||||
{
|
||||
tickets_tab_index = i.iter;
|
||||
i.res = tickets_tab_index < ticket_info.ticket_tab.size();
|
||||
}
|
||||
has_ticket = false;
|
||||
item_sort_index = i.iter;
|
||||
i.res = item_sort_index < ticket_info.item_sort_tab.size();
|
||||
|
||||
|
||||
|
||||
Item * tickets_tab_find_index_dir()
|
||||
{
|
||||
Item * dir = 0;
|
||||
|
||||
if( tickets_tab_index < ticket_info.ticket_tab.size() )
|
||||
if( i.res )
|
||||
{
|
||||
long dir_id = ticket_info.ticket_tab[tickets_tab_index].dir_id;
|
||||
dir = system->dirs.GetDir(dir_id);
|
||||
for(size_t a=0 ; a<ticket_info.ticket_tab.size() ; ++a)
|
||||
{
|
||||
if( ticket_info.ticket_tab[a].file_id == ticket_info.item_sort_tab[item_sort_index]->id )
|
||||
{
|
||||
has_ticket = true;
|
||||
ticket_index = a;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return dir;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void tickets_tab_url(Info & i)
|
||||
{
|
||||
Item * dir = tickets_tab_find_index_dir();
|
||||
|
||||
if( dir )
|
||||
i.out << dir->url;
|
||||
if( item_sort_index < ticket_info.item_sort_tab.size() )
|
||||
i.out << ticket_info.item_sort_tab[item_sort_index]->url;
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_subject_empty(Info & i)
|
||||
{
|
||||
Item * dir = tickets_tab_find_index_dir();
|
||||
|
||||
if( dir )
|
||||
i.res = dir->subject.empty();
|
||||
if( item_sort_index < ticket_info.item_sort_tab.size() )
|
||||
i.res = ticket_info.item_sort_tab[item_sort_index]->subject.empty();
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_subject(Info & i)
|
||||
{
|
||||
Item * dir = tickets_tab_find_index_dir();
|
||||
|
||||
if( dir )
|
||||
i.out << dir->subject;
|
||||
if( item_sort_index < ticket_info.item_sort_tab.size() )
|
||||
i.out << ticket_info.item_sort_tab[item_sort_index]->subject;
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab(Info & i)
|
||||
{
|
||||
if( tickets_tab_index < ticket_info.ticket_tab.size() )
|
||||
has_value = false;
|
||||
|
||||
if( has_ticket &&
|
||||
item_sort_index < ticket_info.item_sort_tab.size() &&
|
||||
ticket_index < ticket_info.ticket_tab.size() )
|
||||
{
|
||||
conf_tab_index = i.iter;
|
||||
i.res = conf_tab_index < ticket_info.cur_conf->tab.size();
|
||||
@@ -199,37 +178,105 @@ void tickets_tab_conf_tab(Info & i)
|
||||
if( i.res )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
const Ticket & ticket = ticket_info.ticket_tab[tickets_tab_index];
|
||||
find_ticket_value(conf_item, ticket, &has_value, &value);
|
||||
const Ticket & ticket = ticket_info.ticket_tab[ticket_index];
|
||||
has_value = find_ticket_value(conf_item, ticket, &par_index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_value(Info & i)
|
||||
{
|
||||
if( has_value )
|
||||
ticket_print_value(i, conf_tab_index, value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_progress(Info & i)
|
||||
{
|
||||
if( has_value &&
|
||||
conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
item_sort_index < ticket_info.item_sort_tab.size() &&
|
||||
ticket_index < ticket_info.ticket_tab.size() &&
|
||||
par_index < ticket_info.ticket_tab[ticket_index].par_tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = IsSubString(ticket_info.progress_prefix, conf_item.name);
|
||||
ticket_print_value(i, conf_tab_index, ticket_info.ticket_tab[ticket_index].par_tab[par_index]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_integer(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeInteger;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_progress(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeProgress;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_select(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeSelect;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_string(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeString;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_multistring(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeMultistring;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_images(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeImages;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_is_files(Info & i)
|
||||
{
|
||||
if( has_value && conf_tab_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
i.res = conf_item.type == TicketConf::TicketItem::TypeFiles;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void tickets_tab_conf_tab_progress_image_number(Info & i)
|
||||
{
|
||||
if( has_value )
|
||||
i.out << ticket_calc_progress_image_number(value);
|
||||
if( has_value &&
|
||||
ticket_index < ticket_info.ticket_tab.size() &&
|
||||
par_index < ticket_info.ticket_tab[ticket_index].par_tab.size() )
|
||||
{
|
||||
int progress = ticket_info.ticket_tab[ticket_index].par_tab[par_index].int_value;
|
||||
i.out << ticket_calc_progress_image_number(progress);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -237,12 +284,17 @@ void tickets_tab_conf_tab_progress_image_number(Info & i)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
namespace ns_ticket_tab
|
||||
{
|
||||
static size_t conf_index;
|
||||
static size_t select_index;
|
||||
static size_t conf_index; // index for: ticket_info.cur_conf->tab
|
||||
static size_t select_index; // index for: ticket_info.cur_conf->tab[conf_index].select
|
||||
static size_t par_index; // index for: ticket_info.ticket->par_tab
|
||||
static size_t files_number;
|
||||
static bool has_value;
|
||||
static int value;
|
||||
|
||||
|
||||
|
||||
void ticket_tab(Info & i)
|
||||
@@ -253,11 +305,12 @@ void ticket_tab(Info & i)
|
||||
if( i.res )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_index];
|
||||
find_ticket_value(conf_item, ticket_info.ticket, &has_value, &value);
|
||||
has_value = find_ticket_value(conf_item, *ticket_info.ticket, &par_index);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ticket_tab_param(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
@@ -267,8 +320,8 @@ void ticket_tab_param(Info & i)
|
||||
|
||||
void ticket_tab_value(Info & i)
|
||||
{
|
||||
if( has_value )
|
||||
ticket_print_value(i, conf_index, value);
|
||||
if( has_value && par_index < ticket_info.ticket->par_tab.size() )
|
||||
ticket_print_value(i, conf_index, ticket_info.ticket->par_tab[par_index]);
|
||||
}
|
||||
|
||||
|
||||
@@ -280,13 +333,33 @@ void ticket_tab_param_index(Info & i)
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_value_index(Info & i)
|
||||
void ticket_tab_int_value_index(Info & i)
|
||||
{
|
||||
if( has_value )
|
||||
i.out << value;
|
||||
if( has_value && par_index < ticket_info.ticket->par_tab.size() )
|
||||
i.out << ticket_info.ticket->par_tab[par_index].int_value;
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_str_value_index(Info & i)
|
||||
{
|
||||
if( has_value && par_index < ticket_info.ticket->par_tab.size() )
|
||||
i.out << ticket_info.ticket->par_tab[par_index].str_value;
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_is_integer(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeInteger;
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_is_progress(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeProgress;
|
||||
}
|
||||
|
||||
void ticket_tab_is_select(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
@@ -294,10 +367,31 @@ void ticket_tab_is_select(Info & i)
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_is_integer(Info & i)
|
||||
void ticket_tab_is_string(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeInteger;
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeString;
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_is_multistring(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeMultistring;
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_is_images(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeImages;
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_is_files(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() )
|
||||
i.res = ticket_info.cur_conf->tab[conf_index].type == TicketConf::TicketItem::TypeFiles;
|
||||
}
|
||||
|
||||
|
||||
@@ -311,15 +405,17 @@ void ticket_tab_select_tab(Info & i)
|
||||
}
|
||||
|
||||
|
||||
// !! zmienic nazwe na cos w stylu should_be_selected
|
||||
// bo to nie tylko odczytuje nazwe z konfiga
|
||||
void ticket_tab_select_tab_is_default(Info & i)
|
||||
{
|
||||
if( has_value )
|
||||
if( has_value && par_index < ticket_info.ticket->par_tab.size() )
|
||||
{
|
||||
i.res = select_index == (size_t)value;
|
||||
i.res = select_index == (size_t)ticket_info.ticket->par_tab[par_index].int_value;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() &&
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() &&
|
||||
select_index < ticket_info.cur_conf->tab[conf_index].select.size() )
|
||||
{
|
||||
i.res = select_index == ticket_info.cur_conf->tab[conf_index].select_default;
|
||||
@@ -330,7 +426,7 @@ void ticket_tab_select_tab_is_default(Info & i)
|
||||
|
||||
void ticket_tab_select_tab_name(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() &&
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() &&
|
||||
select_index < ticket_info.cur_conf->tab[conf_index].select.size() )
|
||||
{
|
||||
i.out << ticket_info.cur_conf->tab[conf_index].select[select_index].name;
|
||||
@@ -340,7 +436,7 @@ void ticket_tab_select_tab_name(Info & i)
|
||||
|
||||
void ticket_tab_select_tab_id(Info & i)
|
||||
{
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() &&
|
||||
if( conf_index < ticket_info.cur_conf->tab.size() &&
|
||||
select_index < ticket_info.cur_conf->tab[conf_index].select.size() )
|
||||
{
|
||||
i.out << ticket_info.cur_conf->tab[conf_index].select[select_index].id;
|
||||
@@ -348,6 +444,49 @@ void ticket_tab_select_tab_id(Info & i)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void ticket_tab_files_tab(Info & i)
|
||||
{
|
||||
files_number = i.iter;
|
||||
|
||||
if( has_value && conf_index < ticket_info.cur_conf->tab.size() )
|
||||
{
|
||||
if( i.iter == 0 )
|
||||
{
|
||||
// first iteration, we are using the par_index found by previous call to ticket_tab
|
||||
i.res = true;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// next iteration, we are looking for the next par_index
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_index];
|
||||
|
||||
for(++par_index ; par_index < ticket_info.ticket->par_tab.size() ; ++par_index)
|
||||
{
|
||||
if( ticket_info.ticket->par_tab[par_index].param == conf_item.id )
|
||||
{
|
||||
i.res = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// there are no more such items
|
||||
has_value = false;
|
||||
i.res = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ticket_tab_files_tab_index(Info & i)
|
||||
{
|
||||
i.out << files_number;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace ns_ticket_tab
|
||||
|
||||
|
||||
@@ -362,94 +501,52 @@ using namespace ns_ticket_tab;
|
||||
using TemplatesFunctions::EzcFun;
|
||||
EzcFun * fun = reinterpret_cast<EzcFun*>(info.p1);
|
||||
|
||||
fun->Insert("ticket_is", ticket_is);
|
||||
fun->Insert("ticket_item_subject", ticket_item_subject);
|
||||
fun->Insert("ticket_item_content", ticket_item_content);
|
||||
fun->Insert("ticket_item_content_type_is", ticket_item_content_type_is);
|
||||
fun->Insert("ticket_item_print_content", ticket_item_print_content);
|
||||
fun->Insert("ticket_can_create", ticket_can_create);
|
||||
fun->Insert("ticket_can_edit", ticket_can_edit);
|
||||
|
||||
fun->Insert("tickets_tab", tickets_tab);
|
||||
fun->Insert("tickets_tab_url", tickets_tab_url);
|
||||
fun->Insert("tickets_tab_subject_empty", tickets_tab_subject_empty);
|
||||
fun->Insert("tickets_tab_subject", tickets_tab_subject);
|
||||
fun->Insert("tickets_tab_url", tickets_tab_url);
|
||||
fun->Insert("ticket_can_create", ticket_can_create);
|
||||
fun->Insert("ticket_can_edit", ticket_can_edit);
|
||||
|
||||
fun->Insert("tickets_tab", tickets_tab);
|
||||
fun->Insert("tickets_tab_url", tickets_tab_url);
|
||||
fun->Insert("tickets_tab_subject_empty", tickets_tab_subject_empty);
|
||||
fun->Insert("tickets_tab_subject", tickets_tab_subject);
|
||||
fun->Insert("tickets_tab_url", tickets_tab_url);
|
||||
|
||||
fun->Insert("tickets_tab_conf_tab", tickets_tab_conf_tab);
|
||||
fun->Insert("tickets_tab_conf_tab", tickets_tab_conf_tab);
|
||||
fun->Insert("tickets_tab_conf_tab_value", tickets_tab_conf_tab_value);
|
||||
fun->Insert("tickets_tab_conf_tab_is_progress", tickets_tab_conf_tab_is_progress);
|
||||
fun->Insert("tickets_tab_conf_tab_progress_image_number", tickets_tab_conf_tab_progress_image_number);
|
||||
|
||||
fun->Insert("tickets_tab_conf_tab_is_integer", tickets_tab_conf_tab_is_integer);
|
||||
fun->Insert("tickets_tab_conf_tab_is_progress", tickets_tab_conf_tab_is_progress);
|
||||
fun->Insert("tickets_tab_conf_tab_is_select", tickets_tab_conf_tab_is_select);
|
||||
fun->Insert("tickets_tab_conf_tab_is_string", tickets_tab_conf_tab_is_string);
|
||||
fun->Insert("tickets_tab_conf_tab_is_multistring", tickets_tab_conf_tab_is_multistring);
|
||||
fun->Insert("tickets_tab_conf_tab_is_images", tickets_tab_conf_tab_is_images);
|
||||
fun->Insert("tickets_tab_conf_tab_is_files", tickets_tab_conf_tab_is_files);
|
||||
fun->Insert("tickets_tab_conf_tab_progress_image_number", tickets_tab_conf_tab_progress_image_number);
|
||||
|
||||
|
||||
fun->Insert("ticket_tab", ticket_tab);
|
||||
fun->Insert("ticket_tab_param", ticket_tab_param);
|
||||
fun->Insert("ticket_tab_value", ticket_tab_value);
|
||||
fun->Insert("ticket_tab_param_index", ticket_tab_param_index);
|
||||
fun->Insert("ticket_tab_value_index", ticket_tab_value_index);
|
||||
|
||||
fun->Insert("ticket_tab_is_select", ticket_tab_is_select);
|
||||
fun->Insert("ticket_tab_is_integer", ticket_tab_is_integer);
|
||||
fun->Insert("ticket_tab", ticket_tab);
|
||||
|
||||
fun->Insert("ticket_tab_select_tab", ticket_tab_select_tab);
|
||||
fun->Insert("ticket_tab_param", ticket_tab_param);
|
||||
fun->Insert("ticket_tab_value", ticket_tab_value);
|
||||
fun->Insert("ticket_tab_param_index", ticket_tab_param_index);
|
||||
fun->Insert("ticket_tab_int_value_index", ticket_tab_int_value_index);
|
||||
fun->Insert("ticket_tab_str_value_index", ticket_tab_str_value_index);
|
||||
|
||||
fun->Insert("ticket_tab_is_integer", ticket_tab_is_integer);
|
||||
fun->Insert("ticket_tab_is_progress", ticket_tab_is_progress);
|
||||
fun->Insert("ticket_tab_is_select", ticket_tab_is_select);
|
||||
fun->Insert("ticket_tab_is_string", ticket_tab_is_string);
|
||||
fun->Insert("ticket_tab_is_multistring", ticket_tab_is_multistring);
|
||||
fun->Insert("ticket_tab_is_images", ticket_tab_is_images);
|
||||
fun->Insert("ticket_tab_is_files", ticket_tab_is_files);
|
||||
|
||||
fun->Insert("ticket_tab_select_tab", ticket_tab_select_tab);
|
||||
fun->Insert("ticket_tab_select_tab_is_default", ticket_tab_select_tab_is_default);
|
||||
fun->Insert("ticket_tab_select_tab_id", ticket_tab_select_tab_id);
|
||||
fun->Insert("ticket_tab_select_tab_name", ticket_tab_select_tab_name);
|
||||
fun->Insert("ticket_tab_select_tab_id", ticket_tab_select_tab_id);
|
||||
fun->Insert("ticket_tab_select_tab_name", ticket_tab_select_tab_name);
|
||||
|
||||
|
||||
/*
|
||||
fun->Insert("ticket_type", ticket_type);
|
||||
fun->Insert("ticket_status", ticket_status);
|
||||
fun->Insert("ticket_priority", ticket_priority);
|
||||
fun->Insert("ticket_category", ticket_category);
|
||||
fun->Insert("ticket_expected", ticket_expected);
|
||||
fun->Insert("ticket_progress", ticket_progress);
|
||||
fun->Insert("ticket_progress_image_number", ticket_progress_image_number);
|
||||
|
||||
fun->Insert("ticket_tab", ticket_tab);
|
||||
fun->Insert("ticket_tab_url", ticket_tab_url);
|
||||
fun->Insert("ticket_tab_subject", ticket_tab_subject);
|
||||
fun->Insert("ticket_tab_subject_empty", ticket_tab_subject_empty);
|
||||
fun->Insert("ticket_tab_author", ticket_tab_author);
|
||||
fun->Insert("ticket_tab_type", ticket_tab_type);
|
||||
fun->Insert("ticket_tab_status", ticket_tab_status);
|
||||
fun->Insert("ticket_tab_priority", ticket_tab_priority);
|
||||
fun->Insert("ticket_tab_category", ticket_tab_category);
|
||||
fun->Insert("ticket_tab_expected", ticket_tab_expected);
|
||||
fun->Insert("ticket_tab_progress", ticket_tab_progress);
|
||||
fun->Insert("ticket_tab_progress_image_number",ticket_tab_progress_image_number);
|
||||
|
||||
fun->Insert("ticket_type_tab", ticket_type_tab);
|
||||
fun->Insert("ticket_type_tab_defined", ticket_type_tab_defined);
|
||||
fun->Insert("ticket_type_tab_isdefault", ticket_type_tab_isdefault);
|
||||
fun->Insert("ticket_type_tab_index", ticket_type_tab_index);
|
||||
fun->Insert("ticket_type_tab_name", ticket_type_tab_name);
|
||||
|
||||
fun->Insert("ticket_status_tab", ticket_status_tab);
|
||||
fun->Insert("ticket_status_tab_defined", ticket_status_tab_defined);
|
||||
fun->Insert("ticket_status_tab_isdefault", ticket_status_tab_isdefault);
|
||||
fun->Insert("ticket_status_tab_index", ticket_status_tab_index);
|
||||
fun->Insert("ticket_status_tab_name", ticket_status_tab_name);
|
||||
|
||||
fun->Insert("ticket_priority_tab", ticket_priority_tab);
|
||||
fun->Insert("ticket_priority_tab_defined", ticket_priority_tab_defined);
|
||||
fun->Insert("ticket_priority_tab_isdefault", ticket_priority_tab_isdefault);
|
||||
fun->Insert("ticket_priority_tab_index", ticket_priority_tab_index);
|
||||
fun->Insert("ticket_priority_tab_name", ticket_priority_tab_name);
|
||||
|
||||
fun->Insert("ticket_category_tab", ticket_category_tab);
|
||||
fun->Insert("ticket_category_tab_defined", ticket_category_tab_defined);
|
||||
fun->Insert("ticket_category_tab_isdefault", ticket_category_tab_isdefault);
|
||||
fun->Insert("ticket_category_tab_index", ticket_category_tab_index);
|
||||
fun->Insert("ticket_category_tab_name", ticket_category_tab_name);
|
||||
|
||||
fun->Insert("ticket_expected_tab", ticket_expected_tab);
|
||||
fun->Insert("ticket_expected_tab_defined", ticket_expected_tab_defined);
|
||||
fun->Insert("ticket_expected_tab_isdefault", ticket_expected_tab_isdefault);
|
||||
fun->Insert("ticket_expected_tab_index", ticket_expected_tab_index);
|
||||
fun->Insert("ticket_expected_tab_name", ticket_expected_tab_name);
|
||||
*/
|
||||
fun->Insert("ticket_tab_files_tab", ticket_tab_files_tab);
|
||||
fun->Insert("ticket_tab_files_tab_index", ticket_tab_files_tab_index);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user