ispman/bin ispman.makeDomainDirectories,1.7,1.8

Joerg Delker <[email protected]>
Newsgroups gmane.comp.isp.ispman.cvs
Message-ID <[email protected]>
Update of /cvsroot/ispman/ispman/bin
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv1668/bin

Modified Files:
	ispman.makeDomainDirectories 
Log Message:
fixed [ 1554986 ] inconsistence use of tasks and libs

Index: ispman.makeDomainDirectories
===================================================================
RCS file: /cvsroot/ispman/ispman/bin/ispman.makeDomainDirectories,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- ispman.makeDomainDirectories	4 Aug 2004 17:25:40 -0000	1.7
+++ ispman.makeDomainDirectories	9 Sep 2006 20:13:14 -0000	1.8
@@ -2,14 +2,17 @@
 BEGIN {
     use FindBin;
     unshift @INC,
-      ( $FindBin::Bin, "$FindBin::Bin/../lib", "$FindBin::Bin/../conf" );
+      (
+        $FindBin::Bin,           "$FindBin::Bin/../lib",
+        "$FindBin::Bin/../conf", "$FindBin::Bin/../tasks"
+      );
     use Getopt::Std;
     getopt( 'd', \%opts );
     unless ( $opts{'d'} ) {
         print "$FindBin::Script -d domain_name|all \n";
         print "  Examples:\n";
         print
-"  $FindBin::Script -d test.dom  (create directories for domain test.dom)\n";
+          "  $FindBin::Script -d test.dom  (create directories for domain test.dom)\n";
         print
           "  $FindBin::Script -d all  (create directories for all domains)\n";
         print "\n";
@@ -21,23 +24,29 @@
 use vars qw($ispman);
 $ispman = ISPMan->new();
 
-# defind log_message.
-# This is defined in ispman-agent and we should redefine here
-sub logsay {
-    my $message = join ' ', @_;
-    chomp($message);
-    print "$message\n";
+sub exec_task {
+    my $func   = shift;
+    my $params = shift;
+    our @cmd = ();
+
+    do $func . ".pl";
+    &{$func}($params);
+
+    my $errs = 0;
+    for (@cmd) {
+        $rc = system($_);
+        print "System: \"$_\", rc=" . $rc . "\n";
+        $errs += ( $rc == 0 ? 0 : 1 );
+    }
+    return $errs;
 }
 
-require "create_domain_directories.lib";
-require "create_vhost_directories.lib";
-require "create_home_directory.lib";
 my $domains;
 
 if ( lc( $opts{'d'} ) eq "all" ) {
     $domains = $ispman->makeDomainHash(
         $ispman->getDomains(
-'|(ispmanDomainType=primary)(ispmanDomainType=slave)(ispmanDomainType=nodns)'
+            '|(ispmanDomainType=primary)(ispmanDomainType=slave)(ispmanDomainType=nodns)'
         )
     );
 }
@@ -48,19 +57,30 @@
 for $domain ( keys %$domains ) {
     my $domInfo = $ispman->getDomainInfo($domain);
     my $dn      = $ispman->getDomainDN($domain);
-    &create_domain_directories_handler(
-        $domInfo->{'homeDirectory'},
-        $domInfo->{'uidNumber'},
-        $domInfo->{'gidNumber'}
+    exec_task(
+        "createDomainDirectories_task",
+        {
+            homeDirectory => $domInfo->{'homeDirectory'},
+            uidNumber     => $domInfo->{'uidNumber'},
+            gidNumber     => $domInfo->{'gidNumber'}
+        }
     );
+
     my $users =
       $ispman->getEntriesAsHashRef( $dn, "objectClass=ispmanDomainUser" );
     for $user ( keys %$users ) {
-        my $userInfo = $ispman->getUserInfo( $users->{$user}{'uid'} );
-        &create_home_directory_handler(
-            $users->{$user}{'homeDirectory'},
-            $users->{$user}{'uidNumber'},
-            $users->{$user}{'gidNumber'}
+        my $uid =
+          ref $users->{$user}{'uid'} eq ARRAY
+          ? $users->{$user}{'uid'}[0]
+          : $users->{$user}{'uid'};
+        my $userInfo = $ispman->getUserInfo($uid);
+        exec_task(
+            "createHomeDirectory_task",
+            {
+                homeDirectory => $userInfo->{'homeDirectory'},
+                uidNumber     => $userInfo->{'uidNumber'},
+                gidNumber     => $userInfo->{'gidNumber'}
+            }
         );
     }
     my $vhosts =
@@ -70,13 +90,19 @@
             $vhosts->{$vhost}{'ispmanVhostName'},
             $vhosts->{$vhost}{'ispmanDomain'}
         );
-        &create_vhost_directories_handler(
-            $vhosts->{$vhost}{'ispmanVhostName'},
-            $vhosts->{$vhost}{'homeDirectory'},
-            $vhosts->{$vhost}{'ispmanVhostDocumentRoot'},
-            $vhosts->{$vhost}{'ispmanVhostScriptDir'},
-            $vhosts->{$vhost}{'uidNumber'} || $domInfo->{'uidNumber'},
-            $vhosts->{$vhost}{'gidNumber'} || $domInfo->{'gidNumber'}
+        exec_task(
+            "AddVirtualHostDirectories_task",
+            {
+                homeDirectory => $vhostInfo->{'homeDirectory'},
+                uidNumber     => $vhostInfo->{'uidNumber'}
+                  || $domInfo->{'uidNumber'},
+                gidNumber => $vhostInfo->{'gidNumber'}
+                  || $domInfo->{'gidNumber'},
+                ispmanVhostDocumentRoot => $vhostInfo->{'ispmanVhostDocumentRoot'},
+                ispmanVhostScriptDir => $vhostInfo->{'ispmanVhostScriptDir'},
+                ispmanVhostLogdir  => $vhostInfo->{'ispmanVhostLogdir'},
+                ispmanVhostStatdir => $vhostInfo->{'ispmanVhostStatdir'}
+            }
         );
     }
 }


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.