Diff for /loncom/interface/portfolio.pm between versions 1.84 and 1.91

version 1.84, 2005/04/29 16:51:42 version 1.91, 2005/12/19 20:41:45
Line 43  my $dirptr=16384; Line 43  my $dirptr=16384;
 sub display_common {  sub display_common {
     my ($r,$current_path,$is_empty,$dir_list)=@_;      my ($r,$current_path,$is_empty,$dir_list)=@_;
     my $iconpath= $r->dir_config('lonIconsURL') . "/";      my $iconpath= $r->dir_config('lonIconsURL') . "/";
     $r->print('<table border="0" cellspacing="2" cellpadding="2"><tr valign="middle">');      my %text=&Apache::lonlocal::texthash('upload' => 'Upload',
     $r->print('<td bgcolor="#ccddaa" align="center">');   'upload_label' =>  
     my $displayOut = '<form method="post" enctype="multipart/form-data">';   'Upload file to current directory:',
     $displayOut .= '<input name="uploaddoc" type="file" />'.   'createdir' => 'Create Subdirectory',
         '<input type="hidden" name="currentpath" value="'.$current_path.'" />'.   'createdir_label' => 
         '<input type="hidden" name="action" value="'.$env{"form.action"}.'" />'.   'Create subdirectory in current directory:');
         '<input type="hidden" name="fieldname" value="'.$env{"form.fieldname"}.'" />'.      $r->print(<<"TABLE"); 
         '<input type="hidden" name="mode" value="'.$env{"form.mode"}.'" />'.   <table border="0" cellspacing="2" cellpadding="2">
         '<input type="submit" name="storeupl" value="Upload" />'.    <form method="post" enctype="multipart/form-data">
         '</form>';      <tr valign="middle">
     $r->print($displayOut);        <td bgcolor="#ccddaa" align="right">
     $r->print('</td></tr><tr><td bgcolor="#ccddaa" align="center">');          $text{'upload_label'}
     $displayOut = '<form method="post">';        </td>
     $displayOut .= '<input name="newdir" type="input" />'.        <td bgcolor="#ccddaa" align="left">
         '<input type="hidden" name="currentpath" value="'.$current_path.'" />'.          <input name="uploaddoc" type="file" />
         '<input type="hidden" name="action" value="'.$env{"form.action"}.'" />'.   <input type="hidden" name="currentpath" value="$current_path" />
         '<input type="hidden" name="fieldname" value="'.$env{"form.fieldname"}.'" />'.   <input type="hidden" name="action" value="$env{"form.action"}" />
         '<input type="hidden" name="mode" value="'.$env{"form.mode"}.'" />'.    <input type="hidden" name="fieldname" value="$env{"form.fieldname"}" />
         '<input type="submit" name="createdir" value="'.&mt("Create Directory").'" />'.   <input type="hidden" name="mode" value="$env{"form.mode"}" />
         '</form>';   <input type="submit" name="storeupl" value="$text{'upload'}" />
     $r->print($displayOut);        </td>
     $r->print('</td></tr></table>');      </tr>
     </form>
     <form method="post">
       <tr>
         <td bgcolor="#ccddaa" align="right">
           $text{'createdir_label'}
         </td>
         <td bgcolor="#ccddaa" align="left">
           <input name="newdir" type="input" />
           <input type="hidden" name="currentpath" value="$current_path" />
           <input type="hidden" name="action" value="$env{"form.action"}" />
           <input type="hidden" name="fieldname" value="$env{"form.fieldname"}" />
           <input type="hidden" name="mode" value="$env{"form.mode"}" />
           <input type="submit" name="createdir" value="$text{'createdir'}" />
         </td>
       </tr>
     </form>
   </table>
   TABLE
     my @tree = split (/\//,$current_path);      my @tree = split (/\//,$current_path);
     $r->print('<font size="+2">'.&make_anchor('portfolio','/',$env{"form.mode"},$env{"form.fieldname"},$env{"form.continue"}).'/');      $r->print('<font size="+2">'.&make_anchor('portfolio','/',$env{"form.mode"},$env{"form.fieldname"},$env{"form.continue"}).'/');
     if (@tree > 1){      if (@tree > 1){
Line 114  sub display_directory { Line 132  sub display_directory {
         $r->print('<form method="post" action="/adm/portfolio">');          $r->print('<form method="post" action="/adm/portfolio">');
     }      }
     my $href_location="/uploaded/$env{'user.domain'}/$env{'user.name'}/portfolio$current_path";      my $href_location="/uploaded/$env{'user.domain'}/$env{'user.name'}/portfolio$current_path";
     my $href_edit_location="/editupload/$env{'user.domain'}/$env{'user.name'}/portfolio$current_path";      my $href_edit_location="/editupload/$env{'user.domain'}/$env{'user.name'}/portfolio$current_path/";
     foreach my $line (sort       foreach my $line (sort 
       {         { 
   my ($afile)=split('&',$a,2);    my ($afile)=split('&',$a,2);
Line 147  sub display_directory { Line 165  sub display_directory {
                     if (exists $locked_files{$current_path.$filename}){                      if (exists $locked_files{$current_path.$filename}){
                         $r->print('<td colspan="2"><a href="portfolio?lockinfo='.$current_path.$filename.'">Locked</a></td>');                          $r->print('<td colspan="2"><a href="portfolio?lockinfo='.$current_path.$filename.'">Locked</a></td>');
                     } else {                      } else {
    my $cat='<img alt="'.&mt('Catalog Information').
       '" src="'.&Apache::loncommon::lonhttpdurl('/res/adm/pages/catalog.gif').'" />';
                         $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'" />                          $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'" />
                             <a href="/adm/portfolio?rename='.$filename.'&amp;currentpath='.$current_path.'">Rename</a></td>                              <a href="/adm/portfolio?rename='.$filename.'&amp;currentpath='.$current_path.'">Rename</a></td>
                             <td><a href="'.$href_edit_location.$filename.'.meta">Meta</a>                              <td><a href="'.$href_edit_location.$filename.'.meta">'.$cat.'</a>
                             </td>');                              </td>');
                     }                      }
                 }                  }
                 $r->print('<td><img src="'.$iconpath.'unknown.gif"></td>');                  $r->print('<td><img src="'.&Apache::loncommon::icon($filename).'"></td>');
                 $r->print('<td><a href="'.$href_location.$filename.'">'.                  $r->print('<td><a href="'.$href_location.$filename.'">'.
     $filename.'</a></td>');       $filename.'</a></td>'); 
                 $r->print('<td>'.$size.'</td>');                  $r->print('<td>'.$size.'</td>');
Line 354  sub select_files { Line 374  sub select_files {
         # eventually, have to handle removing those not checked, but . . .           # eventually, have to handle removing those not checked, but . . . 
         my @items=&Apache::loncommon::get_env_multiple('form.checkfile');          my @items=&Apache::loncommon::get_env_multiple('form.checkfile');
         if (scalar(@items)){          if (scalar(@items)){
             &Apache::lonnet::logthis("one of the items is $items[0]");               &Apache::lonnet::save_selected_files($env{'user.name'}, $env{'form.currentpath'}, @items);
             &Apache::lonnet::save_selected_files($env{'user.name'}, $env{'form.currentpath'}, @items);  
         }          }
     } else {      } else {
             #empty the file for a fresh start              #empty the file for a fresh start
             &Apache::lonnet::logthis("Clearing saved files");  
             &Apache::lonnet::clear_selected_files($env{'user.name'});              &Apache::lonnet::clear_selected_files($env{'user.name'});
     }      }
     my @files = &Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'});      my @files = &Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'});
Line 389  ENDSMP Line 407  ENDSMP
 ENDSMP  ENDSMP
     $r->print($javascript);      $r->print($javascript);
     $r->print("<h1>Select portfolio files</h1>      $r->print("<h1>Select portfolio files</h1>
                 Check as many as you wish in response to the essay problem.<br />");                  Check as many as you wish in response to the problem.<br />");
     $r->print("<strong>Files selected from other directories:</strong><br />");      my @otherfiles=&Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'});
     foreach (&Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'})) {      if (@otherfiles) {
         $r->print($_."<br />");   $r->print("<strong>Files selected from other directories:</strong><br />");
    foreach my $file (@otherfiles) {
       $r->print($file."<br />");
    }
     }      }
 }  }
 sub upload {  sub upload {
Line 420  sub upload { Line 441  sub upload {
         }          }
     }      }
     my $current_disk_usage = &Apache::lonnet::diskusage($env{'user.domain'}, $env{'user.name'},$portfolio_root);      my $current_disk_usage = &Apache::lonnet::diskusage($env{'user.domain'}, $env{'user.name'},$portfolio_root);
     if ((($current_disk_usage/1000) + $filesize) > $disk_quota){      if (($current_disk_usage + $filesize) > $disk_quota){
         $r->print('<font color="red">Unable to upload <strong>'.$fname.' (size = '.$filesize.' kilobytes</strong>. Disk quota will be exceeded.'.          $r->print('<font color="red">Unable to upload <strong>'.$fname.' (size = '.$filesize.' kilobytes)</strong>. Disk quota will be exceeded.'.
                   '<br />Disk quota is '.$disk_quota.' kilobytes. Your current disk usage is '.$current_disk_usage.' kilobytes.');                    '<br />Disk quota is '.$disk_quota.' kilobytes. Your current disk usage is '.$current_disk_usage.' kilobytes.');
         $r->print(&done('Back'));          $r->print(&done('Back'));
     }       } 
Line 451  sub lock_info { Line 472  sub lock_info {
     my ($r) = @_;      my ($r) = @_;
     my %current_permissions = &Apache::lonnet::dump('file_permissions',$env{'user.domain'},$env{'user.name'});      my %current_permissions = &Apache::lonnet::dump('file_permissions',$env{'user.domain'},$env{'user.name'});
     my $file_name = $env{'form.lockinfo'};      my $file_name = $env{'form.lockinfo'};
     #my %locked_files = &Apache::lonnet::get_marked_as_readonly_hash ($env{'user.domain'},$env{'user.name'});      foreach my $key(keys(%current_permissions)) {
     foreach my $key (keys(%current_permissions)) {  
         if ($file_name eq $key) {          if ($file_name eq $key) {
         $r->print("$key = ");              foreach my $array_item (@{$current_permissions{$key}}) {
         foreach my $array_item (@{$current_permissions{$key}}) {                  if (ref($array_item)) {
             if (ref($array_item)) {                      $r->print('<strong>'.$key.'</strong> was submitted in response to problem: <strong>'.
             $r->print(&Apache::lonnet::gettitle($$array_item[0]).' is the problem<br>');                              &Apache::lonnet::gettitle($$array_item[0]).'</strong><br />');
             $r->print(&Apache::lonnet::coursedescription($$array_item[1]).' is the course<br>');                      my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
             # $r->print('the third is '.$$array_item[2].'<br>');                      $r->print('In the course: <strong>'.$course_description{'description'}.'</strong><br />');
             # $r->print("item is $$array_item[0]<br> and $$array_item[0]");                      # $r->print('the third is '.$$array_item[2].'<br>');
         }                      # $r->print("item is $$array_item[0]<br> and $$array_item[0]");
         }                  }
               }
         }              }    
     }      }
     #$r->print("lock info here");      $r->print(&done('Back'));
     return 'ok';      return 'ok';
 }  }
 sub createdir {  sub createdir {
Line 531  sub handler { Line 552  sub handler {
         $r->print(&Apache::loncommon::bodytag('Portfolio Manager'));          $r->print(&Apache::loncommon::bodytag('Portfolio Manager'));
     }      }
     $r->rflush();      $r->rflush();
  if (($env{'form.storeupl'} eq 'Upload') & (!$env{'form.uploaddoc.filename'})){   if (($env{'form.storeupl'}) & (!$env{'form.uploaddoc.filename'})){
        $r->print('<font color="red"> No file was selected to upload.'.         $r->print('<font color="red"> No file was selected to upload.'.
                'To upload a file, click <strong>Browse...</strong>'.                 'To upload a file, click <strong>Browse...</strong>'.
                ', select a file, then click <strong>Upload</strong>,</font>');                 ', select a file, then click <strong>Upload</strong>,</font>');
Line 597  sub handler { Line 618  sub handler {
  &display_common($r,$current_path,$is_empty,\@dir_list);   &display_common($r,$current_path,$is_empty,\@dir_list);
         &display_directory($r,$current_path,$is_empty,\@dir_list);          &display_directory($r,$current_path,$is_empty,\@dir_list);
  $r->print("</body>\n</html>\n");   $r->print("</body>\n</html>\n");
  return OK;  
     }      }
       return OK;
 }  }
 1;  1;
 __END__  __END__

Removed from v.1.84  
changed lines
  Added in v.1.91


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