--- loncom/interface/portfolio.pm 2004/07/27 05:29:00 1.17
+++ loncom/interface/portfolio.pm 2004/07/28 19:00:19 1.18
@@ -63,30 +63,22 @@ sub displayDirectory {
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.='
';
- }
if ($testdir =~ m:^1:){
# handle directories different from files
if ($fileName eq $currentFile){ #checks to bold the selected file
- $displayOut.= $debug.''.(makeAnchor($fileName.'/', $path.$fileName.'/').'
'."\n");
+ $displayOut.= ''.(makeAnchor($fileName.'/', $fileName.'/').'
'."\n");
}else{
- $displayOut.= $debug.(makeAnchor($fileName.'/', $path.$fileName.'/').'
'."\n");
+ $displayOut.= (makeAnchor($fileName.'/', $fileName.'/').'
'."\n");
}
}else{
if ($fileName eq $currentFile){ #checks to bold the selected file
- $displayOut.=$debug.''.(makeAnchor($fileName, $currentPath).'
'."\n");
+ $displayOut.=''.(makeAnchor($fileName, $currentPath).'
'."\n");
}else{
- $displayOut.=$debug.(makeAnchor($fileName, $currentPath).'
'."\n");
+ $displayOut.=(makeAnchor($fileName, $currentPath).'
'."\n");
}
}
- for (my $i = 0; $i <= $dirDepth; $i += 1){
- $displayOut.='
';
- }
}
@@ -166,6 +158,7 @@ sub displayActions {
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 @@ sub handler {
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 @@ sub handler {
}
}
# 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('
stop runaway');
- return OK;
- }
- # ---
- if ($readDirectory){ # is true the first time through, then true if dirlist line is a subdir
- # $r->print('
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('
'.$line); #for debugging
- unshift @workinglist, $line; # add the line to the working list array
-
- }else{
- $r->print('
parent or current '.$line); #for debugging
- }
- }
- }
- $r->print('
'.@workinglist.' lines in workinglist');
- my $line = shift @workinglist; #take one off the working list
- $r->print('
'.@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('
'.$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('
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 @@ sub handler {
# Display begins here
#
##############################
- $r->print('');
- $r->print(displayDirectory($currentPath, $currentFile, @dirList));
- $r->print(' | >');
- $r->print(displayActions($currentPath, $currentFile, $isEmpty));
- $r->print(' | >
');
+ $r->print(''.
+ ' | Actions | Name | Title | Status | Last Modified |
');
+ 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(' |
');
+ }else{
+ $r->print(' |
');
+ }
+ }
+# pink bg
+#
blue bg
+# $r->print(displayDirectory($currentPath, $currentFile, @dirList));
+# $r->print('>');
+# $r->print(displayActions($currentPath, $currentFile, $isEmpty));
+ $r->print(' |
');
$r->print('');
$r->print("