version 1.538, 2015/06/18 20:18:54
|
version 1.542, 2015/12/07 08:11:55
|
Line 523 sub page_start {
|
Line 523 sub page_start {
|
} elsif (!defined($found{'body'}) |
} elsif (!defined($found{'body'}) |
&& $env{'request.state'} eq 'construct') { |
&& $env{'request.state'} eq 'construct') { |
if ($target eq 'web' || $target eq 'edit') { |
if ($target eq 'web' || $target eq 'edit') { |
# Breadcrumbs for Authoring Space |
unless ($env{'form.inhibitmenu'} eq 'yes') { |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
# Breadcrumbs for Authoring Space |
&Apache::lonhtmlcommon::add_breadcrumb({ |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
'text' => 'Authoring Space', |
&Apache::lonhtmlcommon::add_breadcrumb({ |
'href' => &Apache::loncommon::authorspace($env{'request.uri'}), |
'text' => 'Authoring Space', |
}); |
'href' => &Apache::loncommon::authorspace($env{'request.uri'}), |
# breadcrumbs (and tools) will be created |
}); |
# in start_page->bodytag->innerregister |
# breadcrumbs (and tools) will be created |
|
# in start_page->bodytag->innerregister |
|
|
# FIXME Where are we? |
# FIXME Where are we? |
# &Apache::lonhtmlcommon::add_breadcrumb({ |
# &Apache::lonhtmlcommon::add_breadcrumb({ |
# 'text' => 'Problem Editing', # 'Problem Testing' |
# 'text' => 'Problem Editing', # 'Problem Testing' |
# 'href' => '', |
# 'href' => '', |
# }); |
# }); |
$pageheader =&Apache::loncommon::head_subbox( |
$pageheader = &Apache::loncommon::head_subbox( |
&Apache::loncommon::CSTR_pageheader()); |
&Apache::loncommon::CSTR_pageheader()); |
} |
} |
|
} |
} elsif (!defined($found{'body'})) { |
} elsif (!defined($found{'body'})) { |
my %add_entries; |
my %add_entries; |
my $background=&Apache::lonxml::get_param('background',$parstack, |
my $background=&Apache::lonxml::get_param('background',$parstack, |
Line 976 $show_all
|
Line 978 $show_all
|
'onclick="javascript:setmode(this.form,'."'edit'".')" />'; |
'onclick="javascript:setmode(this.form,'."'edit'".')" />'; |
$result .= '<input type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" '. |
$result .= '<input type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" '. |
'onclick="javascript:setmode(this.form,'."'editxml'".')" />'; |
'onclick="javascript:setmode(this.form,'."'editxml'".')" />'; |
|
if ($env{'browser.type'} ne 'explorer' || $env{'browser.version'} > 9) { |
|
my $uri = $env{'request.uri'}; |
|
my $daxeurl = '/adm/daxe/daxe.html?config=config/loncapa_config.xml&file=/daxeopen'.$uri. |
|
'&save=/daxesave'; |
|
$result .= '<input type="button" value="'.&mt('Edit with Daxe').'" '. |
|
'onclick="window.open(\''.$daxeurl.'\',\'_blank\');" />'; |
|
} |
$result.=' |
$result.=' |
</div> |
</div> |
<hr /> |
<hr /> |
Line 1510 sub start_problem {
|
Line 1519 sub start_problem {
|
my $status; |
my $status; |
my $accessmsg; |
my $accessmsg; |
my $resource_due; |
my $resource_due; |
|
my $ipused; |
|
|
my $name= &get_resource_name($parstack,$safeeval); |
my $name= &get_resource_name($parstack,$safeeval); |
my ($result,$form_tag_start,$slot_name,$slot,$probpartlist); |
my ($result,$form_tag_start,$slot_name,$slot,$probpartlist); |
Line 1518 sub start_problem {
|
Line 1528 sub start_problem {
|
$target eq 'tex') { |
$target eq 'tex') { |
if ($env{'form.markaccess'}) { |
if ($env{'form.markaccess'}) { |
my @interval=&Apache::lonnet::EXT("resource.0.interval"); |
my @interval=&Apache::lonnet::EXT("resource.0.interval"); |
&Apache::lonnet::set_first_access($interval[1],$interval[0]); |
my ($timelimit) = split(/_/,$interval[0]); |
|
&Apache::lonnet::set_first_access($interval[1],$timelimit); |
} |
} |
|
|
($status,$accessmsg,$slot_name,$slot) = |
($status,$accessmsg,$slot_name,$slot,$ipused) = |
&Apache::lonhomework::check_slot_access('0','problem'); |
&Apache::lonhomework::check_slot_access('0','problem'); |
push (@Apache::inputtags::status,$status); |
push (@Apache::inputtags::status,$status); |
} |
} |
Line 1612 sub start_problem {
|
Line 1623 sub start_problem {
|
( $status eq 'NOTRESERVABLE') || |
( $status eq 'NOTRESERVABLE') || |
( $status eq 'RESERVABLE') || |
( $status eq 'RESERVABLE') || |
( $status eq 'RESERVABLE_LATER') || |
( $status eq 'RESERVABLE_LATER') || |
( $status eq 'INVALID_ACCESS')) { |
( $status eq 'INVALID_ACCESS') || |
|
( $status eq 'NEED_DIFFERENT_IP')) { |
my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser, |
my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser, |
$style); |
$style); |
if ( $target eq "web" ) { |
if ( $target eq "web" ) { |
Line 1645 sub start_problem {
|
Line 1657 sub start_problem {
|
&Apache::lonnavmaps::timeToHumanString($accessmsg,'start')); |
&Apache::lonnavmaps::timeToHumanString($accessmsg,'start')); |
} elsif ($status eq 'NOTRESERVABLE') { |
} elsif ($status eq 'NOTRESERVABLE') { |
$msg.=&mt('Not available to make a reservation.'); |
$msg.=&mt('Not available to make a reservation.'); |
} |
} elsif ($status eq 'NEED_DIFFERENT_IP') { |
|
if ($ipused) { |
|
$msg.=&mt('You must use the same computer ([_1]) you used when you first accessed this resource using your time/place-based reservation.',"IP: $ipused"); |
|
} else { |
|
$msg.=&mt('Each student must use a different computer to access this resource at this time and/or place.').'<br />'. |
|
&mt('Somebody else has already used this particular computer for that purpose.'); |
|
} |
|
} |
$result.=$msg.'<br />'; |
$result.=$msg.'<br />'; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $startminipage = ($env{'form.problem_split'}=~/yes/i)? '' |
my $startminipage = ($env{'form.problem_split'}=~/yes/i)? '' |
Line 1665 sub start_problem {
|
Line 1684 sub start_problem {
|
$result .= |
$result .= |
&Apache::bridgetask::proctor_validation_screen($slot); |
&Apache::bridgetask::proctor_validation_screen($slot); |
} elsif ($target eq 'grade') { |
} elsif ($target eq 'grade') { |
&Apache::bridgetask::proctor_check_auth($slot_name,$slot, |
my $checkinresult = &Apache::bridgetask::proctor_check_auth($slot_name,$slot, |
'problem'); |
'problem'); |
|
if ($checkinresult = /^error:/) { |
|
$result .= 'error'; |
|
} |
} |
} |
} elsif ($target eq 'web') { |
} elsif ($target eq 'web') { |
if ($status eq 'CAN_ANSWER') { |
if ($status eq 'CAN_ANSWER') { |
Line 1676 sub start_problem {
|
Line 1698 sub start_problem {
|
$Apache::lonhomework::history{'resource.0.checkedin'}; |
$Apache::lonhomework::history{'resource.0.checkedin'}; |
if ($checked_in eq '') { |
if ($checked_in eq '') { |
# unproctored slot access, self checkin |
# unproctored slot access, self checkin |
&Apache::bridgetask::check_in('problem',undef,undef, |
my $needsiptied; |
$slot_name); |
if (ref($slot)) { |
$checked_in = |
$needsiptied = $slot->{'iptied'}; |
$Apache::lonhomework::results{"resource.0.checkedin"}; |
} |
|
my $check = &Apache::bridgetask::check_in('problem',undef,undef, |
|
$slot_name,$needsiptied); |
|
if ($check =~ /^error: /) { |
|
&Apache::lonnet::logthis("Error during self-checkin of problem (symb: $env{'request.symb'}) using slot: $slot_name"); |
|
} else { |
|
$checked_in = |
|
$Apache::lonhomework::results{"resource.0.checkedin"}; |
|
} |
} |
} |
if ((ref($slot) eq 'HASH') && ($checked_in ne '')) { |
if ((ref($slot) eq 'HASH') && ($checked_in ne '')) { |
if ($slot->{'starttime'} < time()) { |
if ($slot->{'starttime'} < time()) { |
Line 1702 sub start_problem {
|
Line 1732 sub start_problem {
|
'<input type="hidden" name="submitted" value="yes" />'; |
'<input type="hidden" name="submitted" value="yes" />'; |
# create a page header and exit |
# create a page header and exit |
if ($env{'request.state'} eq "construct") { |
if ($env{'request.state'} eq "construct") { |
$result.= &problem_web_to_edit_header($env{'form.rndseed'}); |
unless ($env{'form.inhibitmenu'} eq 'yes') { |
|
$result.= &problem_web_to_edit_header($env{'form.rndseed'}); |
|
} |
if ($Apache::lonhomework::type eq 'practice') { |
if ($Apache::lonhomework::type eq 'practice') { |
$result.= '<input type="submit" name="resetdata" '. |
$result.= '<input type="submit" name="resetdata" '. |
'value="'.&mt('New Problem Variation').'" />'. |
'value="'.&mt('New Problem Variation').'" />'. |