[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm

banghart lon-capa-cvs@mail.lon-capa.org
Mon, 21 Feb 2005 02:20:12 -0000


This is a MIME encoded message

--banghart1108952412
Content-Type: text/plain

banghart		Sun Feb 20 21:20:12 2005 EDT

  Modified files:              
    /loncom/interface	portfolio.pm 
  Log:
  	Remove sub dedicated to file select (for responding to essay
  	question) and integrated special file select stuff within
  	the "standard" portfolio file display. This in preparation
  	for making the two displays much more similar.
  
  
--banghart1108952412
Content-Type: text/plain
Content-Disposition: attachment; filename="banghart-20050220212012.txt"

Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.76 loncom/interface/portfolio.pm:1.77
--- loncom/interface/portfolio.pm:1.76	Sun Feb 20 15:39:30 2005
+++ loncom/interface/portfolio.pm	Sun Feb 20 21:20:12 2005
@@ -83,7 +83,14 @@
     my ($r,$current_path,$is_empty,$dir_list)=@_;
     my $iconpath= $r->dir_config('lonIconsURL') . "/";
     my $display_out;
+    my $select_mode;
+    my $checked_files;
     my %locked_files = &Apache::lonnet::get_marked_as_readonly_hash ($ENV{'user.domain'},$ENV{'user.name'});
+    if ($ENV{"form.mode"} eq 'selectfile'){
+	&select_files($r);
+	$checked_files =&Apache::lonnet::files_in_path($ENV{'user.name'},$ENV{'form.currentpath'});
+	$select_mode = 'true';
+    } 
     if ($is_empty && ($current_path ne '/')) {
         $display_out = '<form method="post" action="/adm/portfolio">'.
         '<input type="hidden" name="action" value="deletedir" />'.
@@ -95,76 +102,16 @@
         $r->print($display_out);
 	return;
     }
-    $r->print('<table border="0" cellspacing="2" cellpadding="2">'.
+    if ($select_mode eq 'true') {
+        $r->print('<table border="0" cellspacing="2" cellpadding="2">'.
+            '<tr><th>Select</th><th>&nbsp;</th><th>Name</th><th>Size</th><th>Last Modified</th></tr>');
+        $r->print('<form method="post" name="checkselect" action="/adm/portfolio">');
+    } else {
+        $r->print('<table border="0" cellspacing="2" cellpadding="2">'.
             '<tr><th colspan="2">Actions</th><th>&nbsp;</th><th>Name</th><th>Size</th><th>Last Modified</th></tr>');
-    my $href_location="/uploaded/$ENV{'user.domain'}/$ENV{'user.name'}/portfolio$current_path";
-    $r->print('<form method="post" action="/adm/portfolio">');
-    foreach my $line (sort 
-		      { 
-			  my ($afile)=split('&',$a,2);
-			  my ($bfile)=split('&',$b,2);
-			  return (lc($afile) cmp lc($bfile));
-		      } (@$dir_list)) {
-    	#$strip holds directory/file name
-    	#$dom 
-    	my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); 
-    	if (($filename ne '.') && ($filename ne '..')) {
-            if ($dirptr&$testdir) {
-                $r->print('<tr bgcolor="#FFAA99"><td colspan="2"><img src="'.$iconpath.'folder_closed.gif"></td>');
-                $r->print('<td>Go to ...</td>');
-                $r->print('<td>'.&make_anchor($filename.'/',$current_path.$filename.'/',$ENV{'form.mode'},$ENV{"form.fieldname"}).'</td>'); 
-                $r->print('</tr>'); 
-            } else {
-                $r->print('<tr bgcolor="#CCCCFF">');
-                if (exists $locked_files{$current_path.$filename}){
-                    $r->print('<td colspan="2">Locked</td>');
-                } else {
-                    $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'" />
-                        <a href="/adm/portfolio?rename='.$filename.'&amp;currentpath='.$current_path.'">Rename</a></td>
-                        <td><a href="/adm/portfolio'.$current_path.$filename.'.meta">Meta</a>
-                        </td>');
-                }
-                $r->print('<td><img src="'.$iconpath.'unknown.gif"></td>');
-                $r->print('<td><a href="'.$href_location.$filename.'">'.
-			    $filename.'</a></td>'); 
-                $r->print('<td>'.$size.'</td>');
-                $r->print('<td>'.&Apache::lonlocal::locallocaltime($mtime).'</td>');
-                $r->print('</tr>'); 
-            }
-        }
+        $r->print('<form method="post" action="/adm/portfolio">');
     }
-#   <tr bgcolor="#FFAA99"> pink bg 
-#   <tr bgcolor="#CCCCFF"> blue bg            
-#   $r->print(&display_directory($current_path, $currentFile, @dir_list));
-#    $r->print('</td>><td>');
-#   $r->print(&display_actions($current_path, $currentFile, $isEmpty));
-    $r->print('</table>
-    <input type="submit" name="doit" value="Delete Checked Files" />
-    <input type="hidden" name="action" value="delete" />
-    <input type="hidden" name="currentpath" value="'.$current_path.'" />
-    </form>');
-}
-sub display_file_select {
-    my ($r,$current_path,$is_empty,$dir_list)=@_;
-    my $iconpath= $r->dir_config('lonIconsURL') . "/";
-    my $display_out;
-    my $checked_files = &Apache::lonnet::files_in_path($ENV{'user.name'}, $ENV{'form.currentpath'});
-    if ($is_empty && ($current_path ne '/')) {
-        $display_out = '<form method="post" action="/adm/portfolio">'.
-        '<input type="hidden" name="action" value="deletedir" />'.
-        '<input type="submit" name="deletedir" value="'.&mt("Delete Directory").'" />'.
-        '<input type="hidden" name="selectfile" value="" />'.
-        '<input type="hidden" name="currentpath" value="'.$current_path.'" />'.
-
-        '</form>';
-        
-        $r->print($display_out);
-	return;
-    }
-    $r->print('<table border="0" cellspacing="2" cellpadding="2">'.
-            '<tr><th>Select</th><th>&nbsp;</th><th>Name</th><th>Size</th><th>Last Modified</th></tr>');
     my $href_location="/uploaded/$ENV{'user.domain'}/$ENV{'user.name'}/portfolio$current_path";
-    $r->print('<form method="post" name="checkselect" action="/adm/portfolio">');
     foreach my $line (sort 
 		      { 
 			  my ($afile)=split('&',$a,2);
@@ -177,17 +124,32 @@
     	$filename =~ s/\s+$//;
     	if (($filename ne '.') && ($filename ne '..')) {
             if ($dirptr&$testdir) {
-                $r->print('<tr bgcolor="#FFAA99"><td><img src="'.$iconpath.'folder_closed.gif"></td>');
+                if ($select_mode eq 'true'){
+                    $r->print('<tr bgcolor="#FFAA99"><td><img src="'.$iconpath.'folder_closed.gif"></td>');
+                } else {
+                    $r->print('<tr bgcolor="#FFAA99"><td colspan="2"><img src="'.$iconpath.'folder_closed.gif"></td>');
+                }
                 $r->print('<td>Go to ...</td>');
                 $r->print('<td>'.&make_anchor($filename.'/',$current_path.$filename.'/',$ENV{'form.mode'},$ENV{"form.fieldname"}).'</td>'); 
                 $r->print('</tr>'); 
             } else {
                 $r->print('<tr bgcolor="#CCCCFF">');
-                $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'"'); 
-                if ($$checked_files{$filename} eq 'selected') {
-                    $r->print("CHECKED");
+                if ($select_mode eq 'true'){
+                    $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'"'); 
+                    if ($$checked_files{$filename} eq 'selected') {
+                        $r->print("CHECKED");
+                    }
+                    $r->print('></td>');
+                } else {
+                    if (exists $locked_files{$current_path.$filename}){
+                        $r->print('<td colspan="2">Locked</td>');
+                    } else {
+                        $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'" />
+                            <a href="/adm/portfolio?rename='.$filename.'&amp;currentpath='.$current_path.'">Rename</a></td>
+                            <td><a href="/adm/portfolio'.$current_path.$filename.'.meta">Meta</a>
+                            </td>');
+                    }
                 }
-                $r->print('></td>');
                 $r->print('<td><img src="'.$iconpath.'unknown.gif"></td>');
                 $r->print('<td><a href="'.$href_location.$filename.'">'.
 			    $filename.'</a></td>'); 
@@ -197,14 +159,22 @@
             }
         }
     }
-    $r->print('</table>
+    if ($select_mode eq 'true') {
+        $r->print('</table>
             <input type="hidden" name="continue" value="true">
             <input type="hidden" name="fieldname" value="'.$ENV{'form.fieldname'}.'">
             <input type="hidden" name="mode" value="selectfile">
             <input type="submit" name="submit" value="Select checked files, and continue selecting." /><br />
             <input type="button" name="doit" onClick= "finishSelect();" value="Select checked files, and close window" />
             <input type="hidden" name="currentpath" value="'.$current_path.'" />
-    </form>');
+        </form>');        
+    } else {
+        $r->print('</table>
+        <input type="submit" name="doit" value="Delete Checked Files" />
+        <input type="hidden" name="action" value="delete" />
+        <input type="hidden" name="currentpath" value="'.$current_path.'" />
+        </form>');
+    }
 }
 
 sub open_form {
@@ -599,12 +569,7 @@
 	# need to know if directory is empty so it can be removed if desired
 	my $is_empty=(@dir_list == 2);
 	&display_common($r,$current_path,$is_empty,\@dir_list);
-	if ($ENV{"form.mode"} eq 'selectfile'){
-	    &select_files($r);
-            &display_file_select($r,$current_path,$is_empty,\@dir_list);
-	} else {
-	    &display_directory($r,$current_path,$is_empty,\@dir_list);
-	}
+        &display_directory($r,$current_path,$is_empty,\@dir_list);
 	$r->print("</body>\n</html>\n");
 	return OK;
     }

--banghart1108952412--