Diff for /loncom/publisher/lonpublisher.pm between versions 1.89 and 1.90

version 1.89, 2002/08/09 17:57:48 version 1.90, 2002/08/09 17:59:14
Line 61 Line 61
 ##                                                                           ##  ##                                                                           ##
 ###############################################################################  ###############################################################################
   
   
   ######################################################################
   ######################################################################
   
   =pod 
   
   =head1 Name
   
   lonpublisher - LON-CAPA publishing handler
   
   =head1 Synopsis
   
   lonpublisher takes the proper steps to add resources to the LON-CAPA
   digital library.  This includes updating the metadata table in the
   LON-CAPA database.
   
   =head1 Description
   
   lonpublisher is many things to many people.  
   To all people it is woefully documented.  
   This documentation conforms to this standard.
   
   This module publishes a file.  This involves gathering metadata,
   versioning the file, copying file from construction space to
   publication space, and copying metadata from construction space
   to publication space.
   
   =head2 Internal Functions
   
   =over 4
   
   =cut
   
   ######################################################################
   ######################################################################
   
   
 package Apache::lonpublisher;  package Apache::lonpublisher;
   
 # ------------------------------------------------- modules used by this module  # ------------------------------------------------- modules used by this module
Line 88  my $docroot; Line 125  my $docroot;
 my $cuname;  my $cuname;
 my $cudom;  my $cudom;
   
 # ----------------------------------------------- Evaluate string with metadata  #########################################
   #########################################
   
   =pod
   
   =item metaeval
   
   Evaluate string with metadata
   
   =cut
   
   #########################################
   #########################################
 sub metaeval {  sub metaeval {
     my $metastring=shift;      my $metastring=shift;
         
Line 131  sub metaeval { Line 180  sub metaeval {
        }         }
 }  }
   
 # -------------------------------------------------------- Read a metadata file  #########################################
   #########################################
   
   =pod
   
   =item metaread
   
   Read a metadata file
   
   =cut
   
   #########################################
   #########################################
 sub metaread {  sub metaread {
     my ($logfile,$fn)=@_;      my ($logfile,$fn)=@_;
     unless (-e $fn) {      unless (-e $fn) {
Line 148  sub metaread { Line 209  sub metaread {
     return '<br><b>Processed file:</b> <tt>'.$fn.'</tt>';      return '<br><b>Processed file:</b> <tt>'.$fn.'</tt>';
 }  }
   
 # ---------------------------- convert 'time' format into a datetime sql format  #########################################
   #########################################
   
   =pod
   
   =item sqltime
   
   Convert 'time' format into a datetime sql format
   
   =cut
   
   #########################################
   #########################################
 sub sqltime {  sub sqltime {
     my $timef=shift @_;      my $timef=shift @_;
     my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =      my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
Line 157  sub sqltime { Line 230  sub sqltime {
     return "$year-$mon-$mday $hour:$min:$sec";      return "$year-$mon-$mday $hour:$min:$sec";
 }  }
   
 # --------------------------------------------------------- Various form fields  
   
   #########################################
   #########################################
   
   =pod
   
   =item Form field generating functions
   
   =over 4
   
   =item textfield
   
   =item hiddenfield
   
   =item selectbox
   
   =back
   
   =cut
   
   #########################################
   #########################################
 sub textfield {  sub textfield {
     my ($title,$name,$value)=@_;      my ($title,$name,$value)=@_;
     return "\n<p><b>$title:</b><br>".      return "\n<p><b>$title:</b><br>".
Line 185  sub selectbox { Line 278  sub selectbox {
     return $selout.'</select>';      return $selout.'</select>';
 }  }
   
 # -------------------------------------------------------- Publication Step One  #########################################
   #########################################
   
   =pod
   
   =item urlfixup
   
   Fix up a url?  First step of publication
   
   =cut
   
   #########################################
   #########################################
 sub urlfixup {  sub urlfixup {
     my ($url,$target)=@_;      my ($url,$target)=@_;
     unless ($url) { return ''; }      unless ($url) { return ''; }
Line 207  sub urlfixup { Line 311  sub urlfixup {
     return $url;      return $url;
 }  }
   
   #########################################
   #########################################
   
   =pod
   
   =item absoluteurl
   
   Currently undocumented    
   
   =cut
   
   #########################################
   #########################################
 sub absoluteurl {  sub absoluteurl {
     my ($url,$target)=@_;      my ($url,$target)=@_;
     unless ($url) { return ''; }      unless ($url) { return ''; }
Line 218  sub absoluteurl { Line 334  sub absoluteurl {
     return $url;      return $url;
 }  }
   
   #########################################
   #########################################
   
   =pod
   
   =item set_allow
   
   Currently undocumented    
   
   =cut
   
   #########################################
   #########################################
 sub set_allow {  sub set_allow {
     my ($allow,$logfile,$target,$tag,$oldurl)=@_;      my ($allow,$logfile,$target,$tag,$oldurl)=@_;
     my $newurl=&urlfixup($oldurl,$target);      my $newurl=&urlfixup($oldurl,$target);
Line 236  sub set_allow { Line 365  sub set_allow {
     return $return_url      return $return_url
 }  }
   
   #########################################
   #########################################
   
   =pod
   
   =item get_subscribed_hosts
   
   Currently undocumented    
   
   =cut
   
   #########################################
   #########################################
 sub get_subscribed_hosts {  sub get_subscribed_hosts {
     my ($target)=@_;      my ($target)=@_;
     my @subscribed;      my @subscribed;
Line 269  sub get_subscribed_hosts { Line 411  sub get_subscribed_hosts {
 }  }
   
   
   #########################################
   #########################################
   
   =pod
   
   =item get_max_ids_indices
   
   Currently undocumented    
   
   =cut
   
   #########################################
   #########################################
 sub get_max_ids_indices {  sub get_max_ids_indices {
     my ($content)=@_;      my ($content)=@_;
     my $maxindex=10;      my $maxindex=10;
Line 300  sub get_max_ids_indices { Line 455  sub get_max_ids_indices {
     return ($needsfixup,$maxid,$maxindex);      return ($needsfixup,$maxid,$maxindex);
 }  }
   
   #########################################
   #########################################
   
   =pod
   
   =item get_all_text_unbalanced
   
   Currently undocumented    
   
   =cut
   
   #########################################
   #########################################
 sub get_all_text_unbalanced {  sub get_all_text_unbalanced {
     #there is a copy of this in lonxml.pm      #there is a copy of this in lonxml.pm
     my($tag,$pars)= @_;      my($tag,$pars)= @_;
Line 329  sub get_all_text_unbalanced { Line 497  sub get_all_text_unbalanced {
     return $result      return $result
 }  }
   
   #########################################
   #########################################
   
   =pod
   
   =item fix_ids_and_indices
   
   Currently undocumented    
   
   =cut
   
   #########################################
   #########################################
 #Arguably this should all be done as a lonnet::ssi instead  #Arguably this should all be done as a lonnet::ssi instead
 sub fix_ids_and_indices {  sub fix_ids_and_indices {
     my ($logfile,$source,$target)=@_;      my ($logfile,$source,$target)=@_;
Line 524  sub store_metadata { Line 705  sub store_metadata {
     return (undef,$status);      return (undef,$status);
 }  }
   
   #########################################
   #########################################
   
   =pod
   
   =item publish
   
   Currently undocumented.  This is the workhorse function of this module.
   
   =cut
   
   #########################################
   #########################################
 sub publish {  sub publish {
   
     my ($source,$target,$style)=@_;      my ($source,$target,$style)=@_;
Line 843  END Line 1037  END
       '<p><input type="submit" value="Finalize Publication" /></p></form>';        '<p><input type="submit" value="Finalize Publication" /></p></form>';
 }  }
   
 # -------------------------------------------------------- Publication Step Two  #########################################
   #########################################
   
   =pod 
   
   =item phasetwo
   
   Render second interface showing status of publication steps.
   This is publication step two.
   
   =cut
   
   #########################################
   #########################################
 sub phasetwo {  sub phasetwo {
   
     my ($source,$target,$style,$distarget)=@_;      my ($source,$target,$style,$distarget)=@_;
Line 1067  if (-e $target) { Line 1273  if (-e $target) {
   
 }  }
   
 # ================================================================ Main Handler  
   
   #########################################
   #########################################
   
   =pod
   
   =item handler
   
   A basic outline of the handler subroutine follows.
   
   =over 4
   
   =item Get query string for limited number of parameters
   
   =item Check filename
   
   =item File is there and owned, init lookup tables
   
   =item Start page output
   
   =item Individual file
   
   =item publish from $thisfn to $thistarget with $thisembstyle
   
   =back
   
   =cut
   
   #########################################
   #########################################
 sub handler {  sub handler {
   my $r=shift;    my $r=shift;
   

Removed from v.1.89  
changed lines
  Added in v.1.90


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