--- loncom/html/res/adm/pages/annotator/admannotations.pm 2001/07/26 20:26:42 1.15 +++ loncom/html/res/adm/pages/annotator/admannotations.pm 2006/04/10 23:26:48 1.20 @@ -1,10 +1,29 @@ -# +# The LearningOnline Network with CAPA # This will take annotations and then plug them into a page. # -# 08/25/00 Ben Tyszka +# $Id: admannotations.pm,v 1.20 2006/04/10 23:26:48 albertel Exp $ +# +# Copyright Michigan State University Board of Trustees +# +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). +# +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# 10/17,10/18,10/20 Gerd Kortemeyer +# /home/httpd/html/adm/gpl.txt # +# http://www.lon-capa.org/ # ################## @@ -12,7 +31,8 @@ package Apache::admannotations; use strict; use Apache::Constants qw(:common); -use Apache::lonnet(); +use Apache::loncommon(); +use Apache::lonnet; # --------------------------------------------------------------Put annotation @@ -20,7 +40,7 @@ sub write_annotation { my $urlold=shift; my $annotation=shift; if ($annotation) { - &Apache::lonnet::put('nohist_annotations',($urlold => $annotation)); + &Apache::lonnet::put('nohist_annotations',{$urlold => $annotation}); } return; } @@ -39,11 +59,8 @@ sub construct_editor { my $annotation=shift; if ($annotation=~/^error:/) { $annotation=''; } my $urlnew=shift; - return(< - -Annotations - - - +ENDJS + + my %load_items = ('onload' => "timeout=setTimeout('changed()','1000')", + 'onunload' => 'clearTimeout(timeout);'); + my $start_page = + &Apache::loncommon::start_page('Annotations',$js, + {'only_body' => 1, + 'add_entries' => \%load_items,}); + + my $end_page = + &Apache::loncommon::end_page(); + return(<

@@ -70,21 +96,20 @@ function changed() {
- - +$end_page END_HTML } # ----------------------------------------------------Constructs error window sub construct_error { - my $annot_error=shift; - my $button_name=shift; + my ($annot_error,$button_name) = @_; + my $start_page = &Apache::loncommon::start_page('Annotations',undef, + {'only_body' => 1,}); + my $end_page = &Apache::loncommon::end_page(); + return(< -Annotations - - +$start_page
@@ -102,8 +127,7 @@ $annot_error - - +$end_page END_HTML2 } @@ -120,18 +144,20 @@ sub handler { my $page; my %annot_hash; - my $urlold=$ENV{'form.urlold'}; + my $urlold=$env{'form.urlold'}; $urlold=~s/^http\:\/\///; $urlold=~s/^[^\/]+//; - my $urlnew=$ENV{'form.urlnew'}; + $urlold=~s/\?.*$//; + my $urlnew=$env{'form.urlnew'}; $urlnew=~s/^http\:\/\///; $urlnew=~s/^[^\/]+//; - my $annotation=$ENV{'form.annotation'}; + $urlnew=~s/\?.*$//; + my $annotation=$env{'form.annotation'}; if ($urlold) { write_annotation($urlold,$annotation); } - if (exists($ENV{'form.urlnew'})) { + if (exists($env{'form.urlnew'})) { unless ($urlnew) { $page=construct_error("Cannot annotate current window. Please point your browser to a LON-CAPA page and then 'continue'.","continue"); } else { @@ -140,7 +166,7 @@ sub handler { } else { %annot_hash=get_annotation($urlnew); } - $page=construct_editor($annot_hash{$urlnew},$ENV{'form.urlnew'}); + $page=construct_editor($annot_hash{$urlnew},$env{'form.urlnew'}); } } $r->print($page);