--- loncom/interface/loncommon.pm 2011/01/05 18:39:38 1.994 +++ loncom/interface/loncommon.pm 2011/05/27 22:58:13 1.1007 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.994 2011/01/05 18:39:38 raeburn Exp $ +# $Id: loncommon.pm,v 1.1007 2011/05/27 22:58:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -409,7 +409,7 @@ sub studentbrowser_javascript { <script type="text/javascript" language="Javascript"> // <![CDATA[ var stdeditbrowser; - function openstdbrowser(formname,uname,udom,roleflag,ignorefilter,courseadvonly) { + function openstdbrowser(formname,uname,udom,clicker,roleflag,ignorefilter,courseadvonly) { var url = '/adm/pickstudent?'; var filter; if (!ignorefilter) { @@ -421,7 +421,8 @@ sub studentbrowser_javascript { } } url += 'form=' + formname + '&unameelement='+uname+ - '&udomelement='+udom; + '&udomelement='+udom+ + '&clicker='+clicker; if (roleflag) { url+="&roles=1"; } if (courseadvonly) { url+="&courseadvonly=1"; } var title = 'Student_Browser'; @@ -435,15 +436,37 @@ sub studentbrowser_javascript { ENDSTDBRW } +sub resourcebrowser_javascript { + unless ($env{'request.course.id'}) { return ''; } + return (<<'ENDRESBRW'); +<script type="text/javascript" language="Javascript"> +// <![CDATA[ + var reseditbrowser; + function openresbrowser(formname,reslink) { + var url = '/adm/pickresource?form='+formname+'&reslink='+reslink; + var title = 'Resource_Browser'; + var options = 'scrollbars=1,resizable=1,menubar=0'; + options += ',width=700,height=500'; + reseditbrowser = open(url,title,options,'1'); + reseditbrowser.focus(); + } +// ]]> +</script> +ENDRESBRW +} + sub selectstudent_link { - my ($form,$unameele,$udomele,$courseadvonly)=@_; - my $callargs = "'".$form."','".$unameele."','".$udomele."'"; + my ($form,$unameele,$udomele,$courseadvonly,$clickerid)=@_; + my $callargs = "'".&Apache::lonhtmlcommon::entity_encode($form)."','". + &Apache::lonhtmlcommon::entity_encode($unameele)."','". + &Apache::lonhtmlcommon::entity_encode($udomele)."'"; if ($env{'request.course.id'}) { if (!&Apache::lonnet::allowed('srm',$env{'request.course.id'}) && !&Apache::lonnet::allowed('srm',$env{'request.course.id'}. '/'.$env{'request.course.sec'})) { return ''; } + $callargs.=",'".&Apache::lonhtmlcommon::entity_encode($clickerid)."'"; if ($courseadvonly) { $callargs .= ",'',1,1"; } @@ -460,6 +483,19 @@ sub selectstudent_link { return ''; } +sub selectresource_link { + my ($form,$reslink,$arg)=@_; + + my $callargs = "'".&Apache::lonhtmlcommon::entity_encode($form)."','". + &Apache::lonhtmlcommon::entity_encode($reslink)."'"; + unless ($env{'request.course.id'}) { return $arg; } + return '<span class="LC_nobreak">'. + '<a href="javascript:openresbrowser('.$callargs.');">'. + $arg.'</a></span>'; +} + + + sub authorbrowser_javascript { return <<"ENDAUTHORBRW"; <script type="text/javascript" language="JavaScript"> @@ -3560,8 +3596,8 @@ sub format_previous_attempt_value { my @anskeys = sort(keys(%answers)); if (@anskeys == 1) { my $answer = $answers{$anskeys[0]}; - if ($answer =~ m{\Q\0\E}) { - $answer =~ s{\Q\0\E}{, }g; + if ($answer =~ m{\0}) { + $answer =~ s{\0}{,}g; } my $tag_internal_answer_name = 'INTERNAL'; if ($anskeys[0] eq $tag_internal_answer_name) { @@ -3572,8 +3608,8 @@ sub format_previous_attempt_value { } else { foreach my $ans (@anskeys) { my $answer = $answers{$ans}; - if ($answer =~ m{\Q\0\E}) { - $answer =~ s{\Q\0\E}{, }g; + if ($answer =~ m{\0}) { + $answer =~ s{\0}{,}g; } $value .= $ans.'='.$answer.'<br />';; } @@ -5089,6 +5125,7 @@ td.LC_table_cell_checkbox { overflow: hidden; margin: 0; padding: 0; + text-align: left; } .LC_head_subbox { @@ -5097,6 +5134,7 @@ td.LC_table_cell_checkbox { border: 1px solid $sidebg; margin: 0 0 10px 0; padding: 3px; + text-align: left; } .LC_fontsize_medium { @@ -5119,6 +5157,7 @@ td.LC_table_cell_checkbox { li.LC_menubuttons_inline_text img,a { cursor:pointer; + text-decoration: none; } .LC_menubuttons_link { @@ -6064,6 +6103,7 @@ fieldset > legend { #LC_nav_bar { float: left; + background-color: $pgbg_or_bgcolor; margin: 0 0 2px 0; } @@ -6072,6 +6112,7 @@ fieldset > legend { padding: 0; font-weight: bold; text-align: center; + background-color: $pgbg_or_bgcolor; } #LC_nav_bar em { @@ -6082,6 +6123,7 @@ fieldset > legend { ol.LC_primary_menu { float: right; margin: 0; + background-color: $pgbg_or_bgcolor; } ol#LC_PathBreadcrumbs { @@ -6141,6 +6183,7 @@ ul#LC_secondary_menu { padding: 0; margin: 0; width: 100%; + text-align: left; } ul#LC_secondary_menu li { @@ -6274,7 +6317,6 @@ ul.LC_TabContentBigger li.active b { background:url('/adm/lonIcons/tabbgright.gif') right top no-repeat; color:$font; border: 0; - cursor:default; } @@ -6877,6 +6919,19 @@ sub validate_page { } } + +sub start_scrollbox { + my ($outerwidth,$width,$height)=@_; + unless ($outerwidth) { $outerwidth='520px'; } + unless ($width) { $width='500px'; } + unless ($height) { $height='200px'; } + return "<table style='width: $outerwidth; border: 1px solid black;'><tr><td style='width: $width;' bgcolor='#FFFFFF'><div style='overflow:auto; width:$width; height: $height;'>"; +} + +sub end_scrollbox { + return '</td></tr></table>'; +} + sub simple_error_page { my ($r,$title,$msg) = @_; my $page = @@ -8874,7 +8929,7 @@ sub modify_html_refs { if ($allfiles{$ref}) { my $newname = $orig; my ($attrib_regexp,$codebase); - my $attrib_regexp = &unescape($env{'form.embedded_attrib_'.$i}); + $attrib_regexp = &unescape($env{'form.embedded_attrib_'.$i}); if ($attrib_regexp =~ /:/) { $attrib_regexp =~ s/\:/|/g; } @@ -8883,7 +8938,7 @@ sub modify_html_refs { $count += $numchg; } if ($env{'form.embedded_codebase_'.$i} ne '') { - my $codebase = &unescape($env{'form.embedded_codebase_'.$i}); + $codebase = &unescape($env{'form.embedded_codebase_'.$i}); my $numchg = ($content =~ s/(codebase\s*=\s*["']?)\Q$codebase\E(["']?)/$1.$2/i); #' stupid emacs $codebasecount ++; } @@ -8952,7 +9007,7 @@ sub check_for_upload { &mt('Unable to upload [_1]. (size = [_2] bytes)', '<span class="LC_filename">'.$fname.'</span>', $filesize).'<br />'. - &mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'<br />'; + &mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'<br />'. '</span>'; return ('zero_bytes',$msg); }