summaryrefslogtreecommitdiff
path: root/LedgerSMB.pm
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-03-10 06:28:31 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-03-10 06:28:31 +0000
commitc39302ddde46f632b1245010e6a08d9bb5f38598 (patch)
tree3da87774c9804e318273727be73a94a84699afd5 /LedgerSMB.pm
parentb768adb1ef785a3ecef9d77098efa8d6fe65a0ef (diff)
Moved defaults handling into separate object
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@876 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB.pm')
-rwxr-xr-xLedgerSMB.pm144
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 {