Annotation of loncom/xml/scripttag.pm, revision 1.3

1.1       albertel    1: # The LearningOnline Network with CAPA
                      2: # <script> definiton
                      3: 
                      4: 
                      5: package Apache::scripttag; 
                      6: 
                      7: use strict;
1.3     ! albertel    8: use Apache::lonnet;
1.1       albertel    9: 
                     10: sub BEGIN {
1.3     ! albertel   11:   &Apache::lonxml::register('Apache::scripttag',('script','scriptlib'));
1.1       albertel   12: }
                     13: 
                     14: sub start_script {
1.2       albertel   15:   my ($target,$token,$parstack,$parser,$safeeval)=@_;
1.1       albertel   16:   
1.2       albertel   17:   my $result="";
                     18:   my $bodytext=$parser->get_text("/script");
                     19:   if ($target ne "edit" ) {
1.3     ! albertel   20:     $result = &Apache::run::run($bodytext,$safeeval);
1.2       albertel   21:   } else {
                     22:     $result="<textarea>$bodytext</textarea>\n";
                     23:   }
                     24:   return $result;
1.1       albertel   25: }
                     26: 
1.3     ! albertel   27: sub end_script {}
        !            28: 
        !            29: sub start_scriptlib {
        !            30:   my ($target,$token,$parstack,$parser,$safeeval)=@_;
        !            31:   my $bodytext=$parser->get_text("/scriptlib");
        !            32:   my $result ="";
        !            33:   if ($target ne "edit" ) {
        !            34:     &Apache::run::run(&getfile($bodytext),$safeeval);
        !            35:     #print "ran $bodytext:<br>".&getfile($bodytext)."<br>";
        !            36:   } else {
        !            37:     $result="<textarea>$bodytext</textarea>\n";
        !            38:   }
        !            39:   return $result;
        !            40: }
        !            41: 
        !            42: sub end_scriptlib {}
        !            43: 
        !            44: sub getfile {
        !            45:   my ($filename) = @_;
        !            46:   my $a="";
        !            47:   &Apache::lonnet::repcopy($filename);
        !            48:   {
        !            49:     my $fh=Apache::File->new($filename);
        !            50:     while (<$fh>) {
        !            51:       $a .=$_;
        !            52:     }
        !            53:   }
        !            54:   return $a
1.1       albertel   55: }
1.3     ! albertel   56: 
1.1       albertel   57: 1;
                     58: __END__

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