# Web http://www.lx-office.org
#
#====================================================================
+#
+#
+# NOTE: strict checks are package global. don't check this file
+# with perl -sc, it will only capture SimpleTemplate
+#
+#
package SimpleTemplate;
+use strict;
+
# Parameters:
# 1. The template's file name
# 2. A reference to the Form object
@ISA = qw(SimpleTemplate);
+use strict;
+
sub new {
my $type = shift;
@ISA = qw(LaTeXTemplate);
+use strict;
+
sub new {
my $type = shift;
@ISA = qw(LaTeXTemplate);
+use strict;
+
sub new {
my $type = shift;
@ISA = qw(SimpleTemplate);
+use strict;
+
sub new {
my $type = shift;
- $self = $type->SUPER::new(@_);
+ my $self = $type->SUPER::new(@_);
foreach my $module (qw(Archive::Zip Text::Iconv)) {
eval("use ${module};");
}
my $zip = Archive::Zip->new();
- if (Archive::Zip::AZ_OK != $zip->read($file_name)) {
+ if (Archive::Zip->AZ_OK != $zip->read($file_name)) {
$self->{"error"} = "File not found/is not a OpenDocument file.";
$main::lxdebug->leave_sub();
return 0;
my $dfname = $self->{"userspath"} . "/xvfb_display";
my $display;
- $main::lxdebug->message(LXDebug::DEBUG2, " Looking for $dfname\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " Looking for $dfname\n");
if ((-f $dfname) && open(IN, $dfname)) {
my $pid = <IN>;
chomp($pid);
chomp($xauthority);
close(IN);
- $main::lxdebug->message(LXDebug::DEBUG2, " found with $pid and $display\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " found with $pid and $display\n");
if ((! -d "/proc/$pid") || !open(IN, "/proc/$pid/cmdline")) {
- $main::lxdebug->message(LXDebug::DEBUG2, " no/wrong process #1\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " no/wrong process #1\n");
unlink($dfname, $xauthority);
$main::lxdebug->leave_sub();
return undef;
my $line = <IN>;
close(IN);
if ($line !~ /xvfb/i) {
- $main::lxdebug->message(LXDebug::DEBUG2, " no/wrong process #2\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " no/wrong process #2\n");
unlink($dfname, $xauthority);
$main::lxdebug->leave_sub();
return undef;
$ENV{"XAUTHORITY"} = $xauthority;
$ENV{"DISPLAY"} = $display;
} else {
- $main::lxdebug->message(LXDebug::DEBUG2, " not found\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " not found\n");
}
$main::lxdebug->leave_sub();
my ($self) = @_;
- $main::lxdebug->message(LXDebug::DEBUG2, "spawn_xvfb()\n");
+ $main::lxdebug->message(LXDebug->DEBUG2, "spawn_xvfb()\n");
my $display = $self->is_xvfb_running();
$display++;
}
$display = ":${display}";
- $main::lxdebug->message(LXDebug::DEBUG2, " display $display\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " display $display\n");
my $mcookie = `mcookie`;
die("Installation error: mcookie not found.") if ($? != 0);
chomp($mcookie);
- $main::lxdebug->message(LXDebug::DEBUG2, " mcookie $mcookie\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " mcookie $mcookie\n");
my $xauthority = "/tmp/.Xauthority-" . $$ . "-" . time() . "-" . int(rand(9999999));
$ENV{"XAUTHORITY"} = $xauthority;
- $main::lxdebug->message(LXDebug::DEBUG2, " xauthority $xauthority\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " xauthority $xauthority\n");
system("xauth add \"${display}\" . \"${mcookie}\"");
if ($? != 0) {
return undef;
}
- $main::lxdebug->message(LXDebug::DEBUG2, " about to fork()\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " about to fork()\n");
my $pid = fork();
if (0 == $pid) {
- $main::lxdebug->message(LXDebug::DEBUG2, " Child execing\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " Child execing\n");
exec($main::xvfb_bin, $display, "-screen", "0", "640x480x8", "-nolisten", "tcp");
}
sleep(3);
- $main::lxdebug->message(LXDebug::DEBUG2, " parent dont sleeping\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " parent dont sleeping\n");
local *OUT;
my $dfname = $self->{"userspath"} . "/xvfb_display";
print(OUT "$pid\n$display\n$xauthority\n");
close(OUT);
- $main::lxdebug->message(LXDebug::DEBUG2, " parent re-testing\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " parent re-testing\n");
if (!$self->is_xvfb_running()) {
$self->{"error"} = "Conversion to PDF failed because OpenOffice could not be started.";
return undef;
}
- $main::lxdebug->message(LXDebug::DEBUG2, " spawn OK\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " spawn OK\n");
$main::lxdebug->leave_sub();
system("./scripts/oo-uno-test-conn.py $main::openofficeorg_daemon_port " .
"> /dev/null 2> /dev/null");
my $res = $? == 0;
- $main::lxdebug->message(LXDebug::DEBUG2, " is_openoffice_running(): $?\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " is_openoffice_running(): $?\n");
$main::lxdebug->leave_sub();
my ($self) = @_;
- $main::lxdebug->message(LXDebug::DEBUG2, "spawn_openoffice()\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), "spawn_openoffice()\n");
my ($try, $spawned_oo, $res);
if (!$spawned_oo) {
my $pid = fork();
if (0 == $pid) {
- $main::lxdebug->message(LXDebug::DEBUG2, " Child daemonizing\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " Child daemonizing\n");
chdir('/');
open(STDIN, '/dev/null');
open(STDOUT, '>/dev/null');
my $new_pid = fork();
exit if ($new_pid);
my $ssres = setsid();
- $main::lxdebug->message(LXDebug::DEBUG2, " Child execing\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " Child execing\n");
my @cmdline = ($main::openofficeorg_writer_bin,
"-minimized", "-norestore", "-nologo", "-nolockcheck",
"-headless",
exec(@cmdline);
}
- $main::lxdebug->message(LXDebug::DEBUG2, " Parent after fork\n");
+ $main::lxdebug->message(LXDebug->DEBUG2(), " Parent after fork\n");
$spawned_oo = 1;
sleep(3);
}
}
sub get_mime_type() {
+ my ($self) = @_;
+
if ($self->{"form"}->{"format"} =~ /pdf/) {
return "application/pdf";
} else {
@ISA = qw(HTMLTemplate);
+use strict;
+
sub new {
#evtl auskommentieren
my $type = shift;