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.265 second using v1.01-cache-2.11-cpan-d6f9594c0a5 )