[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> </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();