--- loncom/interface/loncreatecourse.pm 2003/08/30 14:36:24 1.28
+++ loncom/interface/loncreatecourse.pm 2020/07/20 10:37:41 1.158.2.7.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Create a course
#
-# $Id: loncreatecourse.pm,v 1.28 2003/08/30 14:36:24 www Exp $
+# $Id: loncreatecourse.pm,v 1.158.2.7.2.1 2020/07/20 10:37:41 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -25,80 +25,244 @@
#
# http://www.lon-capa.org/
#
-# (My Desk
-#
-# (Internal Server Error Handler
-#
-# (Login Screen
-# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14,
-# 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer)
-#
-# 3/1/1 Gerd Kortemeyer)
-#
-# 3/1 Gerd Kortemeyer)
-#
-# 2/14,2/16,2/17,7/6 Gerd Kortemeyer
-#
+###
+
+=head1 NAME
+
+Apache::loncreatecourse.pm
+
+=head1 SYNOPSIS
+
+Allows domain coordinators to create new
+courses and assign course coordinators.
+
+This is part of the LearningOnline Network with CAPA project
+described at http://www.lon-capa.org.
+
+=head1 SUBROUTINES
+
+=over
+
+=item handler()
+
+=item print_course_creation_page()
+
+=item create_course()
+
+=item print_intro_page()
+
+=item upload_batchfile()
+
+=item process_batchfile()
+
+=item courserequestbrowser_javascript()
+
+=item print_creation_logs()
+
+=item creation_display_filter()
+
+=item context_names()
+
+=item instcode_srchstr()
+
+=item syllabuslink_javascript()
+
+=back
+
+=cut
+
package Apache::loncreatecourse;
use strict;
use Apache::Constants qw(:common :http);
use Apache::lonnet;
use Apache::loncommon;
-use Apache::lonratedt;
use Apache::londocs;
+use Apache::lonlocal;
+use Apache::lonuserutils;
+use LONCAPA::batchcreatecourse;
+use LONCAPA qw(:DEFAULT :match);
-# -------------------------------------------- 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;
-}
+my $registered_flush;
+my $registered_instcats;
+my $modified_dom;
# ===================================================== Phase one: fill-in form
sub print_course_creation_page {
my $r=shift;
- my $defdom=$ENV{'request.role.domain'};
- my %host_servers = &Apache::loncommon::get_library_servers($defdom);
+ my $crstype = 'Community';
+ if ($env{'form.phase'} eq 'courseone') {
+ $crstype = 'Course';
+ }
+ my $defdom=$env{'request.role.domain'};
+ my %domdefaults = &Apache::lonnet::get_domain_defaults($defdom);
+ my %host_servers = &Apache::lonnet::get_servers($defdom,'library');
my $course_home = '\n";
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain');
- my $bodytag=&Apache::loncommon::bodytag('Create a New Course');
- my $helplink=&Apache::loncommon::help_open_topic('Create_Course','Help on Creating Courses');
- $r->print(<
-Username: -
-Domain: $domform -
-Immediately expire own role as Course Coordinator: - -
- - -
- -