. // show details of an app require_once('../inc/util_ops.inc'); $appid = get_int("appid"); function remove_old($avs) { foreach($avs as $av) { foreach ($avs as $av2) { if ($av->id == $av2->id) continue; if ($av->platformid == $av2->platformid && $av->plan_class == $av2->plan_class && $av->version_num > $av2->version_num) { $av2->deprecated = 1; } } } $x = array(); foreach($avs as $av) { if (!$av->deprecated) $x[] = $av; } return $x; } $app = BoincApp::lookup_id($appid); if (!$app) admin_error_page("no such app"); admin_page_head("Details for $app->name ($app->user_friendly_name)"); start_table(); row2("Min average efficiency", $app->min_avg_pfc); end_table(); echo "

App versions

\n"; $avs = BoincAppVersion::enum("appid=$appid"); $avs = remove_old($avs); foreach ($avs as $av) { $platform = BoincPlatform::lookup_id($av->platformid); start_table(); row2("ID", $av->id); row2("Platform", $platform->name); row2("Plan class", $av->plan_class); row2("Version num", $av->version_num); row2("Jobs validated", $av->pfc_n); row2("Average efficiency", $av->pfc_avg?1/$av->pfc_avg:"---"); row2("Credit scale factor", $av->pfc_scale); row2("Average credit", $av->expavg_credit); end_table(); } admin_page_tail(); ?>