--- loncom/interface/loncreatecourse.pm	2003/08/07 14:28:49	1.27
+++ loncom/interface/loncreatecourse.pm	2003/08/30 18:49:10	1.29
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Create a course
 #
-# $Id: loncreatecourse.pm,v 1.27 2003/08/07 14:28:49 bowersj2 Exp $
+# $Id: loncreatecourse.pm,v 1.29 2003/08/30 18:49:10 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -48,6 +48,64 @@ use Apache::loncommon;
 use Apache::lonratedt;
 use Apache::londocs;
 
+# -------------------------------------------- Return path to profile directory
+
+sub propath {
+    my ($udom,$uname)=@_;
+    $udom=~s/\W//g;
+    $uname=~s/\W//g;
+    my $subdir=$uname.'__';
+    $subdir =~ s/(.)(.)(.).*/$1\/$2\/$3/;
+    my $proname="$Apache::lonnet::perlvar{'lonUsersDir'}/$udom/$subdir/$uname";
+    return $proname;
+} 
+
+# ================================================ Get course directory listing
+
+sub crsdirlist {
+    my ($courseid,$which)=@_;
+    unless ($which) { $which=''; }
+    my %crsdata=&Apache::lonnet::coursedescription($courseid);
+    my @listing=&Apache::lonnet::dirlist
+	($which,$crsdata{'domain'},$crsdata{'num'},
+	 &propath($crsdata{'domain'},$crsdata{'num'}));
+    my @output=();
+    foreach (@listing) {
+	unless ($_=~/^\./) {
+	    push (@output,(split(/\&/,$_))[0]);
+	}
+    }
+    return @output;
+}
+
+# ============================================================= Read a userfile
+
+sub readfile {
+    my ($courseid,$which)=@_;
+    my %crsdata=&Apache::lonnet::coursedescription($courseid);
+    return &Apache::lonnet::getfile('/uploaded/'.$crsdata{'domain'}.'/'.
+				    $crsdata{'num'}.'/'.$which);
+}
+
+# ============================================================ Write a userfile
+
+sub writefile {
+    my ($courseid,$which,$data)=@_;
+    my %crsdata=&Apache::lonnet::coursedescription($courseid);
+    $ENV{'form.output'}=$data;
+    return &Apache::lonnet::finishuserfileupload(
+					  $crsdata{'num'},$crsdata{'domain'},
+					  $crsdata{'home'},
+					  'output',$which);
+}
+
+# ============================================================= Copy a userfile
+
+sub copyfile {
+    my ($origcrsid,$newcrsid,$which)=@_;
+    return &writefile($newcrsid,$which,&readfile($origcrsid,$which));
+}
+
 # ===================================================== Phase one: fill-in form
 
 sub print_course_creation_page {