Beispiel #1
0
function get_output_file($instance_name, $file_num, $auth_str)
{
    $result = BoincResult::lookup_name(BoincDb::escape_string($instance_name));
    if (!$result) {
        die("no job instance {$instance_name}");
    }
    $workunit = BoincWorkunit::lookup_id($result->workunitid);
    if (!$workunit) {
        die("no job {$result->workunitid}");
    }
    $batch = BoincBatch::lookup_id($workunit->batch);
    if (!$batch) {
        die("no batch {$workunit->batch}");
    }
    $user = BoincUser::lookup_id($batch->user_id);
    if (!$user) {
        die("no user {$batch->user_id}");
    }
    $x = md5($user->authenticator . $result->name);
    if ($x != $auth_str) {
        die("bad auth str");
    }
    $names = get_outfile_names($result);
    if ($file_num >= count($names)) {
        die("bad file num: {$file_num} > " . count($names));
    }
    $name = $names[$file_num];
    $fanout = parse_config(get_config(), "<uldl_dir_fanout>");
    $upload_dir = parse_config(get_config(), "<upload_dir>");
    $path = dir_hier_path($name, $upload_dir, $fanout);
    if (!is_file($path)) {
        die("no such file {$path}");
    }
    do_download($path);
}
Beispiel #2
0
// Copyright (C) 2008 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC.  If not, see <http://www.gnu.org/licenses/>.
// show a result
require_once "../inc/util.inc";
require_once "../inc/result.inc";
$x = get_int("resultid", true);
if ($x) {
    $result = BoincResult::lookup_id($x);
} else {
    $x = get_str("result_name");
    $result = BoincResult::lookup_name($x);
}
if (!$result) {
    error_page(tra("No such task:") . " " . htmlspecialchars($x));
    // the htmlspecialchars prevents XSS
}
page_head(tra("Task") . " " . htmlspecialchars($x));
show_result($result);
page_tail();