version 1.89, 2007/10/01 23:56:14
|
version 1.91, 2008/05/14 18:27:30
|
Line 37 use Crypt::DES;
|
Line 37 use Crypt::DES;
|
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::lonmenu(); |
use Apache::lonmenu(); |
|
use Apache::createaccount; |
use Fcntl qw(:flock); |
use Fcntl qw(:flock); |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
|
Line 263 ENDFAILED
|
Line 264 ENDFAILED
|
} |
} |
|
|
# ---------------------------------------------------------------- Authenticate |
# ---------------------------------------------------------------- Authenticate |
my $authhost=Apache::lonnet::authenticate($form{'uname'}, |
my @cancreate; |
$upass, |
my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$form{'udom'}); |
$form{'udom'}); |
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
|
if (ref($domconfig{'usercreation'}{'cancreate'}) eq 'HASH') { |
|
if (ref($domconfig{'usercreation'}{'cancreate'}{'selfcreate'}) eq 'ARRAY') { |
|
@cancreate = @{$domconfig{'usercreation'}{'cancreate'}{'selfcreate'}}; |
|
} elsif (($domconfig{'usercreation'}{'cancreate'}{'selfcreate'} ne 'none') && |
|
($domconfig{'usercreation'}{'cancreate'}{'selfcreate'} ne '')) { |
|
@cancreate = ($domconfig{'usercreation'}{'cancreate'}{'selfcreate'}); |
|
} |
|
} |
|
} |
|
my $defaultauth; |
|
if (grep(/^login$/,@cancreate)) { |
|
$defaultauth = 1; |
|
} |
|
my $authhost=Apache::lonnet::authenticate($form{'uname'},$upass, |
|
$form{'udom'},$defaultauth); |
|
|
# --------------------------------------------------------------------- Failed? |
# --------------------------------------------------------------------- Failed? |
|
|
Line 273 ENDFAILED
|
Line 289 ENDFAILED
|
&failed($r,'Username and/or password could not be authenticated.', |
&failed($r,'Username and/or password could not be authenticated.', |
\%form); |
\%form); |
return OK; |
return OK; |
|
} elsif ($authhost eq 'no_account_on_host') { |
|
my %domconfig = |
|
&Apache::lonnet::get_dom('configuration',['usercreation'],$form{'udom'}); |
|
if (grep(/^login$/,@cancreate)) { |
|
my $start_page = |
|
&Apache::loncommon::start_page('Create a user account in LON-CAPA', |
|
'',{'no_inline_link' => 1,}); |
|
my $domdesc = &Apache::lonnet::domain($form{'udom'},'description'); |
|
my ($output,$checkfail) = &Apache::createaccount::username_check($form{'uname'}, |
|
$form{'udom'},$domdesc); |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
&Apache::createaccount::print_header($r,$start_page); |
|
my $msg = '<h4>'.&mt('Although your username and password were authenticated, you do not currently have a LON-CAPA account in this domain.').'<br />'; |
|
if ($checkfail) { |
|
$msg .= &mt('A LON-CAPA account may not be created with the username you used.'); |
|
} else { |
|
$msg .= &mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.'); |
|
} |
|
$r->print('<h4>'.$msg.'</h4>'.$output); |
|
$r->print(&Apache::loncommon::end_page()); |
|
return OK; |
|
} else { |
|
&failed($r,'Although your username and password were authenticated, you do not currently have a LON-CAPA account in this domain, and you are not permitted to create one.',\%form); |
|
return OK; |
|
} |
} |
} |
|
|
if (($firsturl eq '') || |
if (($firsturl eq '') || |