1: # The LearningOnline Network with CAPA
2: # Construction Space Page Wrapper for Construction
3: #
4: # $Id: lonconstruct.pm,v 1.10 2003/05/28 21:07:19 www Exp $
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: # (Page Handler
30: #
31: # (TeX Content Handler
32: #
33: # 05/29/00,05/30 Gerd Kortemeyer)
34: # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,
35: # 10/02,10/10,10/14,10/16,10/18,10/19,10/31,11/6,11/14,11/16 Gerd Kortemeyer)
36: #
37: # 11/22,11/23,11/28,
38: # 03/30/01 Gerd Kortemeyer
39: package Apache::lonconstruct;
40:
41:
42: use strict;
43: use Apache::Constants qw(:common :http :methods);
44: use Apache::lonnet;
45: use Apache::Log ();
46: use HTML::Entities();
47: use Apache::loncommon;
48: use Apache::lonmenu;
49:
50: my $DEBUG = 0;
51: =pod
52:
53: =item Debug($request, $message)
54:
55: If debugging is enabled puts out a debuggin message determined by the
56: caller. The debug message goes to the Apache error log file. Debugging
57: is enabled by ssetting the module global DEBUG variable to nonzero (TRUE).
58:
59: Parameters:
60:
61: =over 4
62:
63: =item $request - The curretn request operation.
64:
65: =item $message - The message to put inthe log file.
66:
67: =back
68:
69: Returns:
70: nothing.
71:
72: =cut
73:
74: sub Debug {
75:
76: # Marshall the parameters.
77:
78: my $r = shift;
79: my $log = $r->log;
80: my $message = shift;
81:
82: # Put out the indicated message butonly if DEBUG is false.
83:
84: if ($DEBUG) {
85: $log->debug($message);
86: }
87: }
88:
89:
90:
91:
92: # ================================================================ Main Handler
93:
94: sub handler {
95: my $r=shift;
96:
97: # -------------------------------------------------------------- Build frameset
98:
99: $r->content_type('text/html');
100: $r->send_http_header;
101: return OK if $r->header_only;
102:
103: my $lowerframe=$r->path_info;
104:
105: &Debug($r, "Initial URL for lower frame: ".$lowerframe);
106: $lowerframe=~s/^\//\/\~/;
107: &Debug($r, "Lower frame URL afer ~ subst: ".$lowerframe);
108: $lowerframe= &HTML::Entities::encode($lowerframe);
109: &Debug($r, "LOwer frame URL after quote subst: ".$lowerframe);
110: my $loadevents=&Apache::lonmenu::loadevents();
111: my $unloadevents=&Apache::lonmenu::unloadevents();
112: my $script=&Apache::lonmenu::registerurl();
113: $r->print(<<ENDPAGE);
114: <html>
115: <head><title>LON-CAPA Construction Space</title>
116: $script
117: </head>
118: <frameset rows="110,*" border="0"
119: onLoad="$loadevents"
120: onUnload="$unloadevents">
121: <frame src='/adm/publisher.html'>
122: <frame src="$lowerframe" name="LONCAPAToBePublished">
123: </frameset>
124: </html>
125: ENDPAGE
126: return OK;
127: }
128: 1;
129: __END__
130:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>