X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/e436a6b05600897aed8c5420d44bf4e1b39cb74f..eabb0fd8c765a8d27c93a35f6092d2bc04348e8d:/SL/Common.pm diff --git a/SL/Common.pm b/SL/Common.pm index c67c58c00..2aedb6f81 100644 --- a/SL/Common.pm +++ b/SL/Common.pm @@ -260,7 +260,7 @@ sub webdav_folder { my ($path, $number); - $form->{WEBDAV} = {}; + $form->{WEBDAV} = []; if ($form->{type} eq "sales_quotation") { ($path, $number) = ("angebote", $form->{quonumber}); @@ -293,18 +293,22 @@ sub webdav_folder { $base_path =~ s|/$||; if (opendir $dir, $path) { - foreach my $file (readdir $dir) { + foreach my $file (sort { lc $a cmp lc $b } readdir $dir) { next if (($file eq '.') || ($file eq '..')); my $fname = $file; $fname =~ s|.*/||; - my $physical_file = "$path/$file"; + my $is_directory = -d "$path/$file"; $file = join('/', map { $form->escape($_) } grep { $_ } split m|/+|, "$path/$file"); - $file .= '/' if (-d $physical_file); + $file .= '/' if ($is_directory); - $form->{WEBDAV}->{$fname} = ($ENV{"HTTPS"} ? "https://" : "http://") . $ENV{'SERVER_NAME'} . "/$base_path/$file"; + push @{ $form->{WEBDAV} }, { + 'name' => $fname, + 'link' => ($ENV{"HTTPS"} ? "https://" : "http://") . $ENV{'SERVER_NAME'} . "/$base_path/$file", + 'type' => $is_directory ? $main::locale->text('Directory') : $main::locale->text('File'), + }; } closedir $dir; @@ -380,4 +384,55 @@ sub get_shipto_by_id { $main::lxdebug->leave_sub(); } +sub save_email_status { + $main::lxdebug->enter_sub(); + + my ($self, $myconfig, $form) = @_; + + my ($table, $query, $dbh); + + if ($form->{script} eq 'oe.pl') { + $table = 'oe'; + + } elsif ($form->{script} eq 'is.pl') { + $table = 'ar'; + + } elsif ($form->{script} eq 'ir.pl') { + $table = 'ap'; + + } + + return $main::lxdebug->leave_sub() if (!$form->{id} || !$table || !$form->{formname}); + + $dbh = $form->get_standard_dbh($myconfig); + + my ($intnotes) = selectrow_query($form, $dbh, qq|SELECT intnotes FROM $table WHERE id = ?|, $form->{id}); + + $intnotes =~ s|\r||g; + $intnotes =~ s|\n$||; + + $intnotes .= "\n\n" if ($intnotes); + + my $cc = $main::locale->text('Cc') . ": $form->{cc}\n" if $form->{cc}; + my $bcc = $main::locale->text('Bcc') . ": $form->{bcc}\n" if $form->{bcc}; + my $now = scalar localtime; + + $intnotes .= $main::locale->text('[email]') . "\n" + . $main::locale->text('Date') . ": $now\n" + . $main::locale->text('To (email)') . ": $form->{email}\n" + . "${cc}${bcc}" + . $main::locale->text('Subject') . ": $form->{subject}\n\n" + . $main::locale->text('Message') . ": $form->{message}"; + + $intnotes =~ s|\r||g; + + do_query($form, $dbh, qq|UPDATE $table SET intnotes = ? WHERE id = ?|, $intnotes, $form->{id}); + + $form->save_status($dbh); + + $dbh->commit(); + + $main::lxdebug->leave_sub(); +} + 1;