--- loncom/html/res/adm/pages/annotator/admannotations.pm 2000/10/10 20:30:34 1.9
+++ loncom/html/res/adm/pages/annotator/admannotations.pm 2000/10/20 11:00:12 1.14
@@ -1,9 +1,9 @@
-#!/usr/bin/perl -T
#
# This will take annotations and then plug them into a page.
#
# 08/25/00 Ben Tyszka
#
+# 10/17,10/18,10/20 Gerd Kortemeyer
#
#
##################
@@ -11,16 +11,17 @@
package Apache::admannotations;
use strict;
-use CGI qw(:all);
use Apache::Constants qw(:common);
use Apache::lonnet();
# --------------------------------------------------------------Put annotation
sub write_annotation {
- my $url_old=shift;
+ my $urlold=shift;
my $annotation=shift;
- Apache::lonnet::put("annotations",($url_old => $annotation));
+ if ($annotation) {
+ &Apache::lonnet::put('nohist_annotations',($urlold => $annotation));
+ }
return;
}
@@ -28,7 +29,7 @@ sub write_annotation {
sub get_annotation {
my $urlnew=shift;
- my %annotation=Apache::lonnet::get("annotations",$urlnew);
+ my %annotation=&Apache::lonnet::get('nohist_annotations',$urlnew);
return %annotation;
}
@@ -36,27 +37,37 @@ sub get_annotation {
sub construct_editor {
my $annotation=shift;
+ if ($annotation=~/^error:/) { $annotation=''; }
my $urlnew=shift;
return(<Annotations
-
-
+
@@ -105,32 +111,37 @@ END_HTML2
sub handler {
my $r=shift;
- my $page;
- my %annot_hash;
- my $urlold;
- my $annotation;
- my $urlnew;
+
$r->content_type('text/html');
$r->send_http_header;
- if (exists($ENV{'form.urlold'})) {
- $urlold=$ENV{'form.urlold'};
- $annotation=$ENV{'form.annotation'};
+ return OK if $r->header_only;
+
+
+ my $page;
+ my %annot_hash;
+
+ my $urlold=$ENV{'form.urlold'};
+ $urlold=~s/^http\:\/\///;
+ $urlold=~s/^[^\/]+//;
+ my $urlnew=$ENV{'form.urlnew'};
+ $urlnew=~s/^http\:\/\///;
+ $urlnew=~s/^[^\/]+//;
+ my $annotation=$ENV{'form.annotation'};
+
+ if ($urlold) {
write_annotation($urlold,$annotation);
}
if (exists($ENV{'form.urlnew'})) {
- $urlnew=$ENV{'form.urlnew'};
- if ($urlnew eq '') {
- $page=construct_error("Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'.","continue");
+ unless ($urlnew) {
+ $page=construct_error("Cannot annotate current window. Please point your browser to a LON-CAPA page and then 'continue'.","continue");
} else {
if ($urlold eq $urlnew) {
$annot_hash{$urlnew}=$annotation;
} else {
%annot_hash=get_annotation($urlnew);
}
- $page=construct_editor($annot_hash{$urlnew},$urlnew);
+ $page=construct_editor($annot_hash{$urlnew},$ENV{'form.urlnew'});
}
- } else {
- $page=construct_error("Connection broken with home server. Please contact your system administrator.","try again");
}
$r->print($page);
return OK;