version 1.233, 2009/08/13 14:54:52
|
version 1.249, 2009/11/24 06:13:20
|
Line 62 use Apache::lonlocal;
|
Line 62 use Apache::lonlocal;
|
use Apache::lonnet; |
use Apache::lonnet; |
use LONCAPA; |
use LONCAPA; |
|
|
|
|
|
sub coursepreflink { |
|
my ($text,$category)=@_; |
|
if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) { |
|
return '<a href="/adm/courseprefs?phase=display&actions='.$category.'">'.$text.'</a>'; |
|
} else { |
|
return ''; |
|
} |
|
} |
|
|
############################################## |
############################################## |
############################################## |
############################################## |
|
|
Line 111 sub dragmath_button {
|
Line 121 sub dragmath_button {
|
} |
} |
my $buttontext=&mt('Edit Math'); |
my $buttontext=&mt('Edit Math'); |
return <<ENDDRAGMATH; |
return <<ENDDRAGMATH; |
<input type="button" value="$buttontext", onclick="javascript:mathedit('$textarea',document)" />$help_text |
<input type="button" value="$buttontext" onclick="javascript:mathedit('$textarea',document)" />$help_text |
ENDDRAGMATH |
ENDDRAGMATH |
} |
} |
|
|
Line 1128 sub crumbs {
|
Line 1138 sub crumbs {
|
my $output=''; |
my $output=''; |
unless ($noformat) { $output.='<br /><tt><b>'; } |
unless ($noformat) { $output.='<br /><tt><b>'; } |
$output.='<font size="'.$size.'">'.$prefix.'/'; |
$output.='<font size="'.$size.'">'.$prefix.'/'; |
if ($env{'user.adv'}) { |
if (($env{'user.adv'}) || ($env{'user.author'})) { |
my $path=$prefix.'/'; |
my $path=$prefix.'/'; |
foreach my $dir (split('/',$uri)) { |
foreach my $dir (split('/',$uri)) { |
if (! $dir) { next; } |
if (! $dir) { next; } |
Line 1342 returns: nothing
|
Line 1352 returns: nothing
|
############################################################ |
############################################################ |
{ |
{ |
my @Crumbs; |
my @Crumbs; |
|
my %tools = (); |
|
|
sub breadcrumbs { |
sub breadcrumbs { |
my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, $CourseBreadcrumbs) = @_; |
my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, $CourseBreadcrumbs) = @_; |
Line 1438 returns: nothing
|
Line 1449 returns: nothing
|
.$links; |
.$links; |
} |
} |
|
|
|
#SD START (work in progress!) |
|
add_tools(\$links); |
|
#SD END |
$links = htmltag('div', $links, |
$links = htmltag('div', $links, |
{ id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ; |
{ id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ; |
|
add_advtools(\$links); |
|
|
# Return the @Crumbs stack to what we started with |
# Return the @Crumbs stack to what we started with |
push(@Crumbs,$last); |
push(@Crumbs,$last); |
Line 1450 returns: nothing
|
Line 1465 returns: nothing
|
|
|
sub clear_breadcrumbs { |
sub clear_breadcrumbs { |
undef(@Crumbs); |
undef(@Crumbs); |
|
undef(%tools); |
} |
} |
|
|
sub add_breadcrumb { |
sub add_breadcrumb { |
push(@Crumbs,@_); |
push(@Crumbs,@_); |
} |
} |
|
|
|
|
|
#SD START (work in progress!) |
|
sub add_breadcrumb_tool { |
|
my ($category, $html) = @_; |
|
return unless $html; |
|
if (!defined(%tools)) { |
|
my %tools = ( A => [], B => [], C => []); |
|
} |
|
push @{$tools{$category}}, $html; |
|
} |
|
|
|
sub clear_breadcrumb_tools { |
|
undef(%tools); |
|
} |
|
|
|
sub add_tools { |
|
my ($links) = @_; |
|
return unless defined %tools; |
|
my $html = '<ul class="LC_bct">'; |
|
for my $category ('A','B') { |
|
$html .= '<li class="LC_breadcrumb_tools">' |
|
. '<ul class="LC_breadcrumb_tools' |
|
. " LC_breadcrumb_tools_$category\">"; |
|
for my $item (@{$tools{$category}}){ |
|
#SD ugly! I'll fix that later on |
|
$item =~ s/align="(right|left)"//; |
|
$item =~ s/<span(.*?)\/span>//; |
|
$html .= "<li>$item</li>"; |
|
} |
|
$html .= '</li></ul>'; |
|
if ($category eq 'A') { $html .= "<li>$$links</li>"; } |
|
} |
|
$$links = $html.'</ul>'; |
|
} |
|
|
|
sub add_advtools { |
|
my ($links) = @_; |
|
return unless (defined $tools{'C'}) and (scalar (@{$tools{'C'}}) > 0); |
|
my $html = start_funclist(); |
|
for my $item (@{$tools{'C'}}){ |
|
next unless $item; |
|
$item =~ s/align="(right|left)"//; |
|
$html .= add_item_funclist($item); |
|
} |
|
$html .= end_funclist(); |
|
$html = Apache::loncommon::head_subbox($html); |
|
$$links .= $html; |
|
} |
|
#SD END |
|
|
} # End of scope for @Crumbs |
} # End of scope for @Crumbs |
|
|
Line 1547 END
|
Line 1613 END
|
} |
} |
|
|
sub row_title { |
sub row_title { |
my ($title,$css_title_class,$css_value_class) = @_; |
my ($title,$css_title_class,$css_value_class, $css_value_furtherAttributes) = @_; |
$row_count[0]++; |
$row_count[0]++; |
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row'; |
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row'; |
$css_title_class ||= 'LC_pick_box_title'; |
$css_title_class ||= 'LC_pick_box_title'; |
Line 1559 sub row_title {
|
Line 1625 sub row_title {
|
$title .= ':'; |
$title .= ':'; |
} |
} |
my $output = <<"ENDONE"; |
my $output = <<"ENDONE"; |
<tr class="LC_pick_box_row"> |
<tr class="LC_pick_box_row" $css_value_furtherAttributes> |
<td $css_title_class> |
<td $css_title_class> |
$title |
$title |
</td> |
</td> |
Line 1590 ENDTWO
|
Line 1656 ENDTWO
|
|
|
sub role_select_row { |
sub role_select_row { |
my ($roles,$title,$css_class,$show_separate_custom,$cdom,$cnum) = @_; |
my ($roles,$title,$css_class,$show_separate_custom,$cdom,$cnum) = @_; |
|
my $crstype = 'Course'; |
|
if ($cdom ne '' && $cnum ne '') { |
|
$crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum); |
|
} |
my $output; |
my $output; |
if (defined($title)) { |
if (defined($title)) { |
$output = &row_title($title,$css_class); |
$output = &row_title($title,$css_class); |
Line 1614 sub role_select_row {
|
Line 1684 sub role_select_row {
|
$plrole = &mt('Custom Role'); |
$plrole = &mt('Custom Role'); |
} |
} |
} else { |
} else { |
$plrole=&Apache::lonnet::plaintext($role); |
$plrole=&Apache::lonnet::plaintext($role,$crstype); |
} |
} |
if (($role ne 'cr') || (!$show_separate_custom)) { |
if (($role ne 'cr') || (!$show_separate_custom)) { |
$output .= ' <option value="'.$role.'">'.$plrole.'</option>'; |
$output .= ' <option value="'.$role.'">'.$plrole.'</option>'; |
Line 1629 sub role_select_row {
|
Line 1699 sub role_select_row {
|
|
|
sub course_select_row { |
sub course_select_row { |
my ($title,$formname,$totcodes,$codetitles,$idlist,$idlist_titles, |
my ($title,$formname,$totcodes,$codetitles,$idlist,$idlist_titles, |
$css_class) = @_; |
$css_class,$crstype) = @_; |
my $output = &row_title($title,$css_class); |
my $output = &row_title($title,$css_class); |
$output .= &course_selection($formname,$totcodes,$codetitles,$idlist,$idlist_titles); |
$output .= &course_selection($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype); |
$output .= &row_closure(); |
$output .= &row_closure(); |
return $output; |
return $output; |
} |
} |
|
|
sub course_selection { |
sub course_selection { |
my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles) = @_; |
my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype) = @_; |
my $output = qq| |
my $output = qq| |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 1666 sub course_selection {
|
Line 1736 sub course_selection {
|
// ]]> |
// ]]> |
</script> |
</script> |
|; |
|; |
|
|
|
my ($allcrs,$pickspec); |
|
if ($crstype eq 'Community') { |
|
$allcrs = &mt('All communities'); |
|
$pickspec = &mt('Pick specific communities:'); |
|
} else { |
|
$allcrs = &mt('All courses'); |
|
$pickspec = &mt('Pick specific course(s):'); |
|
} |
|
|
my $courseform='<b>'.&Apache::loncommon::selectcourse_link |
my $courseform='<b>'.&Apache::loncommon::selectcourse_link |
($formname,'pickcourse','pickdomain','coursedesc','',1).'</b>'; |
($formname,'pickcourse','pickdomain','coursedesc','',1,$crstype).'</b>'; |
$output .= '<input type="radio" name="coursepick" value="all" onclick="coursePick(this.form)" />'.&mt('All courses').'<br />'; |
$output .= '<input type="radio" name="coursepick" value="all" onclick="coursePick(this.form)" />'.$allcrs.'<br />'; |
if ($totcodes > 0) { |
if ($totcodes > 0) { |
my $numtitles = @$codetitles; |
my $numtitles = @$codetitles; |
if ($numtitles > 0) { |
if ($numtitles > 0) { |
Line 1713 sub course_selection {
|
Line 1793 sub course_selection {
|
$output .= '</tr></table><br />'; |
$output .= '</tr></table><br />'; |
} |
} |
} |
} |
$output .= '<input type="radio" name="coursepick" value="specific" onclick="coursePick(this.form);opencrsbrowser('."'".$formname."','dccourse','dcdomain','coursedesc','','1'".')" />'.&mt('Pick specific course(s):').' '.$courseform.' <input type="text" value="0" size="4" name="coursetotal" /><input type="hidden" name="courselist" value="" />selected.<br />'."\n"; |
$output .= '<input type="radio" name="coursepick" value="specific" onclick="coursePick(this.form);opencrsbrowser('."'".$formname."','dccourse','dcdomain','coursedesc','','1','$crstype'".')" />'.$pickspec.' '.$courseform.' <input type="text" value="0" size="4" name="coursetotal" /><input type="hidden" name="courselist" value="" />selected.<br />'."\n"; |
return $output; |
return $output; |
} |
} |
|
|
Line 1801 sub course_custom_roles {
|
Line 1881 sub course_custom_roles {
|
|
|
# topic_bar |
# topic_bar |
# |
# |
# Generates a div containing a numbered (static image) followed by a title |
# Generates a div containing an (optional) number with a white background followed by a |
# with a background color defined in the corresponding CSS: LC_topic_bar |
# title with a background color defined in the corresponding CSS: LC_topic_bar |
# |
# Inputs: |
|
# 1. number to display. |
|
# If input for number is empty only the title will be displayed. |
|
# 2. title text to display. |
|
# Outputs - a scalar containing html mark-up for the div. |
|
|
sub topic_bar { |
sub topic_bar { |
my ($imgnum,$title) = @_; |
my ($num,$title) = @_; |
return '<div class="LC_topic_bar">' |
my $number = ''; |
.'<img src="/res/adm/pages/bl_step'.$imgnum.'.gif"' |
if ($num ne '') { |
.' alt="'.&mt('Step [_1]',$imgnum).'" />' |
$number = '<span>'.$num.'</span>'; |
.' '.$title |
} |
.'</div>'; |
return '<div class="LC_topic_bar">'.$number.$title.'</div>'; |
} |
} |
|
|
############################################## |
############################################## |
Line 1945 sub set_form_elements {
|
Line 2030 sub set_form_elements {
|
$values{$name}[$i] =~ s/([\r\n\f]+)/\\n/g; |
$values{$name}[$i] =~ s/([\r\n\f]+)/\\n/g; |
$values{$name}[$i] =~ s/"/\\"/g; |
$values{$name}[$i] =~ s/"/\\"/g; |
} |
} |
if ($$elements{$name} eq 'text') { |
if (($$elements{$name} eq 'text') || ($$elements{$name} eq 'hidden')) { |
my $numvalues = @{$values{$name}}; |
my $numvalues = @{$values{$name}}; |
if ($numvalues > 1) { |
if ($numvalues > 1) { |
my $valuestring = join('","',@{$values{$name}}); |
my $valuestring = join('","',@{$values{$name}}); |
Line 1980 sub set_form_elements {
|
Line 2065 sub set_form_elements {
|
$output .= qq| |
$output .= qq| |
if (courseForm.elements['$name'].value == "$value") { |
if (courseForm.elements['$name'].value == "$value") { |
courseForm.elements['$name'].checked = true; |
courseForm.elements['$name'].checked = true; |
|
} else { |
|
courseForm.elements['$name'].checked = false; |
}|; |
}|; |
} |
} |
} |
} |
Line 2021 sub set_form_elements {
|
Line 2108 sub set_form_elements {
|
} |
} |
} |
} |
$output .= " |
$output .= " |
|
return; |
}\n"; |
}\n"; |
return $output; |
return $output; |
} |
} |
Line 2268 Returns: HTML code with function list st
|
Line 2356 Returns: HTML code with function list st
|
sub start_funclist { |
sub start_funclist { |
my($legendtext)=@_; |
my($legendtext)=@_; |
$legendtext=&mt('Functions') if !$legendtext; |
$legendtext=&mt('Functions') if !$legendtext; |
return "<fieldset>\n<legend>$legendtext</legend>\n" |
return '<ul class="LC_funclist"><li style="font-weight:bold; margin-left:0.8em;">'.$legendtext.'</li>'."\n"; |
.'<ul class="LC_funclist">'."\n"; |
|
} |
} |
|
|
|
|
Line 2327 Returns: HTML code with function list en
|
Line 2414 Returns: HTML code with function list en
|
############################################## |
############################################## |
|
|
sub end_funclist { |
sub end_funclist { |
my($r)=@_; |
return "</ul>\n"; |
return "</ul>\n</fieldset>\n"; |
|
} |
} |
|
|
1; |
1; |