Revision f6e5b55a
Von Moritz Bunkus vor fast 18 Jahren hinzugefügt
SL/InstallationCheck.pm | ||
---|---|---|
12 | 12 |
{ "name" => "Archive::Zip", "url" => "http://search.cpan.org/~adamk/" }, |
13 | 13 |
{ "name" => "Text::Iconv", "url" => "http://search.cpan.org/~mpiotr/" }, |
14 | 14 |
{ "name" => "Time::HiRes", "url" => "http://search.cpan.org/~jhi/" }, |
15 |
{ "name" => "YAML", "url" => "http://search.cpan.org/~ingy/" }, |
|
15 | 16 |
); |
16 | 17 |
|
17 | 18 |
sub module_available { |
bin/mozilla/common.pl | ||
---|---|---|
9 | 9 |
# |
10 | 10 |
###################################################################### |
11 | 11 |
|
12 |
use Data::Dumper;
|
|
12 |
use YAML;
|
|
13 | 13 |
|
14 | 14 |
use SL::Common; |
15 | 15 |
|
16 | 16 |
sub save_form { |
17 | 17 |
$lxdebug->enter_sub(); |
18 | 18 |
|
19 |
my (@names, @values); |
|
20 |
foreach my $key (keys(%{$form})) { |
|
21 |
push(@names, "\$form->{\"$key\"}"); |
|
22 |
push(@values, $form->{$key}); |
|
23 |
} |
|
24 |
my $dumper = Data::Dumper->new(\@values, \@names); |
|
25 |
$dumper->Indent(0); |
|
26 |
my $old_form = $dumper->Dump(); |
|
19 |
my $yaml = new YAML; |
|
20 |
$yaml->Indent(1); |
|
21 |
my $old_form = $yaml->dump($form); |
|
22 |
$old_form =~ s|!|!!|g; |
|
23 |
$old_form =~ s|\n|!n|g; |
|
24 |
$old_form =~ s|\r|!r|g; |
|
25 |
$lxdebug->message(0, "yeah!???\n\n$old_form\n\n\n"); |
|
27 | 26 |
|
28 | 27 |
$lxdebug->leave_sub(); |
29 | 28 |
|
... | ... | |
36 | 35 |
my ($old_form, $no_delete) = @_; |
37 | 36 |
|
38 | 37 |
map({ delete($form->{$_}); } keys(%{$form})) unless ($no_delete); |
39 |
eval($old_form); |
|
38 |
$old_form =~ s|!r|\r|g; |
|
39 |
$old_form =~ s|!n|\n|g; |
|
40 |
$old_form =~ s|!!|!|g; |
|
41 |
$form = YAML::Load($old_form); |
|
40 | 42 |
|
41 | 43 |
$lxdebug->leave_sub(); |
42 | 44 |
} |
doc/INSTALL | ||
---|---|---|
31 | 31 |
* Class::Accessor |
32 | 32 |
* Archive::Zip |
33 | 33 |
* Text::Iconv |
34 |
* YAML |
|
34 | 35 |
|
35 | 36 |
Diese Pakete k?nnen bei den unterschiedlichen Distributionen anders hei?en. |
36 |
(Debian: apache, postgresql, libdbi-perl, libdbd-pg-perl, libpgperl, libhtml-template-perl, libclass-accessor-perl, libarchive-zip-perl, libtext-iconv-perl) |
|
37 |
(Debian: apache, postgresql, libdbi-perl, libdbd-pg-perl, libpgperl, libhtml-template-perl, libclass-accessor-perl, libarchive-zip-perl, libtext-iconv-perl, libyaml-perl)
|
|
37 | 38 |
(Fedora: httpd, postgresql-server, perl-DBI, perl-DBD-Pg) |
38 | 39 |
(SuSE: apache2, postgresql-server, perl-DBI, perl-DBD-Pg) |
39 | 40 |
|
doc/UPGRADE | ||
---|---|---|
13 | 13 |
Installationsverzeichnis gen?gen) sowie dem Datenbankupgrade. |
14 | 14 |
|
15 | 15 |
Bitte beachten Sie auch die Liste der ben?tigten Perl-Module am Anfang |
16 |
der Datei "doc/INSTALL". |
|
16 |
der Datei "doc/INSTALL". Besonders nach einem Upgrade auf 2.4.2 muss |
|
17 |
sichergestellt werden, dass das Modul "YAML" installiert ist. |
|
17 | 18 |
|
18 | 19 |
Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste |
19 | 20 |
Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet. |
Auch abrufbar als: Unified diff
Benutze das Perl-Modul "YAML", um $form in einen String umzuwandeln und später daraus wieder herzustellen, da YAML im Gegensatz zu "Data::Dumper" ohne Perls "eval()" auskommt, sondern einen sicheren Parser zur Verfügung stellt. Damit kann die serialisierte $form auch über ein Formular vom Benutzer stammen, ohne ein Sicherheitsproblem darzustellen.