Diff for /loncom/publisher/lonpubdir.pm between versions 1.113 and 1.114

version 1.113, 2008/11/17 13:41:10 version 1.114, 2008/11/20 15:19:28
Line 27 Line 27
 #  #
 ###  ###
   
 =head1 NAME  
   
 Apache::lonpubdir - Construction space directory lister  
   
 =head1 SYNOPSIS  
   
 Invoked (for various locations) by /etc/httpd/conf/srm.conf:  
   
  <LocationMatch "^/\~.*/$">  
  PerlAccessHandler       Apache::loncacc  
  SetHandler perl-script  
  PerlHandler Apache::lonpubdir  
  ErrorDocument     403 /adm/login  
  ErrorDocument     404 /adm/notfound.html  
  ErrorDocument     406 /adm/unauthorized.html  
  ErrorDocument  500 /adm/errorhandler  
  </LocationMatch>  
   
  <Location /adm/pubdir>  
  PerlAccessHandler       Apache::lonacc  
  SetHandler perl-script  
  PerlHandler Apache::lonpubdir  
  ErrorDocument     403 /adm/login  
  ErrorDocument     404 /adm/notfound.html  
  ErrorDocument     406 /adm/unauthorized.html  
  ErrorDocument  500 /adm/errorhandler  
  </Location>  
   
 =head1 INTRODUCTION  
   
 This module publishes a directory of files.  
   
 This is part of the LearningOnline Network with CAPA project  
 described at http://www.lon-capa.org.  
   
 =head1 HANDLER SUBROUTINE  
   
 This routine is called by Apache and mod_perl.  
   
 =over 4  
   
 =item *  
   
 read in information  
   
 =item *  
   
 start page output  
   
 =item *  
   
 run through list of files and attempt to publish unhidden files  
   
 =back  
   
 =head2 OTHER SUBROUTINES:  
   
 =head3 startpage($r, $uame, $udom, $thisdisfn)  
   
 Output the header of the page.  This includes:  
  - The HTML header   
  - The H1/H3  stuff which includes the directory.  
    
     startpage($r, $uame, $udom, $thisdisfn);  
         $r     - The apache request object.  
         $uname - User name.  
         $udom  - Domain name the user is logged in under.  
         $thisdisfn - Displayable version of the filename.  
   
 =head3 getTitleString($fullname)  
   
     Get the title string or "[untitled]" if the file has no title metadata:  
     Without the latter substitution, it's impossible to examine metadata for  
     untitled resources.  Resources may be legitimately untitled, to prevent  
     searches from locating them.  
       
     $str = getTitleString($fullname);  
         $fullname - Fully qualified filename to check.  
   
 =head3 putdirectory(r, base, here, dirname, modtime)  
   
     Put out a directory table row:  
       
     putdirectory($r, $base, $here, $dirname, $modtime)  
         $r       - Apache request object.  
         $reqfile - File in request.  
         $here    - Where we are in directory tree.  
         $dirname - Name of directory special file.  
         $modtime - Encoded modification time.  
   
 =head3 CategorizeFiles($location, $files)  
       
     Categorize files in the directory.  
     For each file in a list of files in a file directory,   
     the  file categorized as one of:  
         - directory    
         - sequence  
         - problem   
         - Other resource.  
   
     For each file the modification date is determined as well.  
     Returned is a list of sublists:  
         (directories, sequences, problems, other)  
     each of the sublists contains entries of the following form (sorted by filename):  
     (filename, typecode, lastmodtime)  
       
         $list = CategorizeFiles($location, $files)  
         $location   - Directory in which the files live (relative to our execution)  
         $files      - list of files.  
   
 =cut  
   
 package Apache::lonpubdir;  package Apache::lonpubdir;
   
 use strict;  use strict;
Line 898  sub CategorizeFiles { Line 786  sub CategorizeFiles {
 __END__  __END__
   
   
   =head1 NAME
   
   Apache::lonpubdir - Construction space directory lister
   
   =head1 SYNOPSIS
   
   Invoked (for various locations) by /etc/httpd/conf/srm.conf:
   
    <LocationMatch "^/\~.*/$">
    PerlAccessHandler       Apache::loncacc
    SetHandler perl-script
    PerlHandler Apache::lonpubdir
    ErrorDocument     403 /adm/login
    ErrorDocument     404 /adm/notfound.html
    ErrorDocument     406 /adm/unauthorized.html
    ErrorDocument  500 /adm/errorhandler
    </LocationMatch>
   
    <Location /adm/pubdir>
    PerlAccessHandler       Apache::lonacc
    SetHandler perl-script
    PerlHandler Apache::lonpubdir
    ErrorDocument     403 /adm/login
    ErrorDocument     404 /adm/notfound.html
    ErrorDocument     406 /adm/unauthorized.html
    ErrorDocument  500 /adm/errorhandler
    </Location>
   
   =head1 INTRODUCTION
   
   This module publishes a directory of files.
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   =head1 HANDLER SUBROUTINE
   
   This routine is called by Apache and mod_perl.
   
   =over 4
   
   =item *
   
   read in information
   
   =item *
   
   start page output
   
   =item *
   
   run through list of files and attempt to publish unhidden files
   
   =back
   
   =head1 SUBROUTINES:
   
   =over
   
   =item startpage($r, $uame, $udom, $thisdisfn)
   
   Output the header of the page.  This includes:
    - The HTML header 
    - The H1/H3  stuff which includes the directory.
    
       startpage($r, $uame, $udom, $thisdisfn);
           $r     - The apache request object.
           $uname - User name.
           $udom  - Domain name the user is logged in under.
           $thisdisfn - Displayable version of the filename.
   
   =item getTitleString($fullname)
   
       Get the title string or "[untitled]" if the file has no title metadata:
       Without the latter substitution, it's impossible to examine metadata for
       untitled resources.  Resources may be legitimately untitled, to prevent
       searches from locating them.
       
       $str = getTitleString($fullname);
           $fullname - Fully qualified filename to check.
   
   =item putdirectory(r, base, here, dirname, modtime)
   
       Put out a directory table row:
       
       putdirectory($r, $base, $here, $dirname, $modtime)
           $r       - Apache request object.
           $reqfile - File in request.
           $here    - Where we are in directory tree.
           $dirname - Name of directory special file.
           $modtime - Encoded modification time.
   
   =item CategorizeFiles($location, $files)
       
       Categorize files in the directory.
       For each file in a list of files in a file directory, 
       the  file categorized as one of:
           - directory  
           - sequence
           - problem 
           - Other resource.
   
       For each file the modification date is determined as well.
       Returned is a list of sublists:
           (directories, sequences, problems, other)
       each of the sublists contains entries of the following form (sorted by filename):
       (filename, typecode, lastmodtime)
       
           $list = CategorizeFiles($location, $files)
           $location   - Directory in which the files live (relative to our execution)
           $files      - list of files.
   
   =back
   
   =cut
   

Removed from v.1.113  
changed lines
  Added in v.1.114


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