Log Message:
-----------
added definition of sub check_user_id
Modified Files:
--------------
webwork2/lib/WeBWorK:
DB.pm
webwork2/lib/WeBWorK/ContentGenerator/Instructor:
UserList.pm
Revision Data
-------------
Index: DB.pm
===================================================================
RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/DB.pm,v
retrieving revision 1.110
retrieving revision 1.111
diff -Llib/WeBWorK/DB.pm -Llib/WeBWorK/DB.pm -u -r1.110 -r1.111
--- lib/WeBWorK/DB.pm
+++ lib/WeBWorK/DB.pm
@@ -1915,6 +1915,15 @@
# utilities
################################################################################
+sub check_user_id { # (valid characters are [-a-zA-Z0-9_.,])
+ my $value = shift;
+ if ($value =~ m/^[-a-zA-Z0-9_.]*,?(set_id:)?[-a-zA-Z0-9_.]*(,g)?$/ ) {
+ return 1;
+ } else {
+ croak "invalid characters in user_id field: '$value' (valid characters are [-a-zA-Z0-9_.,])";
+ return 0;
+ }
+}
# the (optional) second argument to checkKeyfields is to support versioned
# (gateway) sets, which may include commas in certain fields (in particular,
# set names (e.g., setDerivativeGateway,v1) and user names (e.g.,
@@ -1937,13 +1946,10 @@
croak "invalid characters in '$keyfield' field: '$value' (valid characters are [-a-zA-Z0-9_.,])"
unless $value =~ m/^[-a-zA-Z0-9_.,]*$/;
} elsif ($versioned and $keyfield eq "user_id") {
- croak "invalid characters in '$keyfield' field: '$value' (valid characters are [-a-zA-Z0-9_.,])"
- unless ( $value =~ m/^[-a-zA-Z0-9_.]*,?(set_id:)?[-a-zA-Z0-9_.]*(,g)?$/ );
+ check_user_id($value); # (valid characters are [-a-zA-Z0-9_.,]) see above.
} elsif ($keyfield eq "ip_mask") {
croak "invalid characters in '$keyfield' field: '$value' (valid characters are [-a-fA-F0-9_.:/])"
unless $value =~ m/^[-a-fA-F0-9_.:\/]*$/;
- } elsif ($keyfield eq "user_id") {
-
} else {
croak "invalid characters in '$keyfield' field: '$value' (valid characters are [-a-zA-Z0-9_.])"
@@ -1952,6 +1958,7 @@
}
}
+
# checkArgs spec syntax:
#
# spec = list_item | item*
Index: UserList.pm
===================================================================
RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm,v
retrieving revision 1.96
retrieving revision 1.97
diff -Llib/WeBWorK/ContentGenerator/Instructor/UserList.pm -Llib/WeBWorK/ContentGenerator/Instructor/UserList.pm -u -r1.96 -r1.97
--- lib/WeBWorK/ContentGenerator/Instructor/UserList.pm
+++ lib/WeBWorK/ContentGenerator/Instructor/UserList.pm
@@ -69,7 +69,7 @@
#use CGI qw(-nosticky );
use WeBWorK::CGI;
use WeBWorK::File::Classlist;
-use WeBWorK::DB;
+use WeBWorK::DB qw(check_user_id);
use WeBWorK::Utils qw(readFile readDirectory cryptPassword);
use constant HIDE_USERS_THRESHHOLD => 200;
use constant EDIT_FORMS => [qw(cancelEdit saveEdit)];
|