--- loncom/html/res/adm/pages/annotator/admannotations.pm 2006/04/10 23:26:48 1.20
+++ loncom/html/res/adm/pages/annotator/admannotations.pm 2006/04/11 15:25:19 1.24
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# This will take annotations and then plug them into a page.
#
-# $Id: admannotations.pm,v 1.20 2006/04/10 23:26:48 albertel Exp $
+# $Id: admannotations.pm,v 1.24 2006/04/11 15:25:19 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,14 +33,14 @@ use strict;
use Apache::Constants qw(:common);
use Apache::loncommon();
use Apache::lonnet;
+use Apache::lonlocal;
# --------------------------------------------------------------Put annotation
sub write_annotation {
- my $urlold=shift;
- my $annotation=shift;
+ my ($urlold, $annotation) = @_;
if ($annotation) {
- &Apache::lonnet::put('nohist_annotations',{$urlold => $annotation});
+ &Apache::lonnet::put('nohist_annotations',{$urlold => $annotation});
}
return;
}
@@ -48,7 +48,7 @@ sub write_annotation {
# --------------------------------------------------------------Get annotation
sub get_annotation {
- my $urlnew=shift;
+ my ($urlnew) = @_;
my %annotation=&Apache::lonnet::get('nohist_annotations',[$urlnew]);
return %annotation;
}
@@ -56,10 +56,10 @@ sub get_annotation {
# ------------------------------------------------------------Construct editor
sub construct_editor {
- my $annotation=shift;
+ my ($annotation,$urlnew) = @_;
if ($annotation=~/^error:/) { $annotation=''; }
- my $urlnew=shift;
- my $js = << ENDJS;
+
+ my $js = <
var timeout;
@@ -83,18 +83,23 @@ ENDJS
my $end_page =
&Apache::loncommon::end_page();
+
+ my %lt = ( 'close no save' => "Close (no save)",
+ 'save' => "Save and Update",);
+ %lt = &Apache::lonlocal::texthash(%lt);
+
return(<
-
+
$end_page
END_HTML
@@ -103,29 +108,33 @@ END_HTML
# ----------------------------------------------------Constructs error window
sub construct_error {
- my ($annot_error,$button_name) = @_;
- my $start_page = &Apache::loncommon::start_page('Annotations',undef,
- {'only_body' => 1,});
- my $end_page = &Apache::loncommon::end_page();
+ my ($annot_error,$button_name) = @_;
+ my $start_page = &Apache::loncommon::start_page('Annotations',undef,
+ {'only_body' => 1,});
+ my $end_page = &Apache::loncommon::end_page();
+
+ my %lt = ( 'close' => "Close",
+ 'button' => $button_name,);
+ %lt = &Apache::lonlocal::texthash(%lt);
- return(<
-
+
+
+
+
+
$end_page
END_HTML2
@@ -134,43 +143,43 @@ END_HTML2
# ---------------------------------------------------------------Main Handler
sub handler {
- my $r=shift;
+ my $r=shift;
- $r->content_type('text/html');
- $r->send_http_header;
- return OK if $r->header_only;
-
-
- my $page;
- my %annot_hash;
-
- my $urlold=$env{'form.urlold'};
- $urlold=~s/^http\:\/\///;
- $urlold=~s/^[^\/]+//;
- $urlold=~s/\?.*$//;
- my $urlnew=$env{'form.urlnew'};
- $urlnew=~s/^http\:\/\///;
- $urlnew=~s/^[^\/]+//;
- $urlnew=~s/\?.*$//;
- my $annotation=$env{'form.annotation'};
-
- if ($urlold) {
- write_annotation($urlold,$annotation);
- }
- 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 {
- if ($urlold eq $urlnew) {
- $annot_hash{$urlnew}=$annotation;
- } else {
- %annot_hash=get_annotation($urlnew);
- }
- $page=construct_editor($annot_hash{$urlnew},$env{'form.urlnew'});
- }
- }
- $r->print($page);
- return OK;
+ $r->content_type('text/html');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+
+ my $page;
+ my %annot_hash;
+
+ my $urlold=$env{'form.urlold'};
+ $urlold=~s/^http\:\/\///;
+ $urlold=~s/^[^\/]+//;
+ $urlold=~s/\?.*$//;
+ my $urlnew=$env{'form.urlnew'};
+ $urlnew=~s/^http\:\/\///;
+ $urlnew=~s/^[^\/]+//;
+ $urlnew=~s/\?.*$//;
+ my $annotation=$env{'form.annotation'};
+
+ if ($urlold) {
+ &write_annotation($urlold,$annotation);
+ }
+ 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 {
+ if ($urlold eq $urlnew) {
+ $annot_hash{$urlnew}=$annotation;
+ } else {
+ %annot_hash=&get_annotation($urlnew);
+ }
+ $page=&construct_editor($annot_hash{$urlnew},$env{'form.urlnew'});
+ }
+ }
+ $r->print($page);
+ return OK;
}
1;