version 1.444.4.1, 2009/08/12 22:57:14
|
version 1.461.2.1, 2010/08/09 23:39:50
|
Line 203 sub page_start {
|
Line 203 sub page_start {
|
} |
} |
} |
} |
|
|
|
my $pageheader = ''; |
if (defined($found{'body'})) { |
if (defined($found{'body'})) { |
$body_args{'skip_phases'}{'body'}=1; |
$body_args{'skip_phases'}{'body'}=1; |
} elsif (!defined($found{'body'}) |
} elsif (!defined($found{'body'}) |
Line 211 sub page_start {
|
Line 212 sub page_start {
|
if ($env{'environment.remote'} ne 'off') { |
if ($env{'environment.remote'} ne 'off') { |
$body_args{'only_body'} = 1; |
$body_args{'only_body'} = 1; |
} |
} |
|
# Breadcrumbs for Construction Space |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
&Apache::lonhtmlcommon::add_breadcrumb({ |
|
'text' => 'Construction Space', |
|
'href' => &Apache::loncommon::authorspace(), |
|
}); |
|
# breadcrumbs (and tools) will be created |
|
# in start_page->bodytag->innerregister |
|
|
|
# FIXME Where are we? |
|
# &Apache::lonhtmlcommon::add_breadcrumb({ |
|
# 'text' => 'Problem Editing', # 'Problem Testing' |
|
# 'href' => '', |
|
# }); |
|
$pageheader =&Apache::loncommon::head_subbox( |
|
&Apache::loncommon::CSTR_pageheader()); |
} |
} |
} elsif (!defined($found{'body'})) { |
} elsif (!defined($found{'body'})) { |
my %add_entries; |
my %add_entries; |
Line 222 sub page_start {
|
Line 239 sub page_start {
|
|
|
my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack, |
my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack, |
$safeeval); |
$safeeval); |
if ($bgcolor eq '' ) { $bgcolor = '#FFFFFF'; } |
if ($bgcolor eq '' ) { $bgcolor = '#FFFFFF'; } |
|
|
$body_args{'bgcolor'} = $bgcolor; |
$body_args{'bgcolor'} = $bgcolor; |
$body_args{'no_title'} = 1; |
# $body_args{'no_title'} = 1; |
$body_args{'force_register'} = 1; |
$body_args{'force_register'} = 1; |
$body_args{'add_entries'} = \%add_entries; |
$body_args{'add_entries'} = \%add_entries; |
if ($env{'environment.remote'} eq 'off' |
if ($env{'environment.remote'} eq 'off' |
&& $env{'request.state'} eq 'construct') { |
&& $env{'request.state'} eq 'construct') { |
$body_args{'only_body'} = 1; |
$body_args{'only_body'} = 1; |
} |
} |
} |
} |
$body_args{'no_auto_mt_title'} = 1; |
$body_args{'no_auto_mt_title'} = 1; |
my $page_start = &Apache::loncommon::start_page($name,$extra_head, |
my $page_start = &Apache::loncommon::start_page($name,$extra_head, |
\%body_args); |
\%body_args); |
|
$page_start .= $pageheader; |
|
|
if (!defined($found{'body'}) |
unless ($env{'request.gcicontext'} eq 'buildtest') { |
&& $env{'request.state'} ne 'construct' |
if (!defined($found{'body'}) |
&& ($target eq 'web' || $target eq 'webgrade')) { |
&& $env{'request.state'} ne 'construct' |
|
&& ($target eq 'web' || $target eq 'webgrade')) { |
my ($symb,undef,undef,undef,$publicuser)= &Apache::lonnet::whichuser(); |
|
if ($symb eq '' && !$publicuser) { |
my ($symb,undef,undef,undef,$publicuser)= &Apache::lonnet::whichuser(); |
if ($symb eq '' && !$publicuser) { |
if ($symb eq '' && !$publicuser) { |
$page_start .= '<p class="LC_info">' |
$page_start .= '<p class="LC_info">' |
.&mt('Browsing resource, all submissions are temporary.') |
.&mt('Browsing resource, all submissions are temporary.') |
.'</p>'; |
.'</p>'; |
|
} |
} |
} |
} |
} |
|
|
Line 257 sub page_start {
|
Line 276 sub page_start {
|
my $form_tag_start; |
my $form_tag_start; |
if (!defined($found{'form'})) { |
if (!defined($found{'form'})) { |
$form_tag_start='<form name="lonhomework" enctype="multipart/form-data" method="post" action="'; |
$form_tag_start='<form name="lonhomework" enctype="multipart/form-data" method="post" action="'; |
my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'}); |
my $uri = Apache::loncommon::inhibit_menu_check( |
|
&Apache::lonenc::check_encrypt($env{'request.uri'})); |
$form_tag_start.=$uri.'" '; |
$form_tag_start.=$uri.'" '; |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
$form_tag_start.=&Apache::edit::form_change_detection(); |
$form_tag_start.=&Apache::edit::form_change_detection(); |
Line 372 sub problem_edit_header {
|
Line 392 sub problem_edit_header {
|
'.&mt('Problem Editing').&Apache::loncommon::help_open_menu('Problem Editing','Problem_Editor_XML_Index',5,'Authoring').' |
'.&mt('Problem Editing').&Apache::loncommon::help_open_menu('Problem Editing','Problem_Editor_XML_Index',5,'Authoring').' |
</div>'. |
</div>'. |
&problem_edit_buttons().' |
&problem_edit_buttons().' |
<hr class="LC_edit_problem_divide" /> |
<hr style="clear:both;" /> |
'.&Apache::lonxml::message_location().' |
'.&Apache::lonxml::message_location().' |
</div> |
</div> |
'. |
'. |
'<table border="0" width="100%"><tr><td bgcolor="#DDDDDD">'; |
'<table border="0" width="100%"><tr><td bgcolor="#F8F8F8">'; |
} |
} |
|
|
sub problem_edit_footer { |
sub problem_edit_footer { |
return '</td></tr></table><br /> |
return '</td></tr></table><br /> |
<div class="LC_edit_problem_footer"> |
<div class="LC_edit_problem_footer"> |
<hr class="LC_edit_problem_divide" />'. |
<hr />'. |
&problem_edit_buttons().' |
&problem_edit_buttons().' |
<hr class="LC_edit_problem_divide" /> |
<hr style="clear:both;" /> |
</div> |
</div> |
'. |
'. |
|
|
Line 419 sub problem_web_to_edit_header {
|
Line 439 sub problem_web_to_edit_header {
|
'</div>'; |
'</div>'; |
} |
} |
|
|
my $show_all_foils_text = |
my $show_all_foils_text = |
($Apache::lonhomework::parsing_a_task) ? |
($Apache::lonhomework::parsing_a_task) ? |
&mt('Show All Instances') |
&mt('Show All Instances') |
: &mt('Show All Foils'); |
: &mt('Show All Foils'); |
|
|
my $show_all= '<span class="LC_nobreak"><label for="showallfoils">' |
my $show_all= '<span class="LC_nobreak"><label for="showallfoils">' |
.'<input type="checkbox" name="showallfoils"'; |
.'<input type="checkbox" name="showallfoils"'; |
Line 501 $show_all
|
Line 521 $show_all
|
<input type="submit" name="clear_style_file" accesskey="d" value="'.&mt('Show Default View').'" /> |
<input type="submit" name="clear_style_file" accesskey="d" value="'.&mt('Show Default View').'" /> |
<input type="submit" name="resetdata" accesskey="r" value="'.&mt('Reset Submissions').'" /> |
<input type="submit" name="resetdata" accesskey="r" value="'.&mt('Reset Submissions').'" /> |
</div> |
</div> |
<hr class="LC_edit_problem_divide" /> |
<hr /> |
<div class="LC_edit_problem_header_randomize_row"> |
<div class="LC_edit_problem_header_randomize_row"> |
<input type="submit" name="newrandomization" accesskey="a" value="'.&mt('New Randomization').'" /> |
<input type="submit" name="newrandomization" accesskey="a" value="'.&mt('New Randomization').'" /> |
<input type="submit" name="changerandseed" value="'.&mt('Change Random Seed To:').'" /> |
<input type="submit" name="changerandseed" value="'.&mt('Change Random Seed To:').'" /> |
Line 525 $show_all
|
Line 545 $show_all
|
|
|
$result.=' |
$result.=' |
</div> |
</div> |
<div class="LC_edit_problem_header_edit_row">'; |
<hr /> |
|
<div>'; |
$result.='<input type="hidden" name="problemmode" value="view" />'; |
$result.='<input type="hidden" name="problemmode" value="view" />'; |
$result .= '<input type="button" name="submitmode" accesskey="e" value="'.&mt('Edit').'" '. |
$result .= '<input type="button" name="submitmode" accesskey="e" value="'.&mt('Edit').'" '. |
'onclick="javascript:setmode(this.form,'."'edit'".')" />'; |
'onclick="javascript:setmode(this.form,'."'edit'".')" />'; |
Line 533 $show_all
|
Line 554 $show_all
|
'onclick="javascript:setmode(this.form,'."'editxml'".')" />'; |
'onclick="javascript:setmode(this.form,'."'editxml'".')" />'; |
$result.=' |
$result.=' |
</div> |
</div> |
|
<hr /> |
'.&Apache::lonxml::message_location().' |
'.&Apache::lonxml::message_location().' |
</div>'; |
</div>'; |
return $result; |
return $result; |
Line 632 item store_aggregates()
|
Line 654 item store_aggregates()
|
|
|
sub store_aggregates { |
sub store_aggregates { |
my ($symb,$courseid) = @_; |
my ($symb,$courseid) = @_; |
my %aggregate; |
my (%aggregate,%subtracker); |
|
my $tracksub; |
|
if ($symb =~ m{^uploaded/gcitest/$LONCAPA::match_courseid/default_1261144274.sequence___\d+___gci/gci/}) { |
|
$tracksub = 1; |
|
} |
my @parts; |
my @parts; |
my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |
Line 647 sub store_aggregates {
|
Line 673 sub store_aggregates {
|
$Apache::lonhomework::results{'resource.'.$part.'.award'} |
$Apache::lonhomework::results{'resource.'.$part.'.award'} |
eq 'EXACT_ANS') { |
eq 'EXACT_ANS') { |
$aggregate{$symb."\0".$part."\0correct"} = 1; |
$aggregate{$symb."\0".$part."\0correct"} = 1; |
|
if ($tracksub) { |
|
$subtracker{$env{'user.name'}.':'.$env{'user.domain'}."\0correct"} ++; |
|
} |
} |
} |
if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) { |
if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) { |
$aggregate{$symb."\0".$part."\0users"} = 1; |
$aggregate{$symb."\0".$part."\0users"} = 1; |
Line 659 sub store_aggregates {
|
Line 688 sub store_aggregates {
|
} |
} |
} |
} |
$aggregate{$symb."\0".$part."\0attempts"} = 1; |
$aggregate{$symb."\0".$part."\0attempts"} = 1; |
|
if ($tracksub) { |
|
if ($Apache::lonhomework::type eq 'survey') { |
|
$subtracker{$env{'user.name'}.':'.$env{'user.domain'}."\0surveysubs"} ++; |
|
} else { |
|
$subtracker{$env{'user.name'}.':'.$env{'user.domain'}."\0attempts"} ++; |
|
} |
|
} |
} |
} |
if (keys (%aggregate) > 0) { |
if (keys (%aggregate) > 0) { |
&Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, |
&Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, |
$cdomain,$cname); |
$cdomain,$cname); |
} |
} |
|
if (keys(%subtracker) > 0) { |
|
&Apache::lonnet::cinc('nohist_submissiontracker',\%subtracker, |
|
$cdomain,$cname); |
|
} |
} |
} |
|
|
sub checkout_msg { |
sub checkout_msg { |
Line 895 sub start_problem {
|
Line 935 sub start_problem {
|
if ($env{'request.state'} ne "construct" && |
if ($env{'request.state'} ne "construct" && |
($symb eq '' || $Apache::lonhomework::type eq 'practice')) { |
($symb eq '' || $Apache::lonhomework::type eq 'practice')) { |
$form_tag_start.='<input type="hidden" name="rndseed" value="'. |
$form_tag_start.='<input type="hidden" name="rndseed" value="'. |
$rndseed.'" />'. |
$rndseed.'" />'; |
'<input type="submit" name="resetdata" |
unless ($env{'request.gcicontext'} eq 'buildtest') { |
value="'.&mt('New Problem Variation').'" />'; |
$form_tag_start .= '<input type="submit" name="resetdata"'. |
|
' value="'.&mt('New Problem Variation').'" />'; |
|
} |
if (exists($env{'form.username'})) { |
if (exists($env{'form.username'})) { |
$form_tag_start.= |
$form_tag_start.= |
'<input type="hidden" name="username" |
'<input type="hidden" name="username" |
value="'.$env{'form.username'}.'" />'; |
value="'.$env{'form.username'}.'" />'; |
} |
} |
if ($env{'request.role.adv'}) { |
unless ($env{'request.gcicontext'} eq 'buildtest') { |
$form_tag_start.= ' <label class="LC_nobreak">' |
if ($env{'request.role.adv'}) { |
.'<input type="checkbox" name="showallfoils"'; |
$form_tag_start.= ' <label class="LC_nobreak">' |
if (defined($env{'form.showallfoils'})) { |
.'<input type="checkbox" name="showallfoils"'; |
$form_tag_start.=' checked="checked"'; |
if (defined($env{'form.showallfoils'})) { |
} |
$form_tag_start.=' checked="checked"'; |
$form_tag_start.= ' /> ' |
} |
.&mt('Show All Foils') |
$form_tag_start.= ' /> ' |
.'</label>'; |
.&mt('Show All Foils') |
|
.'</label>'; |
} |
} |
|
} |
if ($Apache::lonhomework::type eq 'practice') { |
if ($Apache::lonhomework::type eq 'practice') { |
$form_tag_start.=&practice_problem_header(); |
$form_tag_start.=&practice_problem_header(); |
} |
} |
$form_tag_start.='<hr />'; |
unless ($env{'request.gcicontext'} eq 'buildtest') { |
|
$form_tag_start.='<hr />'; |
|
} |
} |
} |
|
|
($status,$accessmsg,my $slot_name,my $slot) = |
($status,$accessmsg,my $slot_name,my $slot) = |
Line 1069 sub end_problem {
|
Line 1114 sub end_problem {
|
# it in the problem header. We have been logging the |
# it in the problem header. We have been logging the |
# last due date written to file. |
# last due date written to file. |
|
|
my $duetime = &Apache::lonnet::EXT("resource.$id.duedate"); |
my $duetime = &Apache::lonnet::EXT("resource.$id.duedate"); |
my $duedate = POSIX::strftime("%c",localtime($duetime)); |
my $duedate = POSIX::strftime("%c",localtime($duetime)); |
my $duedate_text = &mt('Due date: [_1]' |
my $duedate_text = &mt('Due date: [_1]' |
,&Apache::lonlocal::locallocaltime($duetime)); |
,&Apache::lonlocal::locallocaltime($duetime)); |
Line 2039 sub start_simpleeditbutton {
|
Line 2084 sub start_simpleeditbutton {
|
my $url=$env{'request.noversionuri'}; |
my $url=$env{'request.noversionuri'}; |
$url=~s/\?.*$//; |
$url=~s/\?.*$//; |
my ($symb) = &Apache::lonnet::whichuser(); |
my ($symb) = &Apache::lonnet::whichuser(); |
# Warning make more sense and is more important on edit screen |
# Warning makes more sense and is more important on edit screen |
# $result='<p class="LC_warning">' |
# $result='<p class="LC_warning">' |
# .&mt('Note: it can take up to 10 minutes for changes to take effect for all users.') |
# .&mt('Note: it can take up to 10 minutes for changes to take effect for all users.') |
# .&Apache::loncommon::help_open_topic('Caching') |
# .&Apache::loncommon::help_open_topic('Caching') |
# .'</p>'; |
# .'</p>'; |
$result.=&Apache::lontemplate::start_functionslist() |
$result.=&Apache::lonhtmlcommon::start_funclist() |
.&Apache::lontemplate::item_functionslist( |
.&Apache::lonhtmlcommon::add_item_funclist( |
'<a href="'.$url.'/smpedit?symb='.&escape($symb).'">'.&mt('Edit').'</a>') |
'<a href="'.$url.'/smpedit?symb='.&escape($symb).'">' |
.&Apache::lontemplate::end_functionslist(); |
.&mt('Edit').'</a>') |
|
.&Apache::lonhtmlcommon::end_funclist(); |
|
|
} |
} |
return $result; |
return $result; |