--- loncom/enrollment/localenroll.pm 2007/08/28 20:04:50 1.23 +++ loncom/enrollment/localenroll.pm 2007/09/12 19:49:37 1.25 @@ -1,6 +1,6 @@ # functions to glue school database system into Lon-CAPA for # automated enrollment -# $Id: localenroll.pm,v 1.23 2007/08/28 20:04:50 albertel Exp $ +# $Id: localenroll.pm,v 1.25 2007/09/12 19:49:37 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -496,7 +496,8 @@ sub instcode_defaults { # 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). +# returns 1 parameter - 'ok' if no processing error, or other value +# if an error occurred. # side effects - populates the $instusers and $instids refs to hashes. # with information for all users from all available # institutional datafeeds. @@ -546,18 +547,26 @@ sub allusers_info { # (i) $srchtype - optional. Allowed values: contains, begins (defaults # to exact match otherwise). # -# returns 1 parameter - ('ok' or other value). +# returns 1 parameter - 'ok' if no processing error, or other value +# if an error occurred. # 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. +# +# WARNING: You need to set $outcome to 'ok' once you have customized +# this routine to communicate with an instititional +# directory data source, otherwise institutional directory +# searches will always be reported as being unavailable +# in domain $dom. +# ############################### sub get_userinfo { my ($dom,$uname,$id,$instusers,$instids,$types, $srchby,$srchterm,$srchtype) = @_; - my $outcome = 'ok'; + my $outcome = 'unavailable'; return $outcome; } @@ -574,7 +583,8 @@ sub get_userinfo { # 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). +# returns 1 parameter - 'ok' if no processing error, or other value +# if an error occurred. # ############################### @@ -587,6 +597,62 @@ sub inst_usertypes { } ############################### +# sub username_rules +# +# Incoming data: three arguments +# (a) $dom - domain +# (b) $ruleshash - reference to hash containing rules +# (a hash of a hash) +# keys of top level hash are short names +# (e.g., netid, noncredit) +# for each key, value is a hash +# desc => long name for rule +# rule => description of rule +# authtype => (krb5,krb4,int, or loc) +# authentication type for rule +# authparm => authentication parameter for rule +# authparmfixed => 1 if authparm used when +# creating user for rule must be authparm +# authmsg => Message to display describing +# authentication to use for this rule +# +# (c) $rulesorder - reference to array containing rule names +# in order to be displayed + +# +# returns 'ok' if no processing error. +# +############################### + +sub username_rules { + my ($dom,$ruleshash,$rulesorder) = @_; + my $outcome; + return $outcome; +} + +############################### +# sub check_username +# +# Incoming data: four arguments +# (a) $dom - domain (scalar) +# (b) $uname - username to compare against rules (scalar) +# (c) $to_check (reference to array of rule names to check) +# (d) $resultshash (reference to hash of results) +# hash of results for rule checked +# - keys are rule names +# - values are: 1 or 0 (for matched or unmatched) +# +# returns 'ok' if no processing error. +# +############################### + +sub username_check { + my ($dom,$uname,$to_check,$resultshash) = @_; + my $outcome; + return $outcome; +} + +############################### # sub AUTOLOAD # # Incoming data: none