version 1.147, 2003/02/14 19:35:54
|
version 1.154, 2003/03/06 21:05:27
|
Line 101 sub page_start {
|
Line 101 sub page_start {
|
$body_tag_start.='bgcolor="#ffffff"'; |
$body_tag_start.='bgcolor="#ffffff"'; |
} |
} |
} |
} |
$body_tag_start.='>'; |
$body_tag_start.='>'.&Apache::lonmenu::menubuttons(undef,$target,1); |
if ($target eq 'web' && $ENV{'request.state'} ne 'construct') { |
if ($target eq 'web' && $ENV{'request.state'} ne 'construct') { |
my ($symb)=&Apache::lonxml::whichuser(); |
my ($symb)=&Apache::lonxml::whichuser(); |
if ($symb eq '') { |
if ($symb eq '') { |
Line 253 sub start_problem {
|
Line 253 sub start_problem {
|
$Apache::inputtags::part='0'; |
$Apache::inputtags::part='0'; |
@Apache::inputtags::responselist = (); |
@Apache::inputtags::responselist = (); |
@Apache::inputtags::previous=(); |
@Apache::inputtags::previous=(); |
|
$Apache::structuretags::printanswer='No'; |
if ($target ne 'analyze') { |
if ($target ne 'analyze') { |
&initialize_storage(); |
&initialize_storage(); |
if ($target eq 'web') { |
if ($target eq 'web') { |
Line 323 sub start_problem {
|
Line 324 sub start_problem {
|
} |
} |
$result.=$msg.'<br />'; |
$result.=$msg.'<br />'; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$result.="\\begin{document}\\noindent \\vskip 1 mm \\begin{minipage}{\\textwidth}\\vskip 0 mm "; |
$result.='\begin{document}\noindent \vskip 1 mm \begin{minipage}{\textwidth}\vskip 0 mm'; |
if ($status eq 'UNAVAILABLE') { |
if ($status eq 'UNAVAILABLE') { |
$result.='Unable to determine if this resource is open due to network problems. Please try again later.\vskip 0 mm '; |
$result.='Unable to determine if this resource is open due to network problems. Please try again later.\vskip 0 mm '; |
} else { |
} else { |
Line 360 sub start_problem {
|
Line 361 sub start_problem {
|
} |
} |
$Apache::lonhomework::name=$name; |
$Apache::lonhomework::name=$name; |
my $id = $Apache::inputtags::part; |
my $id = $Apache::inputtags::part; |
|
my $weight = &Apache::lonnet::EXT("resource.$id.weight"); |
|
my $allkeys = &Apache::lonnet::metadata($ENV{'request.uri'},'keys'); |
|
my @allkeys = split /,/,$allkeys; |
|
my $allow_print_points = 0; |
|
foreach my $partial_key (@allkeys) { |
|
if ($partial_key=~m/weight/) { |
|
$allow_print_points++; |
|
} |
|
} |
my $duedate = &Apache::lonnet::EXT("resource.$id.duedate"); |
my $duedate = &Apache::lonnet::EXT("resource.$id.duedate"); |
$duedate = POSIX::strftime("%c",localtime($duedate)); |
$duedate = POSIX::strftime("%c",localtime($duedate)); |
my $temp_file; |
my $temp_file; |
Line 372 sub start_problem {
|
Line 382 sub start_problem {
|
my @due_file_content = <$temp_file>; |
my @due_file_content = <$temp_file>; |
my $due_file_content = $due_file_content[$#due_file_content]; |
my $due_file_content = $due_file_content[$#due_file_content]; |
chomp $due_file_content; |
chomp $due_file_content; |
|
my $name_of_resourse= &get_resource_name($parstack,$safeeval); |
if ($due_file_content ne $duedate) { |
if ($due_file_content ne $duedate) { |
$temp_file = Apache::File->new('>'.$filename); |
$temp_file = Apache::File->new('>'.$filename); |
print $temp_file "$duedate\n"; |
print $temp_file "$duedate\n"; |
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
if(not $duedate=~m/1969/) { |
if(not $duedate=~m/1969/ and $Apache::lonhomework::type ne 'exam') { |
$result .= '\begin{document} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent \begin{minipage}{\textwidth}'; |
$result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent \begin{minipage}{\textwidth}'; |
} else { |
} else { |
$result .= '\begin{document} \noindent \vskip 1 mm \noindent\begin{minipage}{\textwidth}'; |
$result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm \noindent\begin{minipage}{\textwidth}'; |
|
if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { $result .= '\fbox{\textit{'.$weight.' pt}}';} |
} |
} |
} else { |
} else { |
$result .= '\vskip 1mm\textit{Due date: '.$duedate.'} \\\\\\\\'; |
$result .= '\vskip 1mm\textit{Due date: '.$duedate.'} \\\\\\\\'; |
} |
} |
} else { |
} else { |
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
if (not $ENV{'request.symb'} =~ m/\.page_/) { |
$result .= '\begin{document} \noindent \vskip 1 mm\noindent\begin{minipage}{\textwidth}'; |
$result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm\noindent\begin{minipage}{\textwidth}'; |
|
if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { $result .= '\fbox{\textit{'.$weight.' pt}}';} |
} else { |
} else { |
$result .= '\vskip 1mm \\\\\\\\'; |
$result .= '\vskip 1mm \\\\\\\\'; |
} |
} |
Line 666 sub start_part {
|
Line 679 sub start_part {
|
$Apache::inputtags::part=$id; |
$Apache::inputtags::part=$id; |
@Apache::inputtags::responselist = (); |
@Apache::inputtags::responselist = (); |
@Apache::inputtags::previous=(); |
@Apache::inputtags::previous=(); |
|
my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part); |
|
|
if ($target eq 'meta') { |
if ($target eq 'meta') { |
return &Apache::response::mandatory_part_meta; |
return &Apache::response::mandatory_part_meta; |
} elsif ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { |
} elsif ($target eq 'web' || $target eq 'grade' || |
my ($status,$accessmsg) = &Apache::lonhomework::check_access($id); |
$target eq 'answer' || $target eq 'tex') { |
push (@Apache::inputtags::status,$status); |
if ($hidden) { |
my $expression='$external::datestatus="'.$status.'";'; |
my $bodytext=&Apache::lonxml::get_all_text("/part",$parser); |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
} else { |
&Apache::run::run($expression,$safeeval); |
my ($status,$accessmsg) = &Apache::lonhomework::check_access($id); |
if ( $status eq 'CLOSED' ) { |
push (@Apache::inputtags::status,$status); |
my $bodytext=&Apache::lonxml::get_all_text("/part",$parser); |
my $expression='$external::datestatus="'.$status.'";'; |
if ( $target eq "web" ) { |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
$result="<br />Part is not open to be viewed. It $accessmsg<br />"; |
&Apache::run::run($expression,$safeeval); |
} elsif ( $target eq 'tex' ) { |
if ( $status eq 'CLOSED' ) { |
$result="\\end{minipage}\\vskip 0 mm Part is not open to be viewed. It $accessmsg \\\\\\begin{minipage}{\\textwidth}"; |
my $bodytext=&Apache::lonxml::get_all_text("/part",$parser); |
} |
if ( $target eq "web" ) { |
} else { |
$result="<br />Part is not open to be viewed. It $accessmsg<br />"; |
if ($target eq 'tex') { |
} elsif ( $target eq 'tex' ) { |
if ($$tagstack[-2] ne 'problem') { |
$result="\\end{minipage}\\vskip 0 mm Part is not open to be viewed. It $accessmsg \\\\\\begin{minipage}{\\textwidth}"; |
$result.='\noindent \end{minipage}\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent'; |
} |
} |
} else { |
|
if ($target eq 'tex') { |
|
$result.='\noindent \end{minipage}\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent'; |
|
my $weight = &Apache::lonnet::EXT("resource.$id.weight"); |
|
if ($Apache::lonhomework::type eq 'exam') { $result .= '\fbox{\textit{'.$weight.' pt}}';} |
|
} |
|
} |
} |
} |
} |
|
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::tag_start($target,$token); |
$result.=&Apache::edit::tag_start($target,$token); |
$result.=&Apache::edit::text_arg('Part ID:','id',$token). |
$result.=&Apache::edit::text_arg('Part ID:','id',$token). |
Line 709 sub end_part {
|
Line 729 sub end_part {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
&Apache::lonxml::debug("in end_part $target "); |
&Apache::lonxml::debug("in end_part $target "); |
my $status=$Apache::inputtags::status['-1']; |
my $status=$Apache::inputtags::status['-1']; |
|
my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part); |
my $result=''; |
my $result=''; |
if ( $target eq 'meta' ) { |
if ( $target eq 'meta' ) { |
$result=''; |
$result=''; |
} elsif ( $target eq 'grade' && $status eq 'CAN_ANSWER') { |
} elsif ( $target eq 'grade' && $status eq 'CAN_ANSWER' && !$hidden) { |
$result=&Apache::inputtags::grade; |
$result=&Apache::inputtags::grade; |
} elsif ($target eq 'web' || $target eq 'tex' ) { |
} elsif (($target eq 'web' || $target eq 'tex') && !$hidden ) { |
my $gradestatus=&Apache::inputtags::gradestatus($Apache::inputtags::part, |
my $gradestatus=&Apache::inputtags::gradestatus($Apache::inputtags::part, |
$target); |
$target); |
if ($Apache::lonhomework::type eq 'exam') {$gradestatus='';} |
if ($Apache::lonhomework::type eq 'exam') {$gradestatus='';} |
$result=$gradestatus; |
$result=$gradestatus; |
} |
} |
pop @Apache::inputtags::status; |
pop @Apache::inputtags::status; |
|
$Apache::inputtags::part=''; |
return $result; |
return $result; |
} |
} |
|
|
Line 807 sub end_startouttext {
|
Line 829 sub end_startouttext {
|
."</td> |
."</td> |
<td>". |
<td>". |
&Apache::edit::insertlist($target,$token). |
&Apache::edit::insertlist($target,$token). |
&Apache::edit::end_row().&Apache::edit::start_spanning_row()."\n". |
&Apache::edit::end_row().&Apache::edit::start_spanning_row()."\n" |
&Apache::edit::editfield($token->[1],$text,"",80,4); |
.'<table><tr><td>'. |
|
&Apache::loncommon::help_open_topic("Greek_Symbols",'Greek Symbols', |
|
undef,undef,600) |
|
.'</td><td>'. |
|
&Apache::loncommon::help_open_topic("Other_Symbols",'Other Symbols', |
|
undef,undef,600) |
|
.'</td></tr></table>'. |
|
&Apache::edit::editfield($token->[1],$text,"",80,4); |
} |
} |
if ($target eq 'modified') { |
if ($target eq 'modified') { |
$text=&Apache::lonxml::get_all_text("endouttext",$parser); |
$text=&Apache::lonxml::get_all_text("endouttext",$parser); |