diff --git a/html/cgi-bin/samba.cgi b/html/cgi-bin/samba.cgi
index be670a95e..ec41adc5d 100644
--- a/html/cgi-bin/samba.cgi
+++ b/html/cgi-bin/samba.cgi
@@ -44,7 +44,7 @@ my $userfile = "${General::swroot}/samba/private/smbpasswd";
my %selected= () ;
my $defaultoption= "[My Share]\npath = \ncomment = Share - Public Access\nbrowseable = yes\nwriteable = yes\ncreate mask = 0644\ndirectory mask = 0755\npublic = yes\nforce user = samba";
-my %shares = ();
+my %shares = &config("${General::swroot}/samba/shares");
&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
@@ -97,6 +97,30 @@ if ($sambasettings{'ACTION'} eq 'join') {
$message .= &joindomain($sambasettings{'USERNAME'}, $sambasettings{'PASSWORD'});
}
+if ($sambasettings{'ACTION'} eq 'smbshareadd') {
+ $shares{'xvx'} = $sambasettings{'SHAREOPTION'};
+ &save("shares");
+
+ # Reload configuration
+ %shares = config("${General::swroot}/samba/shares");
+}
+
+if ($sambasettings{'ACTION'} eq 'smbsharedel') {
+ delete $shares{$sambasettings{'NAME'}};
+ &save("shares");
+
+ # Reload configuration
+ %shares = config("${General::swroot}/samba/shares");
+}
+
+if ($sambasettings{'ACTION'} eq 'smbsharechange') {
+ $shares{$sambasettings{'NAME'}} = $sambasettings{'SHAREOPTION'};
+ &save("shares");
+
+ # Reload configuration
+ %shares = config("${General::swroot}/samba/shares");
+}
+
############################################################################################################################
########################################### Samba Benutzer oder PC l�chen #################################################
@@ -538,8 +562,6 @@ END
&Header::openbox('100%', 'center', $Lang::tr{'shares'});
-my %shares = config("${General::swroot}/samba/shares");
-
print <
@@ -654,25 +676,6 @@ if ($sambasettings{'ACTION'} eq 'sharechange') {
END
}
-if ($sambasettings{'ACTION'} eq 'smbshareadd')
- {
- $shares{'xvx'}= "$sambasettings{'SHAREOPTION'}";
- save("shares");
- my $shares = config("${General::swroot}/samba/shares");
- }
-if ($sambasettings{'ACTION'} eq 'smbsharedel')
- {
- delete $shares{$sambasettings{'NAME'}};
- save("shares");
- my %shares = config("${General::swroot}/samba/shares");
- }
-if ($sambasettings{'ACTION'} eq 'smbsharechange')
- {
- $shares{$sambasettings{'NAME'}} = $sambasettings{'SHAREOPTION'};
- save("shares");
- my %shares = config("${General::swroot}/samba/shares");
- }
-
&Header::closebox();
############################################################################################################################