99 lines
3.3 KiB
Perl
Executable File
99 lines
3.3 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
# addlink.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_addlink'}, "", "addlink",undef,1,0,"$text{'headpage_right'}"."$text{'head_logout'}",undef,undef,"$text{head_below}" );
|
|
print "<hr><p>\n";
|
|
&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_adlink'} $linkname </b></td> </tr>\n";
|
|
print "<tr $cb> <td><table width=100%>\n";
|
|
print "<center>\n";
|
|
|
|
$type_cmd = $in{ttacmd};
|
|
$tta_norun = $in{ttanorun};
|
|
$linkname=$in{linkname};
|
|
$grp_links=$in{grplinks};
|
|
$obj_descrip=$in{descrip};
|
|
$aliaslink=$in{aliaslink};
|
|
$maxsess=$in{maxsess};
|
|
|
|
if (!$linkname) { &footHere; exit } ;
|
|
$alias=$aliaslink;
|
|
%h_links=&list_links();
|
|
if ( $h_links{$aliaslink}->{'alias'} eq $aliaslink ) {
|
|
$err_msg="$aliaslink: ".$text{'list_err'};
|
|
&footHere;
|
|
exit;
|
|
}
|
|
$grp_name="";
|
|
$grp_descrip="";
|
|
$dn_grplink="";
|
|
$ens_grplink="";
|
|
if ( $h_links{$grp_links}->{'alias'} eq $grp_links ) {
|
|
$dn_grplink=$h_links{$grp_links}->{obj};
|
|
$ens_grplink=$h_links{$grp_links}->{ens};
|
|
$grp_descrip=$h_links{$grp_links}->{descrip};
|
|
$grp_name=$h_links{$grp_links}->{name};
|
|
} else {
|
|
$err_msg="$grp_links: ".$text{'list_errno'};
|
|
&footHere;
|
|
exit;
|
|
}
|
|
if ( $dn_grplink eq "" ) {
|
|
$dn = "ou=$linkname";
|
|
$ens= "cn=$linkname";
|
|
} else {
|
|
$dn = "ou=$linkname,$dn_grplink";
|
|
$ens= "$ens_grplink/cn=$linkname";
|
|
}
|
|
$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" ) {
|
|
$dnldap = "default";
|
|
$dn_org = $dn;
|
|
$default_obj="cn=$config{ldapcache_defaultobj}";
|
|
# $ldapcache_server=1;
|
|
# &connect_cache ();
|
|
# @tta3tier=&set_tta3tier($default_obj,$dn,$dnldap,"add","link");
|
|
# if ( &cache_obj(\%tta3tier) ne 0 ) { &footHere; exit } ;
|
|
# if ( $config{ldapcache2_server}.length gt 0 ) {
|
|
# $ldapcache_server=2;
|
|
# &connect_cache ();
|
|
# if ( &cache_obj(\%tta3tier) ne 0 ) { &err_replication() }
|
|
# }
|
|
}
|
|
$lin_link=$aliaslink."::".$linkname."::"."$dn_org"."::"."$ens"."::".$maxsess."::".$obj_descrip."::";
|
|
&out_objslist( "add", "addlinks.cgi", "links", "links_list", $aliaslink, $lin_links, undef );
|
|
if ( $debug lt 2 ) { unlink($temp_f); }
|
|
print "<tr><p><b>".$text{'user_made'}.$linkname." -> ".$grp_name."</b></tr>\n";
|
|
print "<tr></tr>\n";
|
|
&footHere;
|
|
exit;
|
|
|