133 lines
3.5 KiB
Perl
133 lines
3.5 KiB
Perl
package TTXTickets;
|
|
#
|
|
# This module is a part of Trouble Ticket Express package
|
|
# http://www.troubleticketexpress.com
|
|
#
|
|
# COPYRIGHT: 2002-2005, United Web Coders
|
|
# http://www.unitedwebcoders.com
|
|
#
|
|
# $Revision: 202 $
|
|
# $Date: 2006-07-17 11:27:36 -0400 (Mon, 17 Jul 2006) $
|
|
#
|
|
|
|
$TTXTickets::VERSION='2.22';
|
|
BEGIN {
|
|
$TTXTickets::REVISION = '$Revision: 202 $';
|
|
if ($TTXTickets::REVISION =~ /(\d+)/) {
|
|
$TTXTickets::REVISION = $1;
|
|
}
|
|
};
|
|
use strict;
|
|
use TTXData;
|
|
|
|
my @tickfields = ('id', 'key', 'open', 'updated', 'closed', 'status', 'oper', 'email', 'name', 'subject',
|
|
'lname', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9','grp');
|
|
my $fldsexpanded = 0;
|
|
my $boundary = '-----------asdjhfKJS12869nmboiu7826318---';
|
|
|
|
# ====================================================================== _fields
|
|
|
|
sub _fields {
|
|
if (!$fldsexpanded) {
|
|
my $cfg = TTXData::get('CONFIG');
|
|
if ($cfg ne undef) {
|
|
my $cnt = int ($cfg->get('cfldcnt'));
|
|
if (!$cfg->get('itemidx')) {
|
|
$cfg->set('itemidx', ($cnt > 10) ? $cnt:10);
|
|
$cfg->save();
|
|
}
|
|
if ($cnt > 10) {
|
|
for (my $i = 10; $i < $cnt; ++$i) {
|
|
push @tickfields, 'item' if $i eq $cfg->get('itemidx');
|
|
push @tickfields, "c$i";
|
|
}
|
|
push @tickfields, 'item' if $cnt eq $cfg->get('itemidx');
|
|
} else {
|
|
push @tickfields, 'item';
|
|
}
|
|
$fldsexpanded = 1;
|
|
}
|
|
}
|
|
return @tickfields;
|
|
}
|
|
# ==================================================================== _boundary
|
|
|
|
sub _boundary {
|
|
return $boundary;
|
|
}
|
|
# ========================================================================== new
|
|
|
|
sub new {
|
|
my $class = shift;
|
|
my $self = {};
|
|
bless($self, $class);
|
|
return $self;
|
|
}
|
|
# ========================================================================= save
|
|
|
|
sub save {
|
|
warn 'Pure virtual method TTXTickets::save() called';
|
|
return 0;
|
|
}
|
|
# ======================================================================= deltik
|
|
|
|
sub deltik {
|
|
warn 'Pure virtual method TTXTickets::deltik() called';
|
|
}
|
|
# ================================================================== ticketbykey
|
|
|
|
sub ticketbykey {
|
|
warn 'Pure virtual method TTXTickets::ticketbykey() called';
|
|
return undef;
|
|
}
|
|
# ======================================================================= ticket
|
|
|
|
sub ticket {
|
|
warn 'Pure virtual method TTXTickets::ticket() called';
|
|
return undef;
|
|
}
|
|
# ==================================================================== addticket
|
|
|
|
sub addticket {
|
|
warn 'Pure virtual method TTXTickets::addticket() called';
|
|
return 0;
|
|
}
|
|
# ========================================================================= list
|
|
|
|
sub list {
|
|
warn 'Pure virtual method TTXTickets::list() called';
|
|
my $browser;
|
|
return $browser;
|
|
}
|
|
# ==================================================================== errortext
|
|
|
|
sub errortext {
|
|
warn "Pure virtual method TTXTickets::errortext() called";
|
|
return 'Pure virtual method TTXTickets::errortext() called';
|
|
}
|
|
# ======================================================================== error
|
|
|
|
sub error {
|
|
my $self = shift;
|
|
return $self->{_ERROR_CODE};
|
|
}
|
|
# ====================================================================== raw2msg
|
|
|
|
sub raw2msg {
|
|
my $msg = {};
|
|
my @msgparts = split(/\n\n/, $_[0]);
|
|
my $rawheader = shift @msgparts;
|
|
$msg->{BODY} = join("\n\n", @msgparts);
|
|
my @headerlines = split(/\n/, $rawheader);
|
|
chomp @headerlines;
|
|
foreach my $line (@headerlines) {
|
|
if ($line =~ /^([a-zA-Z][a-zA-Z0-9-]*):\s*(.*)$/) {
|
|
$msg->{uc $1} = $2;
|
|
}
|
|
}
|
|
return $msg;
|
|
}
|
|
|
|
1;
|
|
#
|