changed: ticket templates
added: new plugin message (WINIX_END_REQUEST) git-svn-id: svn://ttmath.org/publicrep/winix/trunk@714 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -48,9 +48,9 @@ return percent;
|
||||
|
||||
|
||||
|
||||
// binary search for conf_item.id in ticket.par_tab (ticket.par_tab must be sorted by 'param')
|
||||
// binary search for param in ticket.par_tab (ticket.par_tab must be sorted by 'param')
|
||||
// !! zmienic nazwe na find_ticket_param
|
||||
bool find_ticket_value(const TicketConf::TicketItem & conf_item, const Ticket & ticket, size_t & ticket_par_index)
|
||||
bool find_ticket_value(long param, const Ticket & ticket, size_t & ticket_par_index)
|
||||
{
|
||||
if( ticket.par_tab.empty() )
|
||||
return false;
|
||||
@@ -58,25 +58,25 @@ bool find_ticket_value(const TicketConf::TicketItem & conf_item, const Ticket &
|
||||
size_t o1 = 0;
|
||||
size_t o2 = ticket.par_tab.size() - 1;
|
||||
|
||||
if( ticket.par_tab[o1].param == conf_item.id )
|
||||
if( ticket.par_tab[o1].param == param )
|
||||
{
|
||||
ticket_par_index = o1;
|
||||
return true;
|
||||
}
|
||||
|
||||
if( conf_item.id < ticket.par_tab[o1].param )
|
||||
if( param < ticket.par_tab[o1].param )
|
||||
return false;
|
||||
|
||||
if( ticket.par_tab[o2].param == conf_item.id )
|
||||
if( ticket.par_tab[o2].param == param )
|
||||
{
|
||||
while( o2 > 0 && ticket.par_tab[o2-1].param == conf_item.id )
|
||||
while( o2 > 0 && ticket.par_tab[o2-1].param == param )
|
||||
--o2;
|
||||
|
||||
ticket_par_index = o2;
|
||||
return true;
|
||||
}
|
||||
|
||||
if( conf_item.id > ticket.par_tab[o2].param )
|
||||
if( param > ticket.par_tab[o2].param )
|
||||
return false;
|
||||
|
||||
|
||||
@@ -84,15 +84,15 @@ bool find_ticket_value(const TicketConf::TicketItem & conf_item, const Ticket &
|
||||
{
|
||||
ticket_par_index = (o1 + o2) / 2;
|
||||
|
||||
if( ticket.par_tab[ticket_par_index].param == conf_item.id )
|
||||
if( ticket.par_tab[ticket_par_index].param == param )
|
||||
{
|
||||
while( ticket_par_index > 0 && ticket.par_tab[ticket_par_index-1].param == conf_item.id )
|
||||
while( ticket_par_index > 0 && ticket.par_tab[ticket_par_index-1].param == param )
|
||||
--ticket_par_index;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if( ticket.par_tab[ticket_par_index].param < conf_item.id )
|
||||
if( ticket.par_tab[ticket_par_index].param < param )
|
||||
o1 = ticket_par_index;
|
||||
else
|
||||
o2 = ticket_par_index;
|
||||
@@ -223,15 +223,6 @@ void tickets_tab(Info & i)
|
||||
long id = ticket_info.item_sort_tab[item_sort_index]->id;
|
||||
has_ticket = find_ticket(ticket_info.ticket_tab, id, ticket_index);
|
||||
|
||||
/* 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;
|
||||
}
|
||||
}
|
||||
*/
|
||||
plugin.Call(WINIX_PL_THREAD_SET_SORTTAB_INDEX, item_sort_index);
|
||||
}
|
||||
}
|
||||
@@ -258,6 +249,38 @@ void tickets_tab_subject(Info & i)
|
||||
}
|
||||
|
||||
|
||||
|
||||
void tickets_tab_value_int(Info & i)
|
||||
{
|
||||
if( has_ticket && ticket_index < ticket_info.ticket_tab.size() )
|
||||
{
|
||||
size_t par_index;
|
||||
long id = Tol(i.par);
|
||||
Ticket & ticket = ticket_info.ticket_tab[ticket_index];
|
||||
|
||||
if( find_ticket_value(id, ticket, par_index) )
|
||||
i.out << ticket.par_tab[par_index].int_value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void tickets_tab_value_str(Info & i)
|
||||
{
|
||||
if( has_ticket && ticket_index < ticket_info.ticket_tab.size() )
|
||||
{
|
||||
size_t par_index;
|
||||
long id = Tol(i.par);
|
||||
Ticket & ticket = ticket_info.ticket_tab[ticket_index];
|
||||
|
||||
if( find_ticket_value(id, ticket, par_index) )
|
||||
i.out << ticket.par_tab[par_index].str_value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void tickets_tab_conf_tab(Info & i)
|
||||
{
|
||||
has_value = false;
|
||||
@@ -273,7 +296,7 @@ void tickets_tab_conf_tab(Info & i)
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_tab_index];
|
||||
const Ticket & ticket = ticket_info.ticket_tab[ticket_index];
|
||||
has_value = find_ticket_value(conf_item, ticket, par_index);
|
||||
has_value = find_ticket_value(conf_item.id, ticket, par_index);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -405,7 +428,7 @@ void ticket_tab(Info & i)
|
||||
if( i.res )
|
||||
{
|
||||
const TicketConf::TicketItem & conf_item = ticket_info.cur_conf->tab[conf_index];
|
||||
has_value = find_ticket_value(conf_item, *ticket_info.ticket, par_index);
|
||||
has_value = find_ticket_value(conf_item.id, *ticket_info.ticket, par_index);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -606,7 +629,10 @@ using namespace ns_ticket_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);
|
||||
|
||||
// you should provide an id (param) as a first parameter
|
||||
fun->Insert("tickets_tab_value_int", tickets_tab_value_int);
|
||||
fun->Insert("tickets_tab_value_str", tickets_tab_value_str);
|
||||
|
||||
fun->Insert("tickets_tab_conf_tab", tickets_tab_conf_tab);
|
||||
fun->Insert("tickets_tab_conf_tab_has_value", tickets_tab_conf_tab_has_value);
|
||||
|
||||
Reference in New Issue
Block a user