--- loncom/enrollment/localenroll.pm 2006/10/16 19:18:19 1.17 +++ loncom/enrollment/localenroll.pm 2007/02/26 20:52:55 1.18 @@ -1,6 +1,6 @@ # functions to glue school database system into Lon-CAPA for # automated enrollment -# $Id: localenroll.pm,v 1.17 2006/10/16 19:18:19 raeburn Exp $ +# $Id: localenroll.pm,v 1.18 2007/02/26 20:52:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -304,7 +304,7 @@ sub create_password { # # Incoming data: # $dom (domain) -# $$instcodes{'43551dedcd43febmsul1'} = 'Title of course' (hash of courseIDs) +# $$instcodes{'43551dedcd43febmsul1'} = 'fs03nop590' (hash of courseIDs) # # fs03nop590 would be split as follows # @{$codetitles} = ("year","semester","department","number") @@ -474,6 +474,95 @@ sub instcode_defaults { 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 two 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. +# +# 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) = @_; + 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) = @_; + my $outcome = 'ok'; + return $outcome; +} ############################### # sub AUTOLOAD