diff options
Diffstat (limited to 'LedgerSMB.pm')
-rwxr-xr-x | LedgerSMB.pm | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/LedgerSMB.pm b/LedgerSMB.pm index e751a229..c1dabfb7 100755 --- a/LedgerSMB.pm +++ b/LedgerSMB.pm @@ -2722,150 +2722,6 @@ sub save_intnotes { } -sub update_defaults { - - my ($self, $myconfig, $fld) = @_; - - if (!$self->{dbh} && $self){ - $self->db_init($myconfig); - } - - my $dbh = $self->{dbh}; - - if (!$self){ - $dbh = $_[3]; - } - - my $query = qq| - SELECT value FROM defaults - WHERE setting_key = ? FOR UPDATE|; - $sth = $dbh->prepare($query); - $sth->execute($fld); - ($_) = $sth->fetchrow_array(); - - $_ = "0" unless $_; - - # check for and replace - # <?lsmb DATE ?>, <?lsmb YYMMDD ?>, <?lsmb YEAR ?>, <?lsmb MONTH ?>, <?lsmb DAY ?> or variations of - # <?lsmb NAME 1 1 3 ?>, <?lsmb BUSINESS ?>, <?lsmb BUSINESS 10 ?>, <?lsmb CURR... ?> - # <?lsmb DESCRIPTION 1 1 3 ?>, <?lsmb ITEM 1 1 3 ?>, <?lsmb PARTSGROUP 1 1 3 ?> only for parts - # <?lsmb PHONE ?> for customer and vendors - - my $num = $_; - ($num) = $num =~ /(\d+)/; - - if (defined $num) { - my $incnum; - # if we have leading zeros check how long it is - - if ($num =~ /^0/) { - my $l = length $num; - $incnum = $num + 1; - $l -= length $incnum; - - # pad it out with zeros - my $padzero = "0" x $l; - $incnum = ("0" x $l) . $incnum; - } else { - $incnum = $num + 1; - } - - s/$num/$incnum/; - } - - my $dbvar = $_; - my $var = $_; - my $str; - my $param; - - if (/<\?lsmb /) { - - while (/<\?lsmb /) { - - s/<\?lsmb .*? \?>//; - last unless $&; - $param = $&; - $str = ""; - - if ($param =~ /<\?lsmb date \?>/i) { - $str = ($self->split_date($myconfig->{dateformat}, $self->{transdate}))[0]; - $var =~ s/$param/$str/; - } - - if ($param =~ /<\?lsmb (name|business|description|item|partsgroup|phone|custom)/i) { - - my $fld = lc $&; - $fld =~ s/<\?lsmb //; - - if ($fld =~ /name/) { - if ($self->{type}) { - $fld = $self->{vc}; - } - } - - my $p = $param; - $p =~ s/(<|>|%)//g; - my @p = split / /, $p; - my @n = split / /, uc $self->{$fld}; - - if ($#p > 0) { - - for (my $i = 1; $i <= $#p; $i++) { - $str .= substr($n[$i-1], 0, $p[$i]); - } - - } else { - ($str) = split /--/, $self->{$fld}; - } - - $var =~ s/$param/$str/; - $var =~ s/\W//g if $fld eq 'phone'; - } - - if ($param =~ /<\?lsmb (yy|mm|dd)/i) { - - my $p = $param; - $p =~ s/(<|>|%)//g; - my $spc = $p; - $spc =~ s/\w//g; - $spc = substr($spc, 0, 1); - my %d = ( yy => 1, mm => 2, dd => 3 ); - my @p = (); - - my @a = $self->split_date($myconfig->{dateformat}, $self->{transdate}); - for (sort keys %d) { push @p, $a[$d{$_}] if ($p =~ /$_/) } - $str = join $spc, @p; - $var =~ s/$param/$str/; - } - - if ($param =~ /<\?lsmb curr/i) { - $var =~ s/$param/$self->{currency}/; - } - } - } - - $query = qq| - UPDATE defaults - SET value = ? - WHERE setting_key = ?|; - - $sth = $dbh->prepare($query); - $sth->execute($dbvar, $fld) || $self->dberror($query); - - $dbh->commit; - - $var; -} - -sub db_prepare_vars { - my $self = shift; - - for (@_){ - if (!$self->{$_} and $self->{$_} ne "0"){ - undef $self->{$_}; - } - } -} sub split_date { |