NAME

Apache::lonpubdir - Authoring space directory lister


SYNOPSIS

Invoked (for various locations) by /etc/httpd/conf/srm.conf:

 <LocationMatch "^/+priv.*/$">
 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>


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.


HANDLER SUBROUTINE

This routine is called by Apache and mod_perl.


SUBROUTINES:

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.
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.
putdirectory($r, $base, $here, $dirname, $modtime, $targetdir, $bombs, $numdir)
    Put out a directory table row:
    
        $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.
        targetdir - Publication target directory.
        bombs     - Reference to hash of URLs with runtime error messages.
        numdir    - Reference to scalar used to track number of sub-directories
                    in directory (used in form name for each "actions" dropdown).