version 1.13, 2006/02/07 16:36:10
|
version 1.21, 2007/07/25 20:43:48
|
Line 31 use strict;
|
Line 31 use strict;
|
################################ |
################################ |
# sub run |
# sub run |
# set this to return 1 if you want the auto enrollment to run |
# set this to return 1 if you want the auto enrollment to run |
|
# |
|
# Beginning with LON-CAPA version 2.4, use of this routine is |
|
# deprecated. Whether or not Autoenroll.pl should run is set |
|
# by the Domain Coordinator via "Set domain configuration", |
|
# provided in the Domain Management section of the Main menu. |
################################ |
################################ |
|
|
sub run() { |
sub run() { |
Line 204 sub get_sections {
|
Line 209 sub get_sections {
|
# (a) the institutional courseID (in the MSU case this is a concatenation of |
# (a) the institutional courseID (in the MSU case this is a concatenation of |
# semester code, department code, course number, and section number |
# semester code, department code, course number, and section number |
# e.g., fs03nop590001). |
# e.g., fs03nop590001). |
# (b) the course owner. This is the LON-CAPA username of the course coordinator |
# (b) the course owner. This is the LON-CAPA username and domain of the course |
# assigned to the course when it is first created. |
# coordinator assigned to the course when it is first created, in the form |
|
# username:domain |
# (c) the LON-CAPA domain that contains the course |
# (c) the LON-CAPA domain that contains the course |
# |
# |
################################# |
################################# |
Line 303 sub create_password {
|
Line 309 sub create_password {
|
# |
# |
# Incoming data: |
# Incoming data: |
# $dom (domain) |
# $dom (domain) |
# $$instcodes{'43551dedcd43febmsul1'} = 'Title of course' (hash of courseIDs) |
# $$instcodes{'43551dedcd43febmsul1'} = 'fs03nop590' (hash of courseIDs) |
# |
# |
# fs03nop590 would be split as follows |
# fs03nop590 would be split as follows |
# @{$codetitles} = ("year","semester","department","number") |
# @{$codetitles} = ("year","semester","department","number") |
Line 416 sub manager_photo_update {
|
Line 422 sub manager_photo_update {
|
return ($update,$comment); |
return ($update,$comment); |
} |
} |
|
|
|
############################### |
|
# sub check_section |
|
# |
|
# Incoming data: three arguments (+ fourth optional argument) |
|
# (a) $class - institutional class id (coursecode concatanated with section) |
|
# (b) $owner - course owner (2.2 and later username:domain; pre-2.2 username) |
|
# (c) $dom 0 domain of course |
|
# (d) $dbh - optional database handle |
|
# |
|
# returns 1 parameter - $sectioncheck ('ok' or other value). |
|
# Verifies that course owner has access to classlist for specific class |
|
# according to institution's SIS. 'ok' if access available |
|
############################### |
|
|
|
sub check_section { |
|
my ($class,$owner,$dom,$dbh) = @_; |
|
my $sectioncheck = 'ok'; |
|
return $sectioncheck; |
|
} |
|
|
|
############################### |
|
# sub instcode_defaults |
|
# |
|
# Incoming data: three arguments |
|
# (a) $dom - domain |
|
# (b) $defaults - reference to hash which will contain default regular |
|
# expression matches for different components of an |
|
# institutional course code |
|
# (c) $code_order - reference to array which will contain order of |
|
# component parts used in institutional code. |
|
# |
|
# returns 1 parameter - ('ok' or other value). |
|
# Used to construct a regular expression to be used when searching for |
|
# courses based on fragments of an institutional code. |
|
# $defaults contains defaults to use for each component, and code_order |
|
# contains keys of hash in order in which they are to be concatenated. |
|
# |
|
# e.g., INSTITUTIONALCODE = fs03nop590 |
|
# (MSU's course naming scheme - fs = semester, 03 = year, nop = |
|
# department name, 590 = course number) |
|
# |
|
# %{$defaults} = ( |
|
# 'Year' => '\d{2}', |
|
# 'Semester' => '^[sfu]s', |
|
# 'Department' => '\w{2,3}', |
|
# 'Number' => '\d{3,4}\w?', |
|
# ); |
|
# |
|
# @{$code_order} = ('Semester','Year','Department','Number'); |
|
# |
|
############################### |
|
|
|
sub instcode_defaults { |
|
my ($dom,$defaults,$code_order) = @_; |
|
return 'ok'; |
|
} |
|
|
|
############################### |
|
# sub allusers_info |
|
# |
|
# Incoming data: three arguments |
|
# (a) $dom - domain |
|
# (b) $instusers - reference to hash which will contain hashes, |
|
# where keys will be usernames and value will be a |
|
# hash of user information. Keys in the inner hash |
|
# will be some or all of: lastname,firstname, |
|
# middlename, generation, id, inststatus - |
|
# institutional status (e.g., faculty,staff,student) |
|
# Values are all scalars except inststatus, |
|
# which is an array. |
|
# (c) $instids - reference to hash which will contain ID numbers. |
|
# keys will be unique IDs (student or faculty/staff ID) |
|
# values will be either: scalar (username) or an array |
|
# if a single ID matches multiple usernames. |
|
# returns 1 parameter - ('ok' or other value). |
|
# side effects - populates the $instusers and $instids refs to hashes. |
|
# with information for all users from all available |
|
# institutional datafeeds. |
|
# |
|
############################### |
|
|
|
sub allusers_info { |
|
my ($dom,$instusers,$instids) = @_; |
|
my $outcome = 'ok'; |
|
return $outcome; |
|
} |
|
|
|
############################### |
|
# sub get_userinfo |
|
# |
|
# Incoming data: four required arguments and t optional arguments |
|
# Retrieves institutional data for a single user either by username |
|
# if $uname is included as second argument, or by ID if $id is |
|
# included as a third argument. Either (b) or (c) must be provided. |
|
# (a) $dom - domain |
|
# (b) $uname - username of user |
|
# (c) $id - student/faculty ID of user |
|
# (d) $instusers - reference to hash which will contain info for user |
|
# as key = value; keys will be one or all of: |
|
# lastname,firstname,middlename,generation,id,inststatus - |
|
# institutional status (e.g., faculty,staff,student) |
|
# Values are all scalars except inststatus, |
|
# which is an array. |
|
# (e) $instids - reference to hash which will contain ID numbers - |
|
# keys will be unique IDs (student or faculty/staff ID) |
|
# values will be either: scalar (username) or an array |
|
# if a single ID matches multiple usernames. |
|
# (f) $types - optional reference to array which contains |
|
# institutional types to check. |
|
# (g) $srchby - optional if $uname or $id defined, otherwise required. |
|
# Allowed values include: 1. lastfirst, 2. last, 3. uname |
|
# corresponding to searches by 1. lastname,firstname; |
|
# 2. lastname; 3. username |
|
# (h) $srchterm - optional if $uname or $id defined, otherwise required |
|
# String to search for. |
|
# (i) $srchtype - optional. Allowed value: contains |
|
# |
|
# returns 1 parameter - ('ok' or other value). |
|
# side effects - populates the $instusers and $instids refs to hashes. |
|
# with information for specified username, or specified |
|
# id, if fifth argument provided, from all available, or |
|
# specified (e.g., faculty only) institutional datafeeds, |
|
# if sixth argument provided. |
|
############################### |
|
|
|
sub get_userinfo { |
|
my ($dom,$uname,$id,$instusers,$instids,$types, |
|
$srchby,$srchterm,$srchtype) = @_; |
|
my $outcome = 'ok'; |
|
return $outcome; |
|
} |
|
|
|
############################### |
|
# sub inst_usertypes |
|
# |
|
# Incoming data: three arguments |
|
# (a) $dom - domain |
|
# (b) $usertypes - reference to hash which will contain |
|
# key = value, where keys are institution |
|
# affiliation types (e.g., Faculty, Student etc.) |
|
# and values are titles (e.g., Faculty/Academic Staff) |
|
# (c) $order - reference to array which will contain the order in |
|
# which institutional types should be shown |
|
# when displaying data tables (e.g., default quotas |
|
# or updateable user fields (see domainprefs.pm) |
|
# returns 1 parameter - ('ok' or other value). |
|
# |
|
############################### |
|
|
|
sub inst_usertypes { |
|
my ($dom,$usertypes,$order) = @_; |
|
@{$order} = (); |
|
%{$usertypes} = (); |
|
my $outcome = 'ok'; |
|
return $outcome; |
|
} |
|
|
|
############################### |
|
# sub AUTOLOAD |
|
# |
|
# Incoming data: none |
|
# Returns '' |
|
# |
|
# Prevents errors when undefined subroutines are called in this package |
|
# Will allow new routines added in the future to be called from lond etc. |
|
# without the need for customized versions of local*.pm packages to be |
|
# modified to include the new subroutines immediately. |
|
# |
|
# See "Programming Perl" 3rd ed. pp 296-298. |
|
############################### |
|
|
|
sub AUTOLOAD { |
|
our $AUTOLOAD; |
|
return ''; |
|
} |
|
|
1; |
1; |