Annotation of loncom/homework/daxepage.pm, revision 1.2

1.1       damieng     1: # The LearningOnline Network
                      2: # Page with Daxe on the left side and the preview on the right side
                      3: #
1.2     ! damieng     4: # $Id: daxepage.pm,v 1.1 2015/12/10 16:26:43 damieng Exp $
1.1       damieng     5: #
                      6: # Copyright Michigan State University Board of Trustees
                      7: #
                      8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
                      9: #
                     10: # LON-CAPA is free software; you can redistribute it and/or modify
                     11: # it under the terms of the GNU General Public License as published by
                     12: # the Free Software Foundation; either version 2 of the License, or
                     13: # (at your option) any later version.
                     14: #
                     15: # LON-CAPA is distributed in the hope that it will be useful,
                     16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
                     17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     18: # GNU General Public License for more details.
                     19: #
                     20: # You should have received a copy of the GNU General Public License
                     21: # along with LON-CAPA; if not, write to the Free Software
                     22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
                     23: #
                     24: # /home/httpd/html/adm/gpl.txt
                     25: #
                     26: # http://www.lon-capa.org/
                     27: #
                     28: ###
                     29: 
                     30: package Apache::daxepage;
                     31: 
                     32: use Apache::Constants;
                     33: 
                     34: sub handler {
                     35:     my $request = shift;
                     36:     my $uri = $request->uri;
                     37:     $uri =~ s/^\/daxepage//;
                     38:     &Apache::loncommon::no_cache($request);
1.2     ! damieng    39:     if ($uri !~ /\.(task|problem|exam|quiz|assess|survey|library|xml|html|htm|xhtml|xhtm)$/) {
1.1       damieng    40:         $request->status(406);
                     41:         return OK;
                     42:     }
                     43:     my $result = '';
                     44:     $result .= "<!DOCTYPE html>\n";
                     45:     $result .= "<html>\n";
                     46:     $result .= "<head>\n";
                     47:     my $name = $uri;
                     48:     $name =~ s/^.*\/([^\/]+)$/$1/;
                     49:     $result .= "  <title>LON-CAPA Daxe: $name</title>\n";
                     50:     $result .= '  <script src="/adm/split.js/split.min.js"></script>'."\n";
                     51:     $result .= '  <link rel="stylesheet" href="/adm/split.js/split.css">'."\n";
                     52:     $result .= "  <style>\n";
                     53:     $result .= "    #daxe, #preview { border: none; }\n";
                     54:     $result .= "  </style>\n";
                     55:     $result .= "</head>\n";
                     56:     $result .= "<body>\n";
                     57:     $result .= '  <div class="split-parent">'."\n";;
                     58:     my $daxeurl = '/adm/daxe/daxe.html?config=config/loncapa_config.xml&amp;file=/daxeopen'.$uri.
                     59:         '&amp;save=/daxesave';
                     60:     $result .= '    <iframe id="daxe" src="'.$daxeurl.'" class="split split-horizontal"></iframe>'."\n";
                     61:     my $previewurl = $uri.'?inhibitmenu=yes';
                     62:     $result .= '    <iframe id="preview" src="'.$previewurl.'" class="split split-horizontal"></iframe>'."\n";
                     63:     $result .= "  </div>\n";
                     64:     $result .= '  <script>Split(["#daxe", "#preview"], {sizes: [75, 25], minSize: [400, 20]});</script>'."\n";
                     65:     $result .= "</body>\n";
                     66:     $result .= "</html>\n";
                     67:     $request->print($result);
                     68:     return OK;
                     69: }
                     70: 
                     71: 1;
                     72: __END__

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