$r->{A} = $nassoc;
}
-sub _check ($) {
+sub _check_core ($) {
my ($r) = @_;
my $qassoc = $r->_cm('get_param');
my ($nassoc,$nmutate);
return ($nusername, $nassoc, $nmutate);
}
-sub check ($) {
+sub _check ($) {
my ($r) = @_;
- my ($nusername, $nassoc, $nmutate) = $r->_check() or return undef;
-
- $dbh->do("UPDATE $r->{S}{assocdb_table}".
- " SET last = ?".
- " WHERE associd = ?", {}, time, $nassoc);
- $dbh->do("COMMIT");
-
- $r->{Username} = $nusername;
- $r->{Assoc} = $nassoc;
- $r->{Mutate} = $nmutate;
- return $nusername;
-}
+ return if exists $r->{Username};
+ ($r->{Username}, $r->{Assoc}, $r->{Mutate}) = $r->_check();
-sub check_mutate ($) {
- my ($r) = @_;
+ if (defined $r->{Assoc}) {
+ $dbh->do("UPDATE $r->{S}{assocdb_table}".
+ " SET last = ?".
+ " WHERE associd = ?", {}, time, $nassoc);
+ $dbh->do("COMMIT");
+ }
}
sub logout ($) {
return $nusername;
}
+sub check ($) {
+ my ($r) = @_;
+ $r->_check();
+ return !!defined $r->{Username};
+}
+
+sub check_mutate ($) {
+ my ($r) = @_;
+ $r->check();
+ return $r->{Mutate};
+}
+
sub username ($) {
my ($r) = @_;
+ $r->check();
return $r->{Username};
sub hidden_val ($) {
my ($r) = @_;
+ $r->check();
return defined $r->{Assoc} ? $r->{Assoc} : '';
}
+#---------- simple wrappers ----------
+
sub hidden_hargs ($) {
my ($r) = @_;
return (-name => $r->{S}{param_name},