--- loncom/homework/lonhomework.pm 2016/09/14 16:36:49 1.344.2.5 +++ loncom/homework/lonhomework.pm 2016/09/18 21:37:25 1.344.2.7 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.344.2.5 2016/09/14 16:36:49 raeburn Exp $ +# $Id: lonhomework.pm,v 1.344.2.7 2016/09/18 21:37:25 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1107,7 +1107,7 @@ sub editxmlmode {
'. &mt('Problem Editing').' '.&Apache::loncommon::help_open_topic('Problem_Editor_XML_Index'). -
'; + '
'; $result.=''. &Apache::structuretags::problem_edit_buttons('editxml'); @@ -1130,7 +1130,7 @@ sub editxmlmode { &mt("Miscellaneous"), misc_datastructure()); } - $result .= Apache::lonmenu::create_submenu("#", "", + $result .= Apache::lonmenu::create_submenu("#", "", &mt("Help") . ' ' . &mt(', helpmenu_datastructure(),""); @@ -1369,7 +1369,7 @@ sub newproblem { &File::Copy::copy($templatefilename,$dest); &renderpage($request,$dest); return; - + } if ($env{'form.template'}) { my $file = $env{'form.template'}; my $dest = &Apache::lonnet::filelocation("",$request->uri); @@ -1553,19 +1553,19 @@ sub template_dropdown_datastructure { sub responseblock_dropdown_datastructure { - my $mathCat = [ - [ + my $mathCat = [ + [ ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_formularesponse())) . "\')", &mt("Formula Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_functionplotresponse())) . "\')", &mt("Function Plot Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_mathresponse())) . "\')", &mt("Math Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_numericalresponse())) . "\')", &mt("Numerical Response"), undef] - ], - &mt("Math"), - undef + ], + &mt("Math"), + undef ]; - my $miscCat = [ - [ + my $miscCat = [ + [ ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_imageresponse())) . "\')", &mt("Click on Image"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_customresponse())) . "\')", &mt("Custom Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_externalresponse())) . "\')", &mt("External Response"), undef], @@ -1578,23 +1578,23 @@ sub responseblock_dropdown_datastructure undef ]; - my $chemCat = [ - [ + my $chemCat = [ + [ ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_reactionresponse())) . "\')", &mt("Chemical Reaction"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_organicresponse())) . "\')", &mt("Organic Chemical Structure"), undef] - ], - &mt("Chemistry"), - undef - ]; - - my $textCat = [ - [ - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_stringresponse())) . "\')", &mt("String Response"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_essayresponse())) . "\')", &mt("Essay"), undef] - ], - &mt("Text"), - undef - ]; + ], + &mt("Chemistry"), + undef + ]; + + my $textCat = [ + [ + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_stringresponse())) . "\')", &mt("String Response"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_essayresponse())) . "\')", &mt("Essay"), undef] + ], + &mt("Text"), + undef + ]; return [$mathCat, $miscCat, $chemCat, $textCat]; } @@ -1609,18 +1609,18 @@ sub conditional_scripting_datastructure #TODO translated is currently temporarily here, another solution should be found where the # needed string can be retrieved - my $translatedTag = ' + my $translatedTag = ' '; return [ - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode($translatedTag)) . "\')", &mt("Translated Block"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("block"))) . "\')", &mt("Conditional Block"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("postanswerdate"))) . "\')", &mt("After Answer Date Block"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("preduedate"))) . "\')", &mt("Before Due Date Block"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("solved"))) . "\')", &mt("Block For After Solved"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("notsolved"))) . "\')", &mt("Block For When Not Solved"), undef] + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode($translatedTag)) . "\')", &mt("Translated Block"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("block"))) . "\')", &mt("Conditional Block"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("postanswerdate"))) . "\')", &mt("After Answer Date Block"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("preduedate"))) . "\')", &mt("Before Due Date Block"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("solved"))) . "\')", &mt("Block For After Solved"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&default_xml_tag("notsolved"))) . "\')", &mt("Block For When Not Solved"), undef] ]; } @@ -1639,44 +1639,43 @@ sub misc_datastructure { # helper routine for the datastructure building subroutines sub default_xml_tag { - my ($tag) = @_; - return "\n<$tag>"; + my ($tag) = @_; + return "\n<$tag>"; } - sub helpmenu_datastructure { - my $width = 500; - my $height = 600; - - my $helpers = [ - ['Problem_LON-CAPA_Functions', &mt('Script Functions')], - ['Greek_Symbols', &mt('Greek Symbols')], - ['Other_Symbols', &mt('Other Symbols')], - ['Authoring_Output_Tags', &mt('Output Tags')], - ['Authoring_Multilingual_Problems', &mt('Languages')], - ]; - - my $help_structure = []; + my $width = 500; + my $height = 600; - foreach my $count (0..(scalar(@{$helpers})-1)) { - my $filename = $helpers->[$count]->[0]; - my $title = $helpers->[$count]->[1]; - my $href = &HTML::Entities::encode("javascript:openMyModal('/adm/help/$filename.hlp',$width,$height,'yes');"); - push @{$help_structure}, [$href, $title, undef]; - } + my $helpers = [ + ['Problem_LON-CAPA_Functions', &mt('Script Functions')], + ['Greek_Symbols', &mt('Greek Symbols')], + ['Other_Symbols', &mt('Other Symbols')], + ['Authoring_Output_Tags', &mt('Output Tags')], + ['Authoring_Multilingual_Problems', &mt('Languages')], + ]; + + my $help_structure = []; + + foreach my $count (0..(scalar(@{$helpers})-1)) { + my $filename = $helpers->[$count]->[0]; + my $title = $helpers->[$count]->[1]; + my $href = &HTML::Entities::encode("javascript:openMyModal('/adm/help/$filename.hlp',$width,$height,'yes');"); + push @{$help_structure}, [$href, $title, undef]; + } - return $help_structure; + return $help_structure; } # we need substitution to not break javascript code sub convert_for_js { my $return = shift; - $return =~ s|script|ESCAPEDSCRIPT|g; - $return =~ s|\\|\\\\|g; - $return =~ s|\n|\\r\\n|g; - $return =~ s|'|\\'|g; - $return =~ s|'|\\'|g; + $return =~ s|script|ESCAPEDSCRIPT|g; + $return =~ s|\\|\\\\|g; + $return =~ s|\n|\\r\\n|g; + $return =~ s|'|\\'|g; + $return =~ s|'|\\'|g; return $return; }