BikePower
view release on metacpan or search on metacpan
BikePower/HTML.pm view on Meta::CPAN
if (cookie_key != "BikePower") continue;
var cookie_val = this_cookie.substring(endofcookiekey+1);
init_tokenizer(cookie_val, ":");
while(1) {
var valkey = get_next_token();
if (valkey == "") break;
get_key_val(valkey);
var val = token_val;
var key = token_key;
if (val == "frontalarea") {
document.personalsettings.frontalarea.selectedIndex = adjust_frontalarea(key);
} else if (val == "transeff") {
document.personalsettings.transeff.value = key;
} else if (val == "rollfriction") {
document.personalsettings.rollfriction.selectedIndex = adjust_rollfriction(key);
} else if (val == "weightcyclist") {
document.personalsettings.weightcyclist.value = key;
} else if (val == "weightmachine") {
document.personalsettings.weightmachine.value = key;
}
}
break;
}
return true;
}
// --></script>
EOF
$code;
}
sub new_from_cookie {
my $q = shift; # CGI object
my $raw_cookie = $q->raw_cookie;
return if !defined $raw_cookie || $raw_cookie eq '';
my(@cookies) = split(/;\s*/, $raw_cookie);
my %bikepower_def;
TRY_COOKIE: {
foreach (@cookies) {
my($name, $cookie_def) = split(/=/, $_, 2);
if ($name eq 'BikePower') {
foreach (split(/:/, $cookie_def)) {
my($key, $val) = split(/=/, $_);
$bikepower_def{$key} = $val;
}
last TRY_COOKIE;
}
}
return;
}
require BikePower;
my $bp_obj = new BikePower '-no-ini' => 1;
foreach (['frontalarea', 'A_c'],
['transeff', 'transmission_efficiency'],
['rollfriction', 'rolling_friction'],
['weightcyclist', 'weight_cyclist'],
['weightmachine', 'weight_machine'],
) {
my($cgidef, $method) = ($_->[0], $_->[1]);
if (exists $bikepower_def{$cgidef}) {
my $eval = '$bp_obj->' . $method . '($bikepower_def{$cgidef})';
eval $eval;
warn $@ if $@; # XXX
}
}
$bp_obj;
}
1;
__END__
( run in 1.597 second using v1.01-cache-2.11-cpan-5735350b133 )