Diff for /loncom/publisher/lonpubdir.pm between versions 1.71 and 1.78

version 1.71, 2004/12/07 22:40:09 version 1.78, 2005/04/07 06:56:26
Line 61  sub handler { Line 61  sub handler {
              $fn,$r->dir_config('lonDefDomain'));                $fn,$r->dir_config('lonDefDomain')); 
   unless (($uname) && ($udom)) {    unless (($uname) && ($udom)) {
      $r->log_reason($uname.' at '.$udom.       $r->log_reason($uname.' at '.$udom.
          ' trying to list directory '.$ENV{'form.filename'}.           ' trying to list directory '.$env{'form.filename'}.
          ' ('.$fn.') - not authorized',            ' ('.$fn.') - not authorized', 
          $r->filename);            $r->filename); 
      return HTTP_NOT_ACCEPTABLE;       return HTTP_NOT_ACCEPTABLE;
Line 72  sub handler { Line 72  sub handler {
   $fn=~s/\/$//;    $fn=~s/\/$//;
   
   unless ($fn) {     unless ($fn) { 
      $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}.       $r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}.
          ' trying to list empty directory', $r->filename);            ' trying to list empty directory', $r->filename); 
      return HTTP_NOT_FOUND;       return HTTP_NOT_FOUND;
   }     } 
Line 91  sub handler { Line 91  sub handler {
   my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom);    my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom);
   
   &startpage($r, $uname, $udom, $thisdisfn);   # Put out the start of page.    &startpage($r, $uname, $udom, $thisdisfn);   # Put out the start of page.
   if ($ENV{'environment.remote'} eq 'off') {    if ($env{'environment.remote'} eq 'off') {
       &dircontrols($r,$uname,$udom,$thisdisfn);    # Put out actions for directory,         &dircontrols($r,$uname,$udom,$thisdisfn);    # Put out actions for directory, 
                                                # browse/upload + new file page.                                                 # browse/upload + new file page.
     } else {
         &pubbuttons($r,$uname,$thisdisfn);
   }    }
   &resourceactions($r,$uname,$udom,$thisdisfn); #Put out form used for printing/deletion etc.    &resourceactions($r,$uname,$udom,$thisdisfn); #Put out form used for printing/deletion etc.
   
Line 146  sub getEffectiveUrl { Line 148  sub getEffectiveUrl {
     my $r = shift;      my $r = shift;
     my $fn;      my $fn;
           
     if ($ENV{'form.filename'}) { # If a form filename is defined.      if ($env{'form.filename'}) { # If a form filename is defined.
  $fn=$ENV{'form.filename'};   $fn=$env{'form.filename'};
  #   #
  #   Replace the ~username of the URL with /home/username/public_html   #   Replace the ~username of the URL with /home/username/public_html
  #   so that we don't have to worry about ~ expansion internally.   #   so that we don't have to worry about ~ expansion internally.
Line 189  sub startpage { Line 191  sub startpage {
     my $currdir = '/priv/'.$uname.$thisdisfn;      my $currdir = '/priv/'.$uname.$thisdisfn;
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
       my $html=&Apache::lonxml::xmlbegin();
     $r->print('<html><head><title>LON-CAPA Construction Space</title></head>');      $r->print($html.'<head><title>LON-CAPA Construction Space</title></head>');
   
     my $pagetitle;      my $pagetitle;
     my $formaction='/priv/'.$uname.$thisdisfn.'/';      my $formaction='/priv/'.$uname.$thisdisfn.'/';
Line 204  sub startpage { Line 206  sub startpage {
                  'this.form.action=this.form.recent.value;this.form.submit()').                   'this.form.action=this.form.recent.value;this.form.submit()').
               '</form>';                '</form>';
     &Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction);      &Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction);
     if ($ENV{'environment.remote'} eq 'off') {      if ($env{'environment.remote'} eq 'off') {
  $ENV{'request.noversionuri'}=$currdir.'/';   $env{'request.noversionuri'}=$currdir.'/';
  $r->print(&Apache::loncommon::bodytag('Construction Space',undef,undef,undef,undef,undef,$pagetitle));   $r->print(&Apache::loncommon::bodytag('Construction Space',undef,undef,undef,undef,undef,$pagetitle));
     } else {      } else {
  $r->print($pagetitle);   $r->print($pagetitle);
     }      }
     my $pubdirscript=(<<ENDPUBDIRSCRIPT);      my $pubdirscript=(<<ENDPUBDIRSCRIPT);
 <script>  <script type="text/javascript">
   top.document.title = '$thisdisfn/ - LON-CAPA Construction Space';
 // Store directory location for menu bar to find  // Store directory location for menu bar to find
   
 parent.lastknownpriv='/~$uname$thisdisfn/';  parent.lastknownpriv='/~$uname$thisdisfn/';
Line 251  parent.lastknownpriv='/~$uname$thisdisfn Line 254  parent.lastknownpriv='/~$uname$thisdisfn
     }      }
   
     function forcepub(theform) {      function forcepub(theform) {
         if (confirm('Force publication of unmodified files? - OK=yes; Cancel=No.')) {          if (confirm('Force publication of unmodified files? -  Cancel=No; OK=yes.')) {
             theform.forcerepub.value="ON";              theform.forcerepub.value="ON";
         }           } 
     }      }
Line 266  parent.lastknownpriv='/~$uname$thisdisfn Line 269  parent.lastknownpriv='/~$uname$thisdisfn
   
     function SetPubDir(theform,printForm) {      function SetPubDir(theform,printForm) {
         if (theform.diraction.options[theform.diraction.selectedIndex].value == "open") {          if (theform.diraction.options[theform.diraction.selectedIndex].value == "open") {
             top.location = theform.filename.value              top.location = theform.openname.value
             return              return
         }          }
         if (theform.diraction.options[theform.diraction.selectedIndex].value == "publish") {          if (theform.diraction.options[theform.diraction.selectedIndex].value == "publish") {
Line 330  parent.lastknownpriv='/~$uname$thisdisfn Line 333  parent.lastknownpriv='/~$uname$thisdisfn
 ENDPUBDIRSCRIPT  ENDPUBDIRSCRIPT
     $r->print($pubdirscript);      $r->print($pubdirscript);
   
     if (($uname ne $ENV{'user.name'}) || ($udom ne $ENV{'user.domain'})) {      if ((($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) &&
    $env{'environment.remote'} ne 'off') {
  $r->print('<h3>'.&mt('Co-Author').': '.$uname.' at '.$udom.   $r->print('<h3>'.&mt('Co-Author').': '.$uname.' at '.$udom.
   '</h3>');    '</h3>');
     }      }
Line 396  sub dircontrols { Line 400  sub dircontrols {
 END  END
 }  }
   
   sub pubbuttons {
       my ($r,$uname,$thisdisfn) = @_;
       $r->print('<form method="post" action="/adm/publish" target="_parent">'.
                 '<table><tr><td><input type="hidden" name="filename" value="/~'.
                  $uname.$thisdisfn.'/" />'.
                 '<input type="button" onClick="pubdir(this.form);" value="'.
   &mt('Publish Directory').'" />'.
                 '<input type="hidden" name="pubrec" value="" />'.
                 '<input type="hidden" name="forcerepub" value="NO" />'.
                 '<input type="button" onClick="pubrecdir(this.form);" value="'.
   &mt('Publish Directory and Sub Directories').'" /></td><td>'.
   '<input type="button" onClick="window.location='."'/~".
                  $uname.$thisdisfn."/default.meta'".'" value="'.
   &mt('Edit Directory Catalog Information').'" /></td></tr></table></form>');
   }
   
 sub resourceactions {  sub resourceactions {
     my ($r,$uname,$udom,$thisdisfn) = @_;      my ($r,$uname,$udom,$thisdisfn) = @_;
     $r->print(<<END);      $r->print(<<END);
Line 494  sub putdirectory { Line 514  sub putdirectory {
                       '<option value="publish">'.&mt('Publish').'</option>'.                        '<option value="publish">'.&mt('Publish').'</option>'.
                       '<option value="publishsub">'.&mt('Publish with subdirectories').'</option>'.                        '<option value="publishsub">'.&mt('Publish with subdirectories').'</option>'.
                       '<option value="editcat">'.&mt('Edit catalog information').'</option>'.                        '<option value="editcat">'.&mt('Edit catalog information').'</option>'.
                       '<option value="printdir">'.&mt('Print directory').                        '<option value="printdir">'.&mt('Print directory').'</option>'.
                     '</select>'.                      '</select>'.
                      '<input type="hidden" name="filename" value="'.$dirpath.'/'.$dirname.'/" />'.                       '<input type="hidden" name="filename" value="'.$dirpath.'/'.$dirname.'/" />'.
                        '<input type="hidden" name="openname" value="'.$here.'/'.$dirname.'/" />'.
                      '<input type="hidden" name="pubrec" value="" />'.                       '<input type="hidden" name="pubrec" value="" />'.
                      '<input type="hidden" name="forcerepub" value="" />'.                       '<input type="hidden" name="forcerepub" value="" />'.
                      '<input type="hidden" name="postdata" value="" />'.                       '<input type="hidden" name="postdata" value="" />'.
Line 554  sub putresource { Line 575  sub putresource {
 # $action_buttons='';  # $action_buttons='';
 #    }  #    }
     $title='<a href="/res/'.$targetdir.'/'.$filename.      $title='<a href="/res/'.$targetdir.'/'.$filename.
  '.meta" target=cat>'.   '.meta" target="cat">'.
  &getTitleString($targetdir.'/'.$filename).'</a>';   &getTitleString($targetdir.'/'.$filename).'</a>';
  } else {   } else {
             $pubstatus = 'modified';              $pubstatus = 'modified';
Line 563  sub putresource { Line 584  sub putresource {
  &mt(&getSourceRightString($targetdir.'/'.$filename));   &mt(&getSourceRightString($targetdir.'/'.$filename));
             $bgcolor='#FFFF77';              $bgcolor='#FFFF77';
 #    $action_buttons='';  #    $action_buttons='';
     $title='<a href="/res/'.$targetdir.'/'.$filename.'.meta" target=cat>'.      $title='<a href="/res/'.$targetdir.'/'.$filename.'.meta" target="cat">'.
  &getTitleString($targetdir.'/'.$filename).'</a>';   &getTitleString($targetdir.'/'.$filename).'</a>';
     if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') {      if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') {
  $status.='<br /><a href="/adm/diff?filename=/~'.$uname.   $status.='<br /><a href="/adm/diff?filename=/~'.$uname.
     $thisdisfn.'/'.$filename.      $thisdisfn.'/'.$filename.
     '&versiontwo=priv" target=cat>'.&mt('Diffs').'</a>';      '&amp;versiontwo=priv" target="cat">'.&mt('Diffs').'</a>';
     }      }
  }   }
  $title.='<br /><a href="/~'.$uname.$thisdisfn.'/'.$filename.'.meta">'.    $title.="\n".'<br /><a href="/~'.$uname.$thisdisfn.'/'.$filename.'.meta">'. 
     ($$bombs{$targetdir.'/'.$filename}?'<img src="/adm/lonMisc/bomb.gif" border="0" />':'Edit Metadata').'</a>';      ($$bombs{$targetdir.'/'.$filename}?'<img src="/adm/lonMisc/bomb.gif" border="0" />':'Edit Metadata').'</a>';
  $status.='<br><a href="/adm/retrieve?filename=/~'.$uname.   $status.="\n".'<br /><a href="/adm/retrieve?filename=/~'.$uname.
     $thisdisfn.'/'.$filename.'" target="_parent">'.&mt('Retrieve').'</a>';      $thisdisfn.'/'.$filename.'" target="_parent">'.&mt('Retrieve').'</a>';
     }      }
     my $editlink='';      my $editlink='';
Line 611  sub create_pubselect { Line 632  sub create_pubselect {
     $$pub_select = '      $$pub_select = '
 <form name="resselect_'.$$numres.'" action="">  <form name="resselect_'.$$numres.'" action="">
 <select name="reschoice"  onChange="SetResChoice(this.form)">  <select name="reschoice"  onChange="SetResChoice(this.form)">
 <option>'.&mt('Select action').  <option>'.&mt('Select action').'</option>'.
 '<option value="copy"/>'.&mt('Copy');  '<option value="copy">'.&mt('Copy').'</option>';
     if ($pubstatus eq 'obsolete' || $pubstatus eq 'unpublished') {      if ($pubstatus eq 'obsolete' || $pubstatus eq 'unpublished') {
         $$pub_select .=           $$pub_select .= 
 '<option value="rename"/>'.&mt('Rename').  '<option value="rename">'.&mt('Rename').'</option>'.
 '<option value="move"/>'.&mt('Move').  '<option value="move">'.&mt('Move').'</option>'.
 '<option value="delete"/>'.&mt('Delete');  '<option value="delete">'.&mt('Delete').'</option>';
     } else {      } else {
         $$pub_select .= '          $$pub_select .= '
 <option value="obsolete"/>'.&mt('Mark obsolete');  <option value="obsolete">'.&mt('Mark obsolete').'</option>';
     }      }
 # check for versions  # check for versions
     my $versions = &check_for_versions($r,'/'.$filename,$udom,$uname);      my $versions = &check_for_versions($r,'/'.$filename,$udom,$uname);
     if ($versions > 0) {      if ($versions > 0) {
         $$pub_select .='          $$pub_select .='
 <option value="retrieve"/>'.&mt('Retrieve old version');  <option value="retrieve">'.&mt('Retrieve old version').'</option>';
     }      }
     $$pub_select .= '      $$pub_select .= '
 <option value="publish"/>'.$publish_button.  <option value="publish">'.$publish_button.'</option>'.
 '<option value="print"/>'.&mt('Print').  '<option value="print">'.&mt('Print').'</option>'.
 '</select>  '</select>
 <input type="hidden" name="filename" value="/~'.  <input type="hidden" name="filename" value="/~'.
  $uname.$thisdisfn.'/'.$filename.'"></form>';   $uname.$thisdisfn.'/'.$filename.'" /></form>';
     $$numres ++;      $$numres ++;
 }  }
   

Removed from v.1.71  
changed lines
  Added in v.1.78


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