Log Message:
-----------
groundwork for preserving non-authentication state (which probably won't
get used)
Modified Files:
--------------
webwork2/lib/WeBWorK:
ContentGenerator.pm
Revision Data
-------------
Index: ContentGenerator.pm
===================================================================
RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator.pm,v
retrieving revision 1.142
retrieving revision 1.143
diff -Llib/WeBWorK/ContentGenerator.pm -Llib/WeBWorK/ContentGenerator.pm -u -r1.142 -r1.143
--- lib/WeBWorK/ContentGenerator.pm
+++ lib/WeBWorK/ContentGenerator.pm
@@ -489,6 +489,22 @@
my $grades = $urlpath->newFromModule("${pfx}Grades", %args);
my $logout = $urlpath->newFromModule("${pfx}Logout", %args);
+ # experimental subroutine for generating links, to clean up the rest of the
+ # code. ignore for now. (this is a closure over $self and $urlpath.)
+ #my $makelink = sub {
+ # my ($module, $args, $name) = @_;
+ #
+ # defined $args or $args = {};
+ # my $new_urlpath = $urlpath->newFromModule($module, %$args);
+ #
+ # defined $name or $name = $new_urlpath->name;
+ # $name = sp2nbsp($name); # i don't like it, but that's what we do...
+ #
+ # return CGI::a({href => $self->systemLink($new_urlpath)}, $name);
+ #};
+ #
+ #my $home_link = &$makelink("${pfx}Home");
+
print "\n<!-- BEGIN " . __PACKAGE__ . "::links -->\n";
# only users with appropriate permissions can report bugs
@@ -1422,6 +1438,23 @@
}
}
+=item hidden_state_fields()
+
+Use hidden_fields to return hidden <INPUT> tags for request fields used to
+maintain state. Currently includes authentication fields and display option
+fields.
+
+=cut
+
+sub hidden_state_fields {
+ my ($self) = @_;
+
+ return $self->hidden_authen_fields();
+
+ # other things that may be state data:
+ #$self->hidden_fields("displayMode", "showOldAnswers", "showCorrectAnswers", "showHints", "showSolutions");
+}
+
=item url_args(@fields)
Return a URL query string (without the leading `?') containing values for each
@@ -1460,50 +1493,70 @@
return $self->url_args("user", "effectiveUser", "key");
}
-=item url_display_args()
+=item url_state_args()
-Use url_args to return a URL query string for request fields used in
-authentication.
+Use url_args to return a URL query string for request fields used to maintain
+state. Currently includes authentication fields and display option fields.
=cut
-sub url_display_args {
+sub url_state_args {
my ($self) = @_;
- return $self->url_args("displayMode", "showOldAnswer");
-}
-
-=item print_form_data($begin, $middle, $end, $omit)
-
-Return a string containing every request field not matched by the quoted reguar
-expression $omit, placing $begin before each field name, $middle between each
-field name and its value, and $end after each value. Values are taken from the
-current request.
-
-=cut
-
-sub print_form_data {
- my ($self, $begin, $middle, $end, $qr_omit) = @_;
- my $r=$self->r;
- my @form_data = $r->param;
+ return $self->url_authen_args;
- my $return_string = "";
- foreach my $name (@form_data) {
- next if ($qr_omit and $name =~ /$qr_omit/);
- my @values = $r->param($name);
- foreach my $variable (qw(begin name middle value end)) {
- # FIXME: can this loop be moved out of the enclosing loop?
- no strict 'refs';
- ${$variable} = "" unless defined ${$variable};
- }
- foreach my $value (@values) {
- $return_string .= "$begin$name$middle$value$end";
- }
- }
-
- return $return_string;
+ # other things that may be state data:
+ #$self->url_args("displayMode", "showOldAnswers", "showCorrectAnswers", "showHints", "showSolutions");
}
+# This method is not used anywhere! --sam(1-Aug-05)
+#
+#=item url_display_args()
+#
+#Use url_args to return a URL query string for request fields used in
+#authentication.
+#
+#=cut
+#
+#sub url_display_args {
+# my ($self) = @_;
+#
+# return $self->url_args("displayMode", "showOldAnswer");
+#}
+
+# This method is not used anywhere! --sam(1-Aug-05)
+#
+#=item print_form_data($begin, $middle, $end, $omit)
+#
+#Return a string containing every request field not matched by the quoted reguar
+#expression $omit, placing $begin before each field name, $middle between each
+#field name and its value, and $end after each value. Values are taken from the
+#current request.
+#
+#=cut
+#
+#sub print_form_data {
+# my ($self, $begin, $middle, $end, $qr_omit) = @_;
+# my $r=$self->r;
+# my @form_data = $r->param;
+#
+# my $return_string = "";
+# foreach my $name (@form_data) {
+# next if ($qr_omit and $name =~ /$qr_omit/);
+# my @values = $r->param($name);
+# foreach my $variable (qw(begin name middle value end)) {
+# # FIXME: can this loop be moved out of the enclosing loop?
+# no strict 'refs';
+# ${$variable} = "" unless defined ${$variable};
+# }
+# foreach my $value (@values) {
+# $return_string .= "$begin$name$middle$value$end";
+# }
+# }
+#
+# return $return_string;
+#}
+
=back
=cut
|