--- loncom/LONCAPA.pm 2006/12/09 23:34:42 1.20 +++ loncom/LONCAPA.pm 2007/01/10 20:22:30 1.23 @@ -1,7 +1,7 @@ # The LearningOnline Network # Base routines # -# $Id: LONCAPA.pm,v 1.20 2006/12/09 23:34:42 albertel Exp $ +# $Id: LONCAPA.pm,v 1.23 2007/01/10 20:22:30 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -43,6 +43,7 @@ use vars qw($match_domain $match_not_d $match_username $match_not_username $match_courseid $match_not_courseid $match_name + $match_lonid $match_handle $match_not_handle); require Exporter; @@ -54,11 +55,13 @@ our @EXPORT_OK = qw($match_domain $mat $match_username $match_not_username $match_courseid $match_not_courseid $match_name + $match_lonid $match_handle $match_not_handle); our %EXPORT_TAGS = ( 'match' =>[qw($match_domain $match_not_domain $match_username $match_not_username $match_courseid $match_not_courseid $match_name + $match_lonid $match_handle $match_not_handle)],); my %perlvar; @@ -110,11 +113,11 @@ sub clean_domain { return $domain; } -$match_username = $LONCAPA::username_re = qr{[\w\-.]+}; +$match_username = $LONCAPA::username_re = qr{\w[\w\-.]+}; $match_not_username = $LONCAPA::not_username_re = qr{[^\w\-.]+}; sub clean_username { my ($username) = @_; - $username =~ s/^\d+//; + $username =~ s/^\W+//; $username =~ s/$match_not_username//g; return $username; } @@ -122,14 +125,22 @@ sub clean_username { $match_courseid = $LONCAPA::courseid_re = qr{\d[\w\-.]+}; $match_not_courseid = $LONCAPA::not_courseid_re = qr{[^\w\-.]+}; +sub clean_courseid { + my ($courseid) = @_; + $courseid =~ s/^\D+//; + $courseid =~ s/$match_not_courseid//g; + return $courseid; +} -$match_name = $LONCAPA::name = qr{$match_username|$match_courseid}; +$match_name = $LONCAPA::name_re = qr{$match_username|$match_courseid}; sub clean_name { my ($name) = @_; $name =~ s/$match_not_username//g; return $name; } +$match_lonid = $LONCAPA::lonid_re = qr{[\w\-.]+}; + sub split_courseid { my ($courseid) = @_; my ($domain,$coursenum) =