Annotation of loncom/html/res/adm/pages/annotator/admannotations.pm, revision 1.2

1.1       tyszkabe    1: #!/usr/bin/perl -T
                      2: #
                      3: # This will take annotations and then plug them into a page.
                      4: #
                      5: # 08/25/00 Ben Tyszka
                      6: #
                      7: #
                      8: #
                      9: ##################
                     10: 
1.2     ! tyszkabe   11: package Apache::admannotations;
1.1       tyszkabe   12: 
                     13: use strict;
                     14: use CGI qw(:all);
                     15: use Apache::Constants qw(:common);
                     16: use Apache::lonnet;
                     17: 
                     18: ##########################
                     19: #
                     20: #  The following are fake get and put functions.
                     21: #  DELETE the following get and put functions and edit the calls
                     22: #    once the module is working.
                     23: #
                     24: #
                     25: #sub get {
                     26: #     return "This is a sample annotation/n hopefully it'll look nice on the screen";
                     27: #}
                     28: #
                     29: #sub put {
                     30: #     return;
                     31: #}
                     32: #
                     33: #
                     34: #  DELETE everything within this comment block
                     35: #
                     36: ##########################
                     37: 
                     38: # --------------------------------------------------------------Put annotation
                     39: 
                     40: sub write_annotation {
                     41:     my $url_old=shift;
1.2     ! tyszkabe   42:     my $annotation=@_;
        !            43:     Apache::lonnet::put("annotations",($url_old => $annotation));
1.1       tyszkabe   44:     return;
                     45: }
                     46: 
                     47: # --------------------------------------------------------------Get annotation
                     48: 
                     49: sub get_annotation {
                     50:     my $url_new=shift;
1.2     ! tyszkabe   51:     my %annotation=Apache::lonnet::get("annotations",($url_new));
        !            52:     return %annotation;
1.1       tyszkabe   53: }
                     54: 
                     55: # ------------------------------------------------------------Construct editor
                     56: 
                     57: sub construct_editor {
                     58:     my $url_new=shift;
1.2     ! tyszkabe   59:     my %annot_hash=@_;
        !            60:     my @delete_this=keys %annot_hash;
1.1       tyszkabe   61:     return(<<END_HTML) 
1.2     ! tyszkabe   62: <html>
        !            63: <head>
        !            64: <title>Annotations</title>
        !            65: <script language="JavaScript">
        !            66: function checkDomain() {
        !            67:    form.url_new=window.opener.opener.location.href;
        !            68:    form.submit();
        !            69:    return;
        !            70: }
1.1       tyszkabe   71: </script>
1.2     ! tyszkabe   72: </head>
        !            73: <body BGCOLOR=\"#BBBBBB\">
        !            74: @delete_this are the keys for the hash<BR>$url_new is the new URL<BR>$annot_hash{$url_new} is the new annotation<BR>
        !            75:  <FORM method=post action="http://kirk.lite.msu.edu/adm/annotations" onSubmit="checkDomain();">
        !            76:     <TEXTAREA NAME="annotation" WRAP=ON ROWS=12 COLS=36>$annot_hash{$url_new}</TEXTAREA><br>
        !            77:     <INPUT TYPE=Reset value="Undo Changes">
        !            78:     <INPUT TYPE="hidden" name="url_old" value="$url_new")>
        !            79:     <INPUT TYPE="hidden" name="url_new" value="none">
        !            80:     <INPUT TYPE=submit name=submit value="Save">
1.1       tyszkabe   81:     <INPUT TYPE=submit name=submit value="Update">
                     82:  </FORM>
1.2     ! tyszkabe   83: </body>
        !            84: </html>
1.1       tyszkabe   85: END_HTML
                     86: }
                     87: 
                     88: # ----------------------------------------------------------------Main Handler
                     89: 
                     90: sub handler {
                     91:     my $r=shift;
                     92:     my $url_old;
                     93:     my $annotation;
                     94:     $r->content_type('text/html');
                     95:     $r->send_http_header;
                     96:     if ($url_old=param("url_old")) {
                     97:          $annotation=param("annotation");
                     98:          write_annotation($url_old,$annotation);
                     99:     }
                    100:     if (my $url_new=param("url_new")) {
1.2     ! tyszkabe  101: #        my %annot_hash;
        !           102: #        $r->print("$url_new \n");                                      #debug line
        !           103: #        $r->print($url_old);                                           #debug line
        !           104: #	 $r->print("<--the url_new <BR>\n");                            #debug line
        !           105: #        $r->print($annotation);                                        #debug line
        !           106: #	 $r->print("<--first annotation <BR>\n");                       #debug line
        !           107: #        Apache::lonnet::put("annotations",($url_new => $annotation));  #debug line
        !           108: #        my %annot_hash=Apache::lonnet::get("annotations",($url_new));  #debug line
        !           109: #        $r->print( keys(%phony_var));                                  #debug line
        !           110: #	 $r->print(" = are the keys<BR>\n");                            #debug line
        !           111: #	 $r->print("$phony_var{$url_new} = $url_new");                  #debug line
        !           112: #	 $r->print("<--test put-get<BR>\n");                            #debug line
        !           113: #        $r->print($annotation);                                        #debug line
        !           114: #	 $r->print("<--annotation<BR>\n");                              #debug line
        !           115: #         unless ($url_old eq $url_new) {
        !           116:          my %annot_hash=get_annotation($url_new);
        !           117: #         }
        !           118: #	 $r->print($annotation);                                        #debug line
        !           119: #	 $r->print("<--annotation again<BR>\n");                        #debug line
        !           120: 	 my $page=construct_editor($url_new,%annot_hash);
1.1       tyszkabe  121: 	 $r->print($page);
                    122:     }
                    123:     return OK;
                    124: }
                    125: 
                    126: 1;
                    127: __END__

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>