--- loncom/html/res/adm/pages/annotator/admannotations.pm 2000/09/19 14:55:12 1.5 +++ loncom/html/res/adm/pages/annotator/admannotations.pm 2000/09/22 22:43:18 1.7 @@ -64,9 +64,11 @@ function getDomain() { END_HTML } -# --------------------------------------------Constructs the can't edit window +# ----------------------------------------------------Constructs error window -sub construct_nonedit { +sub construct_error { + my $annot_error=shift; + my $button_name=shift; return(< Annotations @@ -81,16 +83,16 @@ function getDomain() { - + - Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'. +$annot_error - + @@ -99,29 +101,40 @@ function getDomain() { END_HTML2 } -# ----------------------------------------------------------------Main Handler +# ---------------------------------------------------------------Main Handler sub handler { my $r=shift; my $url_old; my $annotation; + my $page; + my $url_new; + my %annot_hash; $r->content_type('text/html'); $r->send_http_header; if ($url_old=param("url_old")) { $annotation=param("annotation"); write_annotation($url_old,$annotation); } - if (my $url_new=param("url_new")) { - my %annot_hash; - if ($url_old eq $url_new) { - %annot_hash=($url_new => $annotation); + if (defined(param("url_new"))) { + $url_new=param("url_new"); + if ($url_new eq "") { + $page=construct_error("Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'.","coninue"); } else { - %annot_hash=get_annotation($url_new); + if ($url_old eq $url_new) { + %annot_hash=($url_new => $annotation); + } else { + %annot_hash=get_annotation($url_new); + } + if (exists($annot_hash{"con_lost"})) { + $page=construct_error("Connection broken with home server. Please contact your system administrator.","try again"); + } else { + $page=construct_editor($url_new,%annot_hash); + } } - my $page=construct_editor($url_new,%annot_hash); $r->print($page); } else { - my $page=construct_nonedit(); + $page=construct_error("Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'.","coninue"); $r->print($page); } return OK;