Diff for /loncom/homework/daxepage.pm between versions 1.8 and 1.9

version 1.8, 2023/11/26 02:15:29 version 1.9, 2023/11/27 23:24:04
Line 32  use strict; Line 32  use strict;
   
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
   use Apache::lonxml();
   use Apache::edit();
 use Apache::lonmenu();  use Apache::lonmenu();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
   use LONCAPA qw(:DEFAULT :match);
 use HTML::Entities();  use HTML::Entities();
   
 sub handler {  sub handler {
Line 42  sub handler { Line 45  sub handler {
     my $uri = $request->uri;      my $uri = $request->uri;
     $uri =~ s{^/daxepage}{};      $uri =~ s{^/daxepage}{};
     &Apache::loncommon::content_type($request,'text/html');      &Apache::loncommon::content_type($request,'text/html');
     if ($uri !~ /\.(task|problem|exam|quiz|assess|survey|library|xml|html|htm|xhtml|xhtm)$/) {      my ($is_not_assess,$is_assess);
       if ($uri =~/\.(xml|html|htm|xhtml|xhtm)$/) {
           $is_not_assess = 1;
       } elsif ($uri =~ /$LONCAPA::assess_re/) {
           unless ($uri =~ /\.form$/) {
               $is_assess = 1;
           }
       }
       unless ($is_not_assess || $is_assess) {
         $request->status(406);          $request->status(406);
         return OK;          return OK;
     }      }
Line 53  sub handler { Line 64  sub handler {
         &do_redirect($request,$uri,$msg);          &do_redirect($request,$uri,$msg);
         return OK;          return OK;
     }      }
       if ($is_not_assess) {
           delete($editors{'xml'});
           $editors{'edit'} = 1;
       }
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                                           'noif' => 'No iframe support.',                                            'noif' => 'No iframe support.',
                                           'show' => 'Show content in pop-up window',                                            'show' => 'Show content in pop-up window',
                                             'oeds' => 'other editors',
                                             'othe' => 'other editor',
                                             'edit' => 'Edit',
                                         );                                          );
     my $name = $uri;      my $name = $uri;
     $name =~ s/^.*\/([^\/]+)$/$1/;      $name =~ s/^.*\/([^\/]+)$/$1/;
     my $daxeurl = '/adm/daxe/daxe.html?config=config/loncapa_config.xml&save=/daxesave'.      my $daxeurl = '/adm/daxe/daxe.html?config=config/loncapa_config.xml&save=/daxesave'.
                   '&file=/daxeopen'.$uri;                    '&file=/daxeopen'.$uri;
     my $headjs = &Apache::loncommon::iframe_wrapper_headjs().      my $headjs = &Apache::loncommon::iframe_wrapper_headjs().
                  &toggle_LCmenus_js();                   &toggle_LCmenus_js().
                    &Apache::edit::js_change_detection();
       if ($is_assess) {
           $headjs .= &Apache::lonxml::setmode_javascript();
       } else {
           $headjs .= &Apache::lonxml::seteditor_javascript();
       }
       my $form_events = &Apache::edit::form_change_detection();
       my $editheader = '<form '.$form_events.' method="post" name="daxeedit" action="'.$uri.'">'.
                        '<input type="hidden" name="problemmode" value="daxe" />'."\n".
                        '<div class="LC_edit_problem_editxml_header">'."\n";
       if ($editors{'edit'} || $editors{'xml'}) {
           my $other = (($editors{'edit'} && $editors{'xml'})? $lt{'oeds'} : $lt{'othe'});
           $editheader .= '<table class="LC_edit_problem_header_title"><tr><td>'.
                          $uri.
                          '</td><td align="right"><span class="LC_nobreak">'.$other.': ';
           if ($is_not_assess) {
               $editheader .= '<input type="hidden" name="editmode" value="" />'."\n".
                              '<input type="button" name="editordefault" value="'.$lt{'edit'}.
                              '" onclick="seteditmode(this.form,'."'edit'".');" />'."\n";
           } else {
               if ($editors{'edit'}) {
                   $editheader .= '<input type="button" name="submitmode" accesskey="e" value="'.&mt('Edit').'" '.
                                  'onclick="javascript:setmode(this.form,'."'edit'".')" />'."\n";
               }
               if ($editors{'xml'}) {
                   $editheader .= '<input type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" '.
                                  'onclick="javascript:setmode(this.form,'."'editxml'".')" />'."\n";
               }
           }
           $editheader .= '</span></td></tr></table>';
       } else {
           $editheader .= '<table class="LC_edit_problem_header_title"><tr><td>'.
                          $uri.
                          '</td></tr></table>';
       }
       $editheader .= '</div></form>'."\n";
     my $args = {      my $args = {
                 'collapsible_header' => 1,                  'collapsible_header' => $editheader,
                };                 };
     my $startpage = &Apache::loncommon::start_page('Daxe: '.$name,$headjs,$args).      my $startpage = &Apache::loncommon::start_page('Daxe: '.$name,$headjs,$args).
                     &Apache::lonmenu::constspaceform();                      &Apache::lonmenu::constspaceform();

Removed from v.1.8  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>