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