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

banghart lon-capa-cvs@mail.lon-capa.org
Wed, 28 Jul 2004 19:00:19 -0000


banghart		Wed Jul 28 15:00:19 2004 EDT

  Modified files:              
    /loncom/interface	portfolio.pm 
  Log:
  
  	Moving toward a contruction space look and feel
  	Real Soon Now
  
  
  
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.17 loncom/interface/portfolio.pm:1.18
--- loncom/interface/portfolio.pm:1.17	Tue Jul 27 01:29:00 2004
+++ loncom/interface/portfolio.pm	Wed Jul 28 15:00:19 2004
@@ -63,30 +63,22 @@
     foreach my $line (@dirList) {
     	#$strip holds directory/file name
     	#$dom 
-    	my ($fileName,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef,$path,$debug)=split(/\&/,$line,18); 
-    	$path =~ m:/:;
-    	my $dirDepth = @-;
+    	my ($fileName,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); 
         if (($fileName ne '.') && ($fileName ne '..')){
-          	for (my $i = 0; $i <= $dirDepth; $i += 1){
-    	        $displayOut.='<blockquote>';
-    	    }
             if ($testdir =~ m:^1:){
                 # handle directories different from files
                 if ($fileName eq $currentFile){ #checks to bold the selected file
-                    $displayOut.= $debug.'<strong>'.(makeAnchor($fileName.'/', $path.$fileName.'/').'</strong><br />'."\n");
+                    $displayOut.= '<strong>'.(makeAnchor($fileName.'/', $fileName.'/').'</strong><br />'."\n");
                 }else{
-                    $displayOut.= $debug.(makeAnchor($fileName.'/', $path.$fileName.'/').'<br />'."\n");
+                    $displayOut.= (makeAnchor($fileName.'/', $fileName.'/').'<br />'."\n");
                 }
             }else{
                 if ($fileName eq $currentFile){ #checks to bold the selected file
-                    $displayOut.=$debug.'<strong>'.(makeAnchor($fileName, $currentPath).'</strong><br />'."\n");
+                    $displayOut.='<strong>'.(makeAnchor($fileName, $currentPath).'</strong><br />'."\n");
                 }else{
-                    $displayOut.=$debug.(makeAnchor($fileName, $currentPath).'<br />'."\n");
+                    $displayOut.=(makeAnchor($fileName, $currentPath).'<br />'."\n");
                 }
             }
-        	for (my $i = 0; $i <= $dirDepth; $i += 1){
-        	    $displayOut.='</blockquote>';
-    	    }
             
         }
     	
@@ -166,6 +158,7 @@
 sub handler {
     # this handles file management
     my $r = shift;
+    my $iconpath= $r->dir_config('lonIconsURL') . "/";
     my @dirList; # will hold directory listing as array
     my $udir; # returned from home server
     my $currentPath; # path assuming /userfiles/portfolio/ as root
@@ -174,6 +167,7 @@
     my $filenewname; # for rename action (guess what we do with it!)
     my $isFile;
     my $isEmpty;
+    my $dirptr=16384;
     &Apache::loncommon::no_cache($r);
     &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;
@@ -221,62 +215,13 @@
         }
     }
     # we always need $dirList, plus this will return information about the current file
-    # as well as information about he home server directory structure, specifically
+    # as well as information about the home server directory structure, specifically
     # the path to the users userfiles directory.    
     # 
     my $portfolio_root = &Apache::loncommon::propath($ENV{'user.domain'},
 						     $ENV{'user.name'}).
-						       '/userfiles/portfolio';
-    my $done = 0;
-    my $subdir = '';
-    my @workinglist; # intermediate array, holds directory listing lines (dirlist), and path information
-    my $readDirectory = 1; # flag for directory
-    my $loopCounter = 0; # needed only for development to prevent run away program (or maybe more?)
-    while (!$done){
-        # Needed while developing. Later, too?
-        $loopCounter += 1;
-        if ($loopCounter > 50) {
-            $r->print('<br />stop runaway');
-            return OK;
-        }
-        # ---
-        if ($readDirectory){ # is true the first time through, then true if dirlist line is a subdir
-            # $r->print('<br />reading '.$portfolio_root.$subdir);
-            my @list = &Apache::lonnet::dirlist($currentPath,  $ENV{'user.domain'}, $ENV{'user.name'}, $portfolio_root.$subdir);
-            $r->print('value in @list = '.@list);
-            for (my $i = 0; $i <= @list; $i++ ){
-                my $line = pop @list;
-                $line = $line.'&'.$subdir.'&'.$loopCounter; # append the subdirectory information and loopcounter for debug
-                my ($fileName,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef,$subpath)=split(/\&/,$line,17); 
-                if (($fileName ne '.') && ($fileName ne '..')){ # we throw away the current and parent directories
-                    $r->print('<br />'.$line); #for debugging
-                    unshift @workinglist, $line; # add the line to the working list array
-                    
-                }else{
-                    $r->print('<br /> parent or current '.$line); #for debugging
-                }
-            }
-        }
-        $r->print('<br />'.@workinglist.' lines in workinglist');
-        my $line = shift @workinglist; #take one off the working list
-        $r->print('<br />'.@workinglist.' lines in workinglist');
-        if ($line eq '') { # if the working list is empty
-            $done = 1;
-        }else{
-            my ($fileName,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef,$subpath,$debug)=split(/\&/,$line,18); 
-            $r->print('<br />'.$fileName.' is '.$testdir);
-            push @dirList, $line; # and put it in the display list
-            if ($testdir =~ m:^1:) { # true if this is a directory
-                # $r->print('<br />added subdir '.$fileName);
-                $subdir = $subpath.'/'.$fileName; 
-                $readDirectory = 1;
-            }else{
-                $readDirectory = 0;
-            }
-        }
-    }
-    #	if item is directory {  get the next level down
-    #		my @list = &Apache::lonnet::dirlist($currentPath,  $ENV{'user.domain'}, $ENV{'user.name'}, $portfolio_root.$);
+						       '/userfiles/portfolio'.$currentPath;
+    @dirList = &Apache::lonnet::dirlist($currentPath,  $ENV{'user.domain'}, $ENV{'user.name'}, $portfolio_root);
     
     if (@dirList == 2) { # need to know if directory is empty so it can be removed if desired
         $isEmpty = 1;
@@ -305,11 +250,24 @@
     # Display begins here
     #
     ##############################
-    $r->print('<table border=1><tr><td>');
-    $r->print(displayDirectory($currentPath, $currentFile, @dirList));
-    $r->print('</td>><td>');
-    $r->print(displayActions($currentPath, $currentFile, $isEmpty));
-    $r->print('</td>></tr></table>');
+    $r->print('<table border="0" cellspacing="2" cellpadding="2">'.
+            '<tr><th>&nbsp;</th><th>Actions</th><th>Name</th><th>Title</th><th>Status</th><th>Last Modified</th></tr>');
+    foreach my $line (@dirList) {
+    	#$strip holds directory/file name
+    	#$dom 
+    	my ($fileName,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); 
+        if ($dirptr&$testdir){
+            $r->print('<tr bgcolor="#FFAA99"><td><img src="'.$iconpath.'folder_closed.gif"></td></tr>'); 
+        }else{
+            $r->print('<tr bgcolor="#FFAA99"><td><img src="'.$iconpath.'doc.gif"></td></tr>');
+        }
+    }
+#   <tr bgcolor="#FFAA99"> pink bg 
+#   <tr bgcolor="#CCCCFF"> blue bg            
+#   $r->print(displayDirectory($currentPath, $currentFile, @dirList));
+#    $r->print('</td>><td>');
+#   $r->print(displayActions($currentPath, $currentFile, $isEmpty));
+    $r->print('</table>');
     $r->print('</blockquote>');
     $r->print("</body>\n</html>\n");
     $r->rflush();