;
seek(CONF, 0, 0);
truncate(CONF, 0);
-
+
while ($line = shift @config) {
if ($line =~ /^\[/) {
last if ($line =~ /\[$form->{login}\]/);
$login = &login_name($line);
}
-
+
if ($line =~ /^templates=/) {
$user{$login} = &get_value($line);
}
@@ -991,17 +1056,16 @@ sub delete {
print CONF $line;
$login = &login_name($line);
-
while ($line = shift @config) {
if ($line =~ /^\[/) {
$login = &login_name($line);
}
-
+
if ($line =~ /^templates=/) {
$user{$login} = &get_value($line);
}
-
+
print CONF $line;
}
@@ -1015,71 +1079,80 @@ sub delete {
# if found keep directory otherwise delete
if (!$found) {
+
# delete it if there is a template directory
$dir = "$form->{templates}";
if (-d "$dir") {
unlink <$dir/*.html>;
unlink <$dir/*.tex>;
+ unlink <$dir/*.sty>;
rmdir "$dir";
}
}
-
+
# delete config file for user
unlink "$userspath/$form->{login}.conf";
-
+
$form->redirect($locale->text('User deleted!'));
-
-}
+}
sub login_name {
my $login = shift;
-
+
$login =~ s/\[\]//g;
return ($login) ? $login : undef;
-
-}
-
+}
sub get_value {
my $line = shift;
-
+
my ($null, $value) = split(/=/, $line, 2);
# remove comments
$value =~ s/\s#.*//g;
-
+
# remove any trailing whitespace
$value =~ s/^\s*(.*?)\s*$/$1/;
$value;
}
-
-
sub change_admin_password {
- $form->{title} = qq|Lx-Office ERP |.$locale->text('Administration')." / ".$locale->text('Change Admin Password');
-
+ $form->{title} =
+ qq|Lx-Office ERP |
+ . $locale->text('Administration') . " / "
+ . $locale->text('Change Admin Password');
+
$form->header;
print qq|
-|.$locale->text('Change Admin Password').qq|
+| . $locale->text('Change Admin Password') . qq|
@@ -1089,34 +1162,47 @@ sub change_admin_password {
}
-
sub change_password {
+ if ($form->{"password"} ne $form->{"password_again"}) {
+ $form->{title} =
+ qq|Lx-Office ERP |
+ . $locale->text('Administration') . " / "
+ . $locale->text('Change Admin Password');
+
+ $form->header;
+
+ print qq|
+
+
+
+| . $locale->text('Change Admin Password') . qq|
+
+| . $locale->text("The passwords do not match.") . qq|
+ |;
+ return;
+ }
$root->{password} = $form->{password};
-
+
$root->{'root login'} = 1;
$root->save_member($memberfile);
- $form->{callback} = "$form->{script}?action=list_users&path=$form->{path}&root=$form->{root}&rpw=$root->{password}";
+ $form->{callback} =
+ "$form->{script}?action=list_users&path=$form->{path}&rpw=$root->{password}";
$form->redirect($locale->text('Password changed!'));
}
-
sub check_password {
-
$root = new User "$memberfile", $form->{root};
- if ($root->{password}) {
- if ($root->{password} ne $form->{rpw}) {
- $form->error($locale->text('Incorrect Password!'));
- }
+ if (!defined($root->{password}) || ($root->{password} ne $form->{rpw})) {
+ $form->error($locale->text('Incorrect Password!'));
}
}
-
sub pg_database_administration {
$form->{dbdriver} = 'Pg';
@@ -1124,47 +1210,49 @@ sub pg_database_administration {
}
-
sub oracle_database_administration {
-
+
$form->{dbdriver} = 'Oracle';
&dbselect_source;
}
-
sub dbdriver_defaults {
# load some defaults for the selected driver
- %driverdefaults = ( 'Pg' => { dbport => '5432',
- dbuser => 'postgres',
- dbdefault => 'template1',
- dbhost => 'localhost',
- connectstring => $locale->text('Connect to')
- },
- 'Oracle' => { dbport => '1521',
- dbuser => 'oralin',
- dbdefault => $sid,
- dbhost => `hostname`,
- connectstring => 'SID'
- }
- );
-
- map { $form->{$_} = $driverdefaults{$form->{dbdriver}}{$_} } keys %{ $driverdefaults{Pg} };
-
+ %driverdefaults = (
+ 'Pg' => { dbport => '5432',
+ dbuser => 'postgres',
+ dbdefault => 'template1',
+ dbhost => 'localhost',
+ connectstring => $locale->text('Connect to')
+ },
+ 'Oracle' => { dbport => '1521',
+ dbuser => 'oralin',
+ dbdefault => $sid,
+ dbhost => `hostname`,
+ connectstring => 'SID'
+ });
+
+ map { $form->{$_} = $driverdefaults{ $form->{dbdriver} }{$_} }
+ keys %{ $driverdefaults{Pg} };
+
}
-
sub dbselect_source {
&dbdriver_defaults;
- $msg{Pg} = $locale->text('Leave host and port field empty unless you want to make a remote connection.');
- $msg{Oracle} = $locale->text('You must enter a host and port for local and remote connections!');
-
+ $msg{Pg} =
+ $locale->text(
+ 'Leave host and port field empty unless you want to make a remote connection.'
+ );
+ $msg{Oracle} =
+ $locale->text(
+ 'You must enter a host and port for local and remote connections!');
- $form->{title} = "Lx-Office ERP / ".$locale->text('Database Administration');
-
+ $form->{title} =
+ "Lx-Office ERP / " . $locale->text('Database Administration');
$form->header;
@@ -1183,7 +1271,7 @@ sub dbselect_source {
-
-
+
{path}>
{rpw}>
-
-
-
+ |;
+# Vorübergehend Deaktiviert
+#
+print qq|
-|.$locale->text('This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!')
+
|
+ . $locale->text(
+ 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!'
+ )
-.qq|
+ . qq|
$msg{$form->{dbdriver}}
@@ -1249,20 +1343,21 @@ sub dbselect_source {
}
-
sub continue {
&{ $form->{nextsub} };
}
-
sub update_dataset {
%needsupdate = User->dbneedsupdate(\%$form);
- $form->{title} = "Lx-Office ERP ".$locale->text('Database Administration')." / ".$locale->text('Update Dataset');
-
+ $form->{title} =
+ "Lx-Office ERP "
+ . $locale->text('Database Administration') . " / "
+ . $locale->text('Update Dataset');
+
$form->header;
print qq|
@@ -1272,33 +1367,32 @@ sub update_dataset {
$form->{title}
|;
-
-
+ my $field_id = 0;
foreach $key (sort keys %needsupdate) {
if ($needsupdate{$key} ne $form->{dbversion}) {
- $upd .= qq| $key\n|;
+ $upd .= qq| $key\n|;
$form->{dbupdate} .= "db$key ";
+ $field_id++;
}
}
chop $form->{dbupdate};
-
if ($form->{dbupdate}) {
print qq|
@@ -1335,7 +1429,7 @@ $upd
print $locale->text('All Datasets up to date!');
}
-
+
print qq|
@@ -1344,15 +1438,32 @@ $upd
}
-
sub dbupdate {
+ $form->{"stylesheet"} = "lx-office-erp.css";
+ $form->{"title"} = $main::locale->text("Dataset upgrade");
+ $form->header();
+ my $dbname =
+ join(" ",
+ map({ s/\s//g; s/^db//; $_; }
+ grep({ $form->{$_} }
+ split(/\s+/, $form->{"dbupdate"}))));
+ print($form->parse_html_template("dbupgrade/header",
+ { "dbname" => $dbname }));
User->dbupdate(\%$form);
- $form->redirect($locale->text('Dataset updated!'));
-
-}
+ print qq|
+
+
+| . $locale->text('Dataset updated!') . qq|
+
+
+
+escape($form->{$_}); } qw(path rpw))) .
+qq|">| . $locale->text("Continue") . qq| |;
+}
sub create_dataset {
@@ -1360,34 +1471,39 @@ sub create_dataset {
$dbsources .= "[$item] ";
}
- opendir SQLDIR, "sql/." or $form-error($!);
- foreach $item (sort grep /-chart\.sql/, readdir SQLDIR) {
+ opendir SQLDIR, "sql/." or $form - error($!);
+ foreach $item (sort grep /-chart\.sql\z/, readdir SQLDIR) {
next if ($item eq 'Default-chart.sql');
$item =~ s/-chart\.sql//;
- push @charts, qq| $item|;
+ push @charts,
+ qq| $item|;
}
closedir SQLDIR;
$selectencoding = qq|
- ASCII
- Japanese Extended UNIX Code
- Chinese Extended UNIX Code
- Korean Extended UNIX Code
- Taiwan Extended UNIX Code
- UTF-8 Unicode
- Mule internal type
- ISO 8859-1
- ISO 8859-2
- ISO 8859-3
- ISO 8859-4
- ISO 8859-5
- KOI8-R
- Windows CP1251
- Windows CP866
+ ASCII
+ Japanese Extended UNIX Code
+ Chinese Extended UNIX Code
+ Korean Extended UNIX Code
+ Taiwan Extended UNIX Code
+ UTF-8 Unicode
+ Mule internal type
+ ISO 8859-1
+ ISO 8859-2
+ ISO 8859-3
+ ISO 8859-4
+ ISO 8859-5
+ ISO 8859-15
+ KOI8-R
+ Windows CP1251
+ Windows CP866
|;
-
- $form->{title} = "Lx-Office ERP ".$locale->text('Database Administration')." / ".$locale->text('Create Dataset');
-
+
+ $form->{title} =
+ "Lx-Office ERP "
+ . $locale->text('Database Administration') . " / "
+ . $locale->text('Create Dataset');
+
$form->header;
print qq|
@@ -1406,44 +1522,44 @@ sub create_dataset {
- |.$locale->text('Existing Datasets').qq|
+ | . $locale->text('Existing Datasets') . qq|
$dbsources
-
+
- |.$locale->text('Create Dataset').qq|
+ | . $locale->text('Create Dataset') . qq|
- |.$locale->text('Multibyte Encoding').qq|
+ | . $locale->text('Multibyte Encoding') . qq|
$selectencoding
-
+
- |.$locale->text('Create Chart of Accounts').qq|
+ |
+ . $locale->text('Create Chart of Accounts') . qq|
@charts
-
+
- {dbdriver}>
- {dbuser}>
- {dbhost}>
- {dbport}>
- {dbpasswd}>
- {dbdefault}>
+
+
+
+
+
+
-
+
-
{path}>
{rpw}>
@@ -1452,7 +1568,8 @@ sub create_dataset {
-
+
@@ -1466,14 +1583,16 @@ sub create_dataset {
}
-
sub dbcreate {
$form->isblank("db", $locale->text('Dataset missing!'));
User->dbcreate(\%$form);
-
- $form->{title} = "Lx-Office ERP ".$locale->text('Database Administration')." / ".$locale->text('Create Dataset');
+
+ $form->{title} =
+ "Lx-Office ERP "
+ . $locale->text('Database Administration') . " / "
+ . $locale->text('Create Dataset');
$form->header;
@@ -1486,17 +1605,19 @@ sub dbcreate {
@@ -1506,18 +1627,21 @@ sub dbcreate {
}
-
sub delete_dataset {
if (@dbsources = User->dbsources_unused(\%$form, $memberfile)) {
foreach $item (sort @dbsources) {
- $dbsources .= qq| $item |;
+ $dbsources .=
+ qq| $item |;
}
} else {
$form->error($locale->text('Nothing to delete!'));
}
- $form->{title} = "Lx-Office ERP ".$locale->text('Database Administration')." / ".$locale->text('Delete Dataset');
+ $form->{title} =
+ "Lx-Office ERP "
+ . $locale->text('Database Administration') . " / "
+ . $locale->text('Delete Dataset');
$form->header;
@@ -1530,7 +1654,9 @@ sub delete_dataset {
@@ -1572,7 +1698,6 @@ sub delete_dataset {
}
-
sub dbdelete {
if (!$form->{db}) {
@@ -1581,7 +1706,10 @@ sub dbdelete {
User->dbdelete(\%$form);
- $form->{title} = "Lx-Office ERP ".$locale->text('Database Administration')." / ".$locale->text('Delete Dataset');
+ $form->{title} =
+ "Lx-Office ERP "
+ . $locale->text('Database Administration') . " / "
+ . $locale->text('Delete Dataset');
$form->header;
@@ -1594,17 +1722,17 @@ sub dbdelete {
@@ -1614,27 +1742,26 @@ $form->{db} |.$locale->text('successfully deleted!')
}
-
sub unlock_system {
unlink "$userspath/nologin";
-
- $form->{callback} = "$form->{script}?action=list_users&path=$form->{path}&root=$form->{root}&rpw=$root->{password}";
+
+ $form->{callback} =
+ "$form->{script}?action=list_users&path=$form->{path}&rpw=$root->{password}";
$form->redirect($locale->text('Lockfile removed!'));
}
-
sub lock_system {
- open(FH, ">$userspath/nologin") or $form->error($locale->text('Cannot create Lock!'));
+ open(FH, ">$userspath/nologin")
+ or $form->error($locale->text('Cannot create Lock!'));
close(FH);
-
- $form->{callback} = "$form->{script}?action=list_users&path=$form->{path}&root=$form->{root}&rpw=$root->{password}";
+
+ $form->{callback} =
+ "$form->{script}?action=list_users&path=$form->{path}&rpw=$root->{password}";
$form->redirect($locale->text('Lockfile created!'));
}
-
-