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 )