version 1.1037, 2009/10/28 19:09:21
|
version 1.1038, 2009/10/29 03:23:58
|
Line 6554 sub createcourse {
|
Line 6554 sub createcourse {
|
if (($chome eq '') || ($chome eq 'no_host')) { |
if (($chome eq '') || ($chome eq 'no_host')) { |
$uname = $cnum; |
$uname = $cnum; |
} else { |
} else { |
$uname = &generate_coursenum($udom); |
$uname = &generate_coursenum($udom,$crstype); |
} |
} |
} else { |
} else { |
$uname = &generate_coursenum($udom); |
$uname = &generate_coursenum($udom,$crstype); |
} |
} |
return $uname if ($uname =~ /^error/); |
return $uname if ($uname =~ /^error/); |
# -------------------------------------------------- Check supplied server name |
# -------------------------------------------------- Check supplied server name |
Line 6617 ENDINITMAP
|
Line 6617 ENDINITMAP
|
|
|
# ------------------------------------------------------------------- Create ID |
# ------------------------------------------------------------------- Create ID |
sub generate_coursenum { |
sub generate_coursenum { |
my ($udom) = @_; |
my ($udom,$crstype) = @_; |
my $domdesc = &domain($udom); |
my $domdesc = &domain($udom); |
return 'error: invalid domain' if ($domdesc eq ''); |
return 'error: invalid domain' if ($domdesc eq ''); |
my $uname=int(1+rand(9)). |
my $first; |
|
if ($crstype eq 'Community') { |
|
$first = '0'; |
|
} else { |
|
$first = int(1+rand(9)); |
|
} |
|
my $uname=$first. |
('a'..'z','A'..'Z','0'..'9')[int(rand(62))]. |
('a'..'z','A'..'Z','0'..'9')[int(rand(62))]. |
substr($$.time,0,5).unpack("H8",pack("I32",time)). |
substr($$.time,0,5).unpack("H8",pack("I32",time)). |
unpack("H2",pack("I32",int(rand(255)))).$perlvar{'lonHostID'}; |
unpack("H2",pack("I32",int(rand(255)))).$perlvar{'lonHostID'}; |
# ----------------------------------------------- Make sure that does not exist |
# ----------------------------------------------- Make sure that does not exist |
my $uhome=&homeserver($uname,$udom,'true'); |
my $uhome=&homeserver($uname,$udom,'true'); |
unless (($uhome eq '') || ($uhome eq 'no_host')) { |
unless (($uhome eq '') || ($uhome eq 'no_host')) { |
$uname=int(1+rand(9)). |
if ($crstype eq 'Community') { |
|
$first = '0'; |
|
} else { |
|
$first = int(1+rand(9)); |
|
} |
|
$uname=$first. |
('a'..'z','A'..'Z','0'..'9')[int(rand(62))]. |
('a'..'z','A'..'Z','0'..'9')[int(rand(62))]. |
substr($$.time,0,5).unpack("H8",pack("I32",time)). |
substr($$.time,0,5).unpack("H8",pack("I32",time)). |
unpack("H2",pack("I32",int(rand(255)))).$perlvar{'lonHostID'}; |
unpack("H2",pack("I32",int(rand(255)))).$perlvar{'lonHostID'}; |
Line 10211 createcourse($udom,$description,$url,$co
|
Line 10222 createcourse($udom,$description,$url,$co
|
|
|
=item * |
=item * |
|
|
generate_coursenum($udom) : get a unique (unused) course number in domain $udom |
generate_coursenum($udom,$crstype) : get a unique (unused) course number in domain $udom for course type $crstype (Course or Community). |
|
|
=back |
=back |
|
|