stta/stta/adddomains.cgi
2021-10-01 20:35:43 +01:00

102 lines
3.5 KiB
Perl
Executable File

#!/usr/bin/perl
# adddomain.cgi
# ... Services with Tarantella.
# STTA Rev. 1.3 Copyright (c) 2001-2004 Jesús Pérez Lorenzo --- license GNU GPL
# stta: (@#) 1.31051043346- [2004_01_29_102036]
require './stta-lib.pl';
do "ldap-lib.pl";
&headerstta($text{'index_adddomain'}, "", "adddomain",undef,1,0,"$text{'headpage_right'}"."$text{'head_logout'}",undef,undef,"$text{head_below}" );
print "<hr><p>\n";
if ( $config{'is_ldapcache'} ne "true" ) { &footCacheHere; exit }
&foreign_require("proc", "proc-lib.pl");
$ldapcache_server=1;
&connect_cache();
&ReadParse();
print "<table width=100% border>\n";
print "<tr $tb> <td><font color='$revtext'><b>$text{'titidx_addomain'} $domainname </b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<center>\n";
$type_cmd = $in{ttacmd};
$tta_norun = $in{ttanorun};
$domainname=$in{domainname};
$grp_domains=$in{grpdomains};
$obj_descrip=$in{descrip};
$aliasdomain=$in{aliasdomain};
$maxsess=$in{maxsess};
if (!$domainname) { &footHere; exit } ;
$alias=$aliasdomain;
%h_domains=&list_domains();
if ( $h_domains{$aliasdomain}->{'alias'} eq $aliasdomain ) {
$err_msg="aliasdomain: ".$text{'list_err'};
&footHere;
exit;
}
$grp_name="";
$grp_descrip="";
$dn_grpdomain="";
$ens_grpdomain="";
if ( $h_domains{$grp_domains}->{'alias'} eq $grp_domains ) {
$dn_grpdomain=$h_domains{$grp_domains}->{obj};
$ens_grpdomain=$h_domains{$grp_domains}->{ens};
$grp_descrip=$h_domains{$grp_domains}->{descrip};
$grp_name=$h_domains{$grp_domains}->{name};
} else {
$err_msg="$grp_domains: ".$text{'list_errno'};
&footHere;
exit;
}
if ( $dn_grpdomain eq "" ) {
$dn = "ou=$domainname";
$ens= "ou=$domainname";
} else {
$dn = "ou=$domainname,$dn_grpdomain";
$ens= "ou=$ens_grpdomain/ou=$domainname";
}
$dnldap = "default";
$dn_org = $dn;
$default_obj="cn=$config{ldapcache_defaultobj}";
$ens_obj = "--name \"".$config{tta_base}."/$ens\"";
$dn_org=$dn;
$| = 1;
$temp = &tempname();
open(TEMP, ">$temp");
print TEMP "#!/bin/sh\n";
print TEMP $env;
print TEMP "export $export\n" if ($export);
print TEMP "$str\n";
close(TEMP);
$temp_f = &tempname();
open(TEMPF, ">$temp_f");
print TEMPF "$ens_obj\n";
close(TEMPF);
if ( $tta_norun eq "true" ) { $type_cmd = "no_run $type_cmd"; };
if ( &run_tta_cmd($type_cmd,$ens_obj,$temp_f) ) {
print "</pre>\n";
} else { &html_errshow("tta")};
if ( $config{'is_ldapcache'} eq "true" && $in{tta3tier_login} ) {
$ldapcache_server=1;
&connect_cache ();
@tta3tier=&set_tta3tier($default_obj,$dn,$dnldap,"add","domain");
if ( &cache_obj(\%tta3tier) ne 0 ) {
&html_errshow("ldap");
&footHere; exit;
}
if ( $config{ldapcache2_server}.length gt 0 ) {
$ldapcache_server=2;
&connect_cache ();
if ( &cache_obj(\%tta3tier) ne 0 ) { &err_replication() }
}
}
$lin_domain=$aliasdomain."::".$domainname."::"."$dn_org"."::"."$ens"."::".$maxsess."::".$obj_descrip."::";
&out_objslist( "add", "adddomains.cgi", "domains", "domains_list", $aliasdomain, $lin_domain, undef );
print "<tr><p><b>".$text{'user_made'}.$domainname." -> ".$grp_name."</b></tr>\n";
print "<tr></tr>\n";
&footHere;
exit;