Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6e56204d

Von Jan Büren vor mehr als 13 Jahren hinzugefügt

Revert "Webdav-Komponente: Das Erstellen des Verzeichnisses ausgelagert. Ferner den Beleg auch in das Webdav-Verzeichnis kopieren."

This reverts commit 4cb3ecfd6f144901ed89dae7acafdf1c124c53f4.

Svens Anmerkungen:

Hehe, ich check die ein, da die Erweiterung sowieso nur die webdav-
komponente betrifft. ansonsten reverte ich direkt, falls du anders
denkst.

Ich denke anders, wie immer.

- schonwieder deutsche Kommentare grrr

- return $main::lxdebug->leave_sub() unless ($path); <- solche kontrukte liefern 1
zurück (ich hab das irgendwann mal auf definiert 1 gesetzt nachdem vorher alles
mögliche bei rauskommen konnte). Wenn dann benutz lieber sowas:

$::lxdebug->leave_sub && return unless $path;

- copy_file_to_webdav_folder setzt $form->{type} auf '' und stirbt anschliessend
auf die Bedingung !$form->{type}. Das soll wahrscheinlich nicht so sein oder?

- Nicht jede print Operation hat tmpfiles. Im schlimmsten Fall hast Du damit n
directory traversal eingebaut, das musst Du unbedingt dreifach prüfen und nicht
einfach aus form holen. Sonst schreibt einer einfach tmpdir=/etc&&tmpfile=passwd
in die URL.

Und zu Deinem ursprünglichen Problem: Ich vermute das liegt an der Positionierung
in parse_template. Die Funktion ist ziemlich destruktiv geschrieben, die macht
halt form kaputt um was druckbares zu produzieren. Lass Dir mal form dunpen, ich
vermute dass da schon irgendwas kaputt ist. Die Fehlermeldung funktioniert in der
Konsole einwandfrei.

Unterschiede anzeigen:

SL/Form.pm
1204 1204
  local (*IN, *OUT);
1205 1205

  
1206 1206
  my $userspath = $::lx_office_conf{paths}->{userspath};
1207

  
1207 1208
  $self->{"cwd"} = getcwd();
1208 1209
  $self->{"tmpdir"} = $self->{cwd} . "/${userspath}";
1209 1210

  
......
1295 1296
    $result = $template->parse(*STDOUT);
1296 1297
  }
1297 1298

  
1298
  Common::copy_file_to_webdav_folder($self)  if ($self->{webdav});
1299 1299
  if (!$result) {
1300 1300
    $self->cleanup();
1301 1301
    $self->error("$self->{IN} : " . $template->get_error());

Auch abrufbar als: Unified diff