AnnoCPAN
view release on metacpan or search on metacpan
lib/AnnoCPAN/Control.pm view on Meta::CPAN
sub Prefs {
my ($self) = @_;
return $self->error("Can't edit prefs without logging in first!")
unless $self->user;
({}, 'prefs');
}
sub Save_prefs {
my ($self) = @_;
# XXX untaint
my $user = $self->user;
return $self->error("Can't edit prefs without logging in first!")
unless $user;
AnnoCPAN::DBI::Prefs->search(user => $user)->delete_all;
for my $name (@{AnnoCPAN::Config->option('prefs')}) {
AnnoCPAN::DBI::Prefs->create({user => $user, name => $name,
value => $self->param($name) || '' });
}
({ message => 'Preferences saved'}, 'prefs');
}
tt/prefs.html view on Meta::CPAN
<label for="js">JavaScript</label>
<input type="checkbox" class="checkbox" id="js" name="js" [% chk IF prefs('js') %] value="1"><br>
<label for="style">Style</label>
<select id="style" name="style" class="text">
[% FOR type = styles %]
<option [% 'selected="selected"' IF type == prefs('style') %]>[% type %]</option>
[% END %]
</select><br>
<label for="tol" class="text">Uncertainty threshold</label>
<select id="tol" name="tol" class="text">
[% FOR val = [50,60,70,80,90,100] %]
<option [% 'selected="selected"' IF val == prefs('tol') %]>[% val %]</option>
[% END %]
</select> %<br>
<input type="submit" class="text"><br>
</form>
( run in 0.362 second using v1.01-cache-2.11-cpan-d6f9594c0a5 )