version 1.160, 2006/12/18 21:48:47
|
version 1.173, 2009/05/27 16:54:57
|
Line 188 use Apache::lonlocal;
|
Line 188 use Apache::lonlocal;
|
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::longroup; |
use Apache::longroup; |
use Apache::lonselstudent; |
use Apache::lonselstudent; |
|
|
|
|
use LONCAPA; |
use LONCAPA; |
|
|
# Register all the tags with the helper, so the helper can |
# Register all the tags with the helper, so the helper can |
Line 529 sub process {
|
Line 531 sub process {
|
# Phase 1: Post processing for state of previous screen (which is actually |
# Phase 1: Post processing for state of previous screen (which is actually |
# the "current state" in terms of the helper variables), if it wasn't the |
# the "current state" in terms of the helper variables), if it wasn't the |
# beginning state. |
# beginning state. |
if ($self->{STATE} ne "START" || $env{"form.SUBMIT"} eq &mt("Next ->")) { |
if ($self->{STATE} ne "START" || $env{"form.SUBMIT"} eq &mt("Next")) { |
my $prevState = $self->{STATES}{$self->{STATE}}; |
my $prevState = $self->{STATES}{$self->{STATE}}; |
$prevState->postprocess(); |
$prevState->postprocess(); |
} |
} |
Line 590 sub display {
|
Line 592 sub display {
|
$result .= &Apache::loncommon::start_page($self->{TITLE}, |
$result .= &Apache::loncommon::start_page($self->{TITLE}, |
$browser_searcher_js); |
$browser_searcher_js); |
|
|
my $previous = HTML::Entities::encode(&mt("<- Previous"), '<>&"'); |
my $previous = HTML::Entities::encode(&mt("Back"), '<>&"'); |
my $next = HTML::Entities::encode(&mt("Next ->"), '<>&"'); |
my $next = HTML::Entities::encode(&mt("Next"), '<>&"'); |
# FIXME: This should be parameterized, not concatenated - Jeremy |
# FIXME: This should be parameterized, not concatenated - Jeremy |
|
|
|
|
if (!$state->overrideForm()) { $result.="<form name='helpform' method='POST'>"; } |
if (!$state->overrideForm()) { $result.='<form name="helpform" method="post">'; } |
if ($stateHelp) { |
if ($stateHelp) { |
$stateHelp = &Apache::loncommon::help_open_topic($stateHelp); |
$stateHelp = &Apache::loncommon::help_open_topic($stateHelp); |
} |
} |
Line 624 HEADER
|
Line 626 HEADER
|
$result .= "<a href=\"$returnPage\">" . &mt("End Helper") . "</a>"; |
$result .= "<a href=\"$returnPage\">" . &mt("End Helper") . "</a>"; |
} |
} |
else { |
else { |
$result .= '<nobr><input name="back" type="button" '; |
$result .= '<span class="LC_nobreak"><input name="back" type="button" '; |
$result .= 'value="' . $previous . '" onclick="history.go(-1)" /> '; |
$result .= 'value="' . $previous . '" onclick="history.go(-1)" /> '; |
$result .= '<input name="SUBMIT" type="submit" value="' . $next . '" /></nobr>'; |
$result .= '<input name="SUBMIT" type="submit" value="' . $next . '" /></span>'; |
} |
} |
} |
} |
|
|
Line 643 HEADER
|
Line 645 HEADER
|
$result .= "<a href=\"$returnPage\">" . &mt('End Helper') . "</a>"; |
$result .= "<a href=\"$returnPage\">" . &mt('End Helper') . "</a>"; |
} |
} |
else { |
else { |
$result .= '<nobr><input name="back" type="button" '; |
$result .= '<span class="LC_nobreak"><input name="back" type="button" '; |
$result .= 'value="' . $previous . '" onclick="history.go(-1)" /> '; |
$result .= 'value="' . $previous . '" onclick="history.go(-1)" /> '; |
$result .= '<input name="SUBMIT" type="submit" value="' . $next . '" /></nobr>'; |
$result .= '<input name="SUBMIT" type="submit" value="' . $next . '" /></span>'; |
} |
} |
} |
} |
|
|
Line 1008 sub start_message {
|
Line 1010 sub start_message {
|
if (defined($token->[2]{'nextstate'})) { |
if (defined($token->[2]{'nextstate'})) { |
$paramHash->{NEXTSTATE} = $token->[2]{'nextstate'}; |
$paramHash->{NEXTSTATE} = $token->[2]{'nextstate'}; |
} |
} |
|
if (defined($token->[2]{'type'})) { |
|
$paramHash->{TYPE} = $token->[2]{'type'}; |
|
} |
return ''; |
return ''; |
} |
} |
|
|
Line 1023 sub end_message {
|
Line 1028 sub end_message {
|
|
|
sub render { |
sub render { |
my $self = shift; |
my $self = shift; |
|
|
return &mtn($self->{MESSAGE_TEXT}); |
if ($self->{TYPE} =~ /^\s*warning\s*$/i) { |
|
$self->{MESSAGE_TEXT} = |
|
'<span class="LC_warning">'. $self->{MESSAGE_TEXT}.'</span>'; |
|
} |
|
if ($self->{TYPE} =~ /^\s*error\s*$/i) { |
|
$self->{MESSAGE_TEXT} = |
|
'<span class="LC_error">'. $self->{MESSAGE_TEXT}.'</span>'; |
|
} |
|
return $self->{MESSAGE_TEXT}; |
} |
} |
# If a NEXTSTATE was given, switch to it |
# If a NEXTSTATE was given, switch to it |
sub postprocess { |
sub postprocess { |
Line 1477 BUTTONS
|
Line 1490 BUTTONS
|
$choiceLabel = &$choiceLabel($helper, $self); |
$choiceLabel = &$choiceLabel($helper, $self); |
} |
} |
$result .= "/></td><td> ".qq{<label for="id$id">}. |
$result .= "/></td><td> ".qq{<label for="id$id">}. |
$choiceLabel. "</label></td>"; |
$choiceLabel. "</label></td>"; |
if ($choice->[4]) { |
if ($choice->[4]) { |
$result .='<td><input type="text" size="5" name="' |
$result .='<td><input type="text" size="5" name="' |
.$choice->[4].'_forminput" value="' |
.$choice->[4].'_forminput" value="' |
Line 1497 sub postprocess {
|
Line 1510 sub postprocess {
|
my $self = shift; |
my $self = shift; |
my $chosenValue = $env{'form.' . $self->{'variable'} . '_forminput'}; |
my $chosenValue = $env{'form.' . $self->{'variable'} . '_forminput'}; |
|
|
|
|
if (!defined($chosenValue) && !$self->{'allowempty'}) { |
if (!defined($chosenValue) && !$self->{'allowempty'}) { |
$self->{ERROR_MSG} = |
$self->{ERROR_MSG} = |
&mt("You must choose one or more choices to continue."); |
&mt("You must choose one or more choices to continue."); |
return 0; |
return 0; |
} |
} |
|
|
|
|
|
|
if (ref($chosenValue)) { |
if (ref($chosenValue)) { |
$helper->{VARS}->{$self->{'variable'}} = join('|||', @$chosenValue); |
$helper->{VARS}->{$self->{'variable'}} = join('|||', @$chosenValue); |
} |
} |
Line 1714 no strict;
|
Line 1730 no strict;
|
use strict; |
use strict; |
use Apache::lonlocal; # A localization nightmare |
use Apache::lonlocal; # A localization nightmare |
use Apache::lonnet; |
use Apache::lonnet; |
use Time::localtime; |
use DateTime; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonhelper::register('Apache::lonhelper::date', |
&Apache::lonhelper::register('Apache::lonhelper::date', |
Line 1764 sub render {
|
Line 1780 sub render {
|
my $time=time; |
my $time=time; |
my ($anytime,$onclick); |
my ($anytime,$onclick); |
|
|
|
|
# first check VARS for a valid new value from the user |
# first check VARS for a valid new value from the user |
# then check DEFAULT_VALUE for a valid default time value |
# then check DEFAULT_VALUE for a valid default time value |
# otherwise pick now as reasonably good time |
# otherwise pick now as reasonably good time |
|
|
if (defined($helper->{VARS}{$var}) |
if (defined($helper->{VARS}{$var}) |
&& $helper->{VARS}{$var} > 0) { |
&& $helper->{VARS}{$var} > 0) { |
$date = localtime($helper->{VARS}{$var}); |
$date = &get_date_object($helper->{VARS}{$var}); |
} elsif (defined($self->{DEFAULT_VALUE})) { |
} elsif (defined($self->{DEFAULT_VALUE})) { |
my $valueFunc = eval($self->{DEFAULT_VALUE}); |
my $valueFunc = eval($self->{DEFAULT_VALUE}); |
die('Error in default value code for variable ' . |
die('Error in default value code for variable ' . |
Line 1779 sub render {
|
Line 1794 sub render {
|
$time = &$valueFunc($helper, $self); |
$time = &$valueFunc($helper, $self); |
if (lc($time) eq 'anytime') { |
if (lc($time) eq 'anytime') { |
$anytime=1; |
$anytime=1; |
$date = localtime(time); |
$date = &get_date_object(time); |
$date->min(0); |
$date->min(0); |
} elsif (defined($time) && $time ne 0) { |
} elsif (defined($time) && $time ne 0) { |
$date = localtime($time); |
$date = &get_date_object($time); |
} else { |
} else { |
# leave date undefined so it'll default to now |
# leave date undefined so it'll default to now |
} |
} |
} |
} |
|
|
if (!defined($date)) { |
if (!defined($date)) { |
$date = localtime(time); |
$date = &get_date_object(time); |
$date->min(0); |
$date->min(0); |
} |
} |
|
|
Line 1806 sub render {
|
Line 1821 sub render {
|
my $i; |
my $i; |
$result .= "<select $onclick name='${var}month'>\n"; |
$result .= "<select $onclick name='${var}month'>\n"; |
for ($i = 0; $i < 12; $i++) { |
for ($i = 0; $i < 12; $i++) { |
if ($i == $date->mon) { |
if (($i + 1) == $date->mon) { |
$result .= "<option value='$i' selected='selected'>"; |
$result .= "<option value='$i' selected='selected'>"; |
} else { |
} else { |
$result .= "<option value='$i'>"; |
$result .= "<option value='$i'>"; |
} |
} |
$result .= &mt($months[$i]) . "</option>\n"; |
$result .= &mt($months[$i])."</option>\n"; |
} |
} |
$result .= "</select>\n"; |
$result .= "</select>\n"; |
|
|
Line 1830 sub render {
|
Line 1845 sub render {
|
# Year |
# Year |
$result .= "<select $onclick name='${var}year'>\n"; |
$result .= "<select $onclick name='${var}year'>\n"; |
for ($i = 2000; $i < 2030; $i++) { # update this after 64-bit dates |
for ($i = 2000; $i < 2030; $i++) { # update this after 64-bit dates |
if ($date->year + 1900 == $i) { |
if ($date->year == $i) { |
$result .= "<option selected='selected'>"; |
$result .= "<option selected='selected'>"; |
} else { |
} else { |
$result .= "<option>"; |
$result .= "<option>"; |
Line 1885 sub render {
|
Line 1900 sub render {
|
} |
} |
$result .= "</select>\n"; |
$result .= "</select>\n"; |
} |
} |
|
$result .= ' '.$date->time_zone_short_name().' '; |
if ($self->{'anytime'}) { |
if ($self->{'anytime'}) { |
$result.=(<<CHECK); |
$result.=(<<CHECK); |
<script type="text/javascript"> |
<script type="text/javascript"> |
Line 1912 sub postprocess {
|
Line 1928 sub postprocess {
|
if ($env{'form.' . $var . 'anytime'}) { |
if ($env{'form.' . $var . 'anytime'}) { |
$helper->{VARS}->{$var} = undef; |
$helper->{VARS}->{$var} = undef; |
} else { |
} else { |
my $month = $env{'form.' . $var . 'month'}; |
my $month = $env{'form.' . $var . 'month'}; |
|
$month ++; |
my $day = $env{'form.' . $var . 'day'}; |
my $day = $env{'form.' . $var . 'day'}; |
my $year = $env{'form.' . $var . 'year'}; |
my $year = $env{'form.' . $var . 'year'}; |
my $min = 0; |
my $min = 0; |
Line 1922 sub postprocess {
|
Line 1939 sub postprocess {
|
$hour = $env{'form.' . $var . 'hour'}; |
$hour = $env{'form.' . $var . 'hour'}; |
} |
} |
|
|
my $chosenDate; |
my ($chosenDate,$checkDate); |
eval {$chosenDate = Time::Local::timelocal(0, $min, $hour, $day, $month, $year);}; |
my $timezone = &Apache::lonlocal::gettimezone(); |
|
my $dt; |
|
eval { |
|
$dt = DateTime->new( year => $year, |
|
month => $month, |
|
day => $day, |
|
hour => $hour, |
|
minute => $min, |
|
second => 0, |
|
time_zone => $timezone, |
|
); |
|
}; |
|
|
my $error = $@; |
my $error = $@; |
|
if (!$error) { |
|
$chosenDate = $dt->epoch; |
|
$checkDate = &get_date_object($chosenDate); |
|
} |
|
|
# Check to make sure that the date was not automatically co-erced into a |
# Check to make sure that the date was not automatically co-erced into a |
# valid date, as we want to flag that as an error |
# valid date, as we want to flag that as an error |
# This happens for "Feb. 31", for instance, which is coerced to March 2 or |
# This happens for "Feb. 31", for instance, which is coerced to March 2 or |
# 3, depending on if it's a leap year |
# 3, depending on if it's a leap year |
my $checkDate = localtime($chosenDate); |
|
|
|
if ($error || $checkDate->mon != $month || $checkDate->mday != $day || |
if ($error || $checkDate->mon != $month || $checkDate->mday != $day || |
$checkDate->year + 1900 != $year) { |
$checkDate->year != $year) { |
unless (Apache::lonlocal::current_language()== ~/^en/) { |
unless (Apache::lonlocal::current_language()== ~/^en/) { |
$self->{ERROR_MSG} = &mt("Invalid date entry"); |
$self->{ERROR_MSG} = &mt("Invalid date entry"); |
return 0; |
return 0; |
} |
} |
# LOCALIZATION FIXME: Needs to be parameterized |
# LOCALIZATION FIXME: Needs to be parameterized |
$self->{ERROR_MSG} = "Can't use " . $months[$month] . " $day, $year as a " |
$self->{ERROR_MSG} = "Can't use ".$months[$env{'form.'.$var.'month'}]. " $day, $year as a ". |
. "date because it doesn't exist. Please enter a valid date."; |
"date because it doesn't exist. Please enter a valid date."; |
|
|
return 0; |
return 0; |
} |
} |
Line 1963 sub postprocess {
|
Line 1995 sub postprocess {
|
|
|
return 1; |
return 1; |
} |
} |
|
|
|
sub get_date_object { |
|
my ($epoch) = @_; |
|
my $dt = DateTime->from_epoch(epoch => $epoch) |
|
->set_time_zone(&Apache::lonlocal::gettimezone()); |
|
my $lang = Apache::lonlocal::current_language(); |
|
if ($lang ne '') { |
|
eval { |
|
$dt->set_locale($lang); |
|
}; |
|
} |
|
return $dt; |
|
} |
|
|
1; |
1; |
|
|
package Apache::lonhelper::resource; |
package Apache::lonhelper::resource; |
Line 1989 folders that have all of their contained
|
Line 2035 folders that have all of their contained
|
be filtered out. The 'addstatus' attribute, if true, will add the icon |
be filtered out. The 'addstatus' attribute, if true, will add the icon |
and long status display columns to the display. The 'addparts' |
and long status display columns to the display. The 'addparts' |
attribute will add in a part selector beside problems that have more |
attribute will add in a part selector beside problems that have more |
than 1 part. |
than 1 part. The 'includecourse' attribute if true, will include |
|
the toplevel default.sequence in the results. |
|
|
=head3 SUB-TAGS |
=head3 SUB-TAGS |
|
|
Line 2062 sub start_resource {
|
Line 2109 sub start_resource {
|
$helper->declareVar($paramHash->{'variable'}.'_part'); |
$helper->declareVar($paramHash->{'variable'}.'_part'); |
} |
} |
$paramHash->{'closeallpages'} = $token->[2]{'closeallpages'}; |
$paramHash->{'closeallpages'} = $token->[2]{'closeallpages'}; |
|
$paramHash->{'include_top_level_map'} = $token->[2]{'includecourse'}; |
return ''; |
return ''; |
} |
} |
|
|
Line 2387 RADIO
|
Line 2435 RADIO
|
'resource_no_folder_link' => 1, |
'resource_no_folder_link' => 1, |
'closeAllPages' => $self->{'closeallpages'}, |
'closeAllPages' => $self->{'closeallpages'}, |
'suppressEmptySequences' => $self->{'suppressEmptySequences'}, |
'suppressEmptySequences' => $self->{'suppressEmptySequences'}, |
|
'include_top_level_map' => $self->{'include_top_level_map'}, |
'iterator_map' => $mapUrl } |
'iterator_map' => $mapUrl } |
); |
); |
|
|
Line 2402 sub postprocess {
|
Line 2451 sub postprocess {
|
$self->{ERROR_MSG} = 'You must choose at least one resource to continue.'; |
$self->{ERROR_MSG} = 'You must choose at least one resource to continue.'; |
return 0; |
return 0; |
} |
} |
|
# For each of the attached options. If it's env var is undefined, set it to |
|
# an empty string instead.. an undef'd env var means no choices selected. |
|
# |
|
|
|
my $option_vars = $self->{OPTION_VARS}; |
|
if ($option_vars) { |
|
foreach my $var (@$option_vars) { |
|
my $env_name = "form.".$var."_forminput"; |
|
if (!defined($env{$env_name})) { |
|
$env{$env_name} = ''; |
|
$helper->{VARS}->{$var} = ''; |
|
} |
|
} |
|
} |
|
|
|
|
if (defined($self->{NEXTSTATE})) { |
if (defined($self->{NEXTSTATE})) { |
$helper->changeState($self->{NEXTSTATE}); |
$helper->changeState($self->{NEXTSTATE}); |
Line 2818 BUTTONS
|
Line 2882 BUTTONS
|
&Apache::loncacc::constructaccess($subdir, |
&Apache::loncacc::constructaccess($subdir, |
$Apache::lonnet::perlvar{'lonDefDomain'}); |
$Apache::lonnet::perlvar{'lonDefDomain'}); |
$metadir='/res/'.$domain.'/'.$user.'/'.$2; |
$metadir='/res/'.$domain.'/'.$user.'/'.$2; |
@fileList = &Apache::lonnet::dirlist($subdir, $domain, $user, ''); |
@fileList = &Apache::lonnet::dirlist($subdir,$domain,$user,undef,undef,'/'); |
} elsif ($subdir =~ m|^~([^/]+)/(.*)$|) { |
} elsif ($subdir =~ m|^~([^/]+)/(.*)$|) { |
$subdir='/home/'.$1.'/public_html/'.$2; |
$subdir='/home/'.$1.'/public_html/'.$2; |
my ($user,$domain)= |
my ($user,$domain)= |
&Apache::loncacc::constructaccess($subdir, |
&Apache::loncacc::constructaccess($subdir, |
$Apache::lonnet::perlvar{'lonDefDomain'}); |
$Apache::lonnet::perlvar{'lonDefDomain'}); |
$metadir='/res/'.$domain.'/'.$user.'/'.$2; |
$metadir='/res/'.$domain.'/'.$user.'/'.$2; |
@fileList = &Apache::lonnet::dirlist($subdir, $domain, $user, ''); |
@fileList = &Apache::lonnet::dirlist($subdir,$domain,$user,undef,undef,'/'); |
} else { |
} else { |
# local library server resource space |
# local library server resource space |
@fileList = &Apache::lonnet::dirlist($subdir, $env{'user.domain'}, $env{'user.name'}, ''); |
@fileList = &Apache::lonnet::dirlist($subdir,$env{'user.domain'},$env{'user.name'},undef,undef,'/'); |
} |
} |
|
|
# Sort the fileList into order |
# Sort the fileList into order |
Line 3498 sub render {
|
Line 3562 sub render {
|
} |
} |
my $finish=&mt('Finish Course Initialization'); |
my $finish=&mt('Finish Course Initialization'); |
} |
} |
my $previous = HTML::Entities::encode(&mt("<- Previous"), '<>&"'); |
my $previous = HTML::Entities::encode(&mt("Back"), '<>&"'); |
my $next = HTML::Entities::encode(&mt("Next ->"), '<>&"'); |
my $next = HTML::Entities::encode(&mt("Next"), '<>&"'); |
my $target = " target='loncapaclient'"; |
my $target = " target='loncapaclient'"; |
if (($env{'browser.interface'} eq 'textual') || |
if ($env{'environment.remote'} eq 'off') { $target=''; } |
($env{'environment.remote'} eq 'off')) { $target=''; } |
|
$result .= "<center>\n" . |
$result .= "<center>\n" . |
"<form action='".$actionURL."' method='post' $target>\n" . |
"<form action='".$actionURL."' method='post' $target>\n" . |
"<input type='button' onclick='history.go(-1)' value='$previous' />" . |
"<input type='button' onclick='history.go(-1)' value='$previous' />" . |
Line 3589 sub render {
|
Line 3652 sub render {
|
|
|
# Print the granularity, depending on the action |
# Print the granularity, depending on the action |
if ($vars->{GRANULARITY} eq 'whole_course') { |
if ($vars->{GRANULARITY} eq 'whole_course') { |
$resourceString .= '<li>'.&mt('for <b>all resources in the course</b>').'</li>'; |
$resourceString .= '<li>'.&mt('for [_1]all resources in the course[_2]','<b>','</b>').'</li>'; |
if ($vars->{TARGETS} eq 'course') { |
if ($vars->{TARGETS} eq 'course') { |
$level = 14; # general course, see lonparmset.pm perldoc |
$level = 14; # general course, see lonparmset.pm perldoc |
} elsif ($vars->{TARGETS} eq 'section') { |
} elsif ($vars->{TARGETS} eq 'section') { |
Line 3604 sub render {
|
Line 3667 sub render {
|
$paramlevel = 'general'; |
$paramlevel = 'general'; |
} elsif ($vars->{GRANULARITY} eq 'map') { |
} elsif ($vars->{GRANULARITY} eq 'map') { |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $res = $navmap->getByMapPc($vars->{RESOURCE_ID}); |
if (defined($navmap)) { |
my $title = $res->compTitle(); |
my $res = $navmap->getByMapPc($vars->{RESOURCE_ID}); |
$symb = $res->symb(); |
my $title = $res->compTitle(); |
$resourceString .= '<li>'.&mt('for the map named [_1]',"<b>$title</b>").'</li>'; |
$symb = $res->symb(); |
|
$resourceString .= '<li>'.&mt('for the map named [_1]',"<b>$title</b>").'</li>'; |
|
} else { |
|
$resourceString .= '<li>'.&mt('for the map ID [_1] (name unavailable)','<b>'.$vars->{RESOURCE_ID}.'</b>').'</li>'; |
|
&Apache::lonnet::logthis('Retrieval of map title failed in lonhelper.pm - could not create navmap object for course.'); |
|
|
|
} |
if ($vars->{TARGETS} eq 'course') { |
if ($vars->{TARGETS} eq 'course') { |
$level = 13; # general course, see lonparmset.pm perldoc |
$level = 13; # general course, see lonparmset.pm perldoc |
} elsif ($vars->{TARGETS} eq 'section') { |
} elsif ($vars->{TARGETS} eq 'section') { |
Line 3620 sub render {
|
Line 3689 sub render {
|
$affectedResourceId = $vars->{RESOURCE_ID}; |
$affectedResourceId = $vars->{RESOURCE_ID}; |
$paramlevel = 'map'; |
$paramlevel = 'map'; |
} else { |
} else { |
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
my $res = $navmap->getById($vars->{RESOURCE_ID}); |
|
my $part = $vars->{RESOURCE_ID_part}; |
my $part = $vars->{RESOURCE_ID_part}; |
if ($part ne 'All Parts' && $part) { $parm_name=~s/^0/$part/; } else { $part=&mt('All Parts'); } |
if ($part ne 'All Parts' && $part) { $parm_name=~s/^0/$part/; } else { $part=&mt('All Parts'); } |
$symb = $res->symb(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $title = $res->compTitle(); |
if (defined($navmap)) { |
$resourceString .= '<li>'.&mt('for the resource named [_1] part [_2]',"<b>$title</b>","<b>$part</b>").'</li>'; |
my $res = $navmap->getById($vars->{RESOURCE_ID}); |
|
$symb = $res->symb(); |
|
my $title = $res->compTitle(); |
|
$resourceString .= '<li>'.&mt('for the resource named [_1] part [_2]',"<b>$title</b>","<b>$part</b>").'</li>'; |
|
} else { |
|
$resourceString .= '<li>'.&mt('for the resource ID [_1] (name unavailable) part [_2]','<b>'.$vars->{RESOURCE_ID}.'</b>',"<b>$part</b>").'</li>'; |
|
&Apache::lonnet::logthis('Retrieval of resource title failed in lonhelper.pm - could not create navmap object for course.'); |
|
} |
if ($vars->{TARGETS} eq 'course') { |
if ($vars->{TARGETS} eq 'course') { |
$level = 10; # general course, see lonparmset.pm perldoc |
$level = 10; # general course, see lonparmset.pm perldoc |
} elsif ($vars->{TARGETS} eq 'section') { |
} elsif ($vars->{TARGETS} eq 'section') { |
Line 3640 sub render {
|
Line 3714 sub render {
|
$paramlevel = 'full'; |
$paramlevel = 'full'; |
} |
} |
|
|
my $result = "<form name='helpform' method='POST' action='/adm/parmset#$affectedResourceId&$parm_name&$level'>\n"; |
my $result = "<form name='helpform' method='post' action='/adm/parmset#$affectedResourceId&$parm_name&$level'>\n"; |
$result .= "<input type='hidden' name='action' value='settable' />\n"; |
$result .= "<input type='hidden' name='action' value='settable' />\n"; |
$result .= "<input type='hidden' name='dis' value='helper' />\n"; |
$result .= "<input type='hidden' name='dis' value='helper' />\n"; |
$result .= "<input type='hidden' name='pscat' value='". |
$result .= "<input type='hidden' name='pscat' value='". |
Line 3705 sub render {
|
Line 3779 sub render {
|
|
|
# Print targets |
# Print targets |
if ($vars->{TARGETS} eq 'course') { |
if ($vars->{TARGETS} eq 'course') { |
$result .= '<li>'.&mt('for <b>all students in course</b>').'</li>'; |
$result .= '<li>'.&mt('for [_1]all students in course[_2]','<b>','</b>').'</li>'; |
} elsif ($vars->{TARGETS} eq 'section') { |
} elsif ($vars->{TARGETS} eq 'section') { |
my $section = $vars->{SECTION_NAME}; |
my $section = $vars->{SECTION_NAME}; |
$result .= '<li>'.&mt('for section [_1]',"<b>$section</b>").'</li>'; |
$result .= '<li>'.&mt('for section [_1]',"<b>$section</b>").'</li>'; |
Line 3730 sub render {
|
Line 3804 sub render {
|
|
|
# Print value |
# Print value |
if ($vars->{ACTION_TYPE} ne 'tries' && $vars->{ACTION_TYPE} ne 'weight') { |
if ($vars->{ACTION_TYPE} ne 'tries' && $vars->{ACTION_TYPE} ne 'weight') { |
$result .= '<li>'.&mt('to [_1] ([_2])',"<b>".ctime($vars->{PARM_DATE})."</b>",Apache::lonnavmaps::timeToHumanString($vars->{PARM_DATE}))."</li>\n"; |
my $showdate = &Apache::lonlocal::locallocaltime($vars->{PARM_DATE}); |
|
$result .= '<li>'.&mt('to [_1] ([_2])',"<b>".$showdate."</b>",Apache::lonnavmaps::timeToHumanString($vars->{PARM_DATE}))."</li>\n"; |
} |
} |
|
|
# print pres_marker |
# print pres_marker |