Ejemplo n.º 1
0
function authenticate_user($r, $app)
{
    $auth = (string) $r->authenticator;
    if (!$auth) {
        error("no authenticator");
    }
    $user = BoincUser::lookup("authenticator='{$auth}'");
    if (!$user) {
        error("bad authenticator");
    }
    $user_submit = BoincUserSubmit::lookup_userid($user->id);
    if (!$user_submit) {
        error("no submit access");
    }
    if ($app && !$user_submit->submit_all) {
        $usa = BoincUserSubmitApp::lookup("user_id={$user->id} and app_id={$app->id}");
        if (!$usa) {
            error("no submit access");
        }
    }
    return array($user, $user_submit);
}
Ejemplo n.º 2
0
function handle_edit_action()
{
    $user_id = get_int('user_id');
    $us = BoincUserSubmit::lookup_userid($user_id);
    if (!$us) {
        error_page("user not found");
    }
    BoincUserSubmitApp::delete_user($user_id);
    $submit_all = get_str('submit_all');
    if ($submit_all) {
        $us->update("submit_all=1");
    } else {
        $us->update("submit_all=0");
        $apps = BoincApp::enum("deprecated=0");
        foreach ($apps as $app) {
            $x = "app_{$app->id}";
            if (get_str($x, true)) {
                BoincUserSubmitApp::insert("(user_id, app_id) values ({$user_id}, {$app->id})");
            }
        }
    }
    $quota = (double) get_str('quota');
    if ($quota != $us->quota) {
        $us->update("quota={$quota}");
    }
    page_head("Update successful");
    echo "<a href=manage_project.php>Return to project-wide management functions</a>";
    page_tail();
}
Ejemplo n.º 3
0
function permissions_action($app)
{
    $busas = BoincUserSubmitApp::enum("app_id={$app->id}");
    foreach ($busas as $busa) {
        if (!get_str("user_{$busa->user_id}", true)) {
            BoincUserSubmitApp::delete_user($busa->user_id);
        }
    }
    $userid = get_int("new_user_id", true);
    if ($userid) {
        BoincUserSubmitApp::insert("(user_id, app_id) values ({$userid}, {$app->id})");
    }
    page_head("Update successful");
    echo "\n        <a href=manage_app.php?app_id={$app->id}>Return to application management page</a>\n    ";
    page_tail();
}
Ejemplo n.º 4
0
function eligible_apps()
{
    global $user;
    $apps = BoincApp::enum("deprecated = 0");
    $user_submit = BoincUserSubmit::lookup_userid($user->id);
    if (!$user_submit) {
        return null;
    }
    $a = array();
    foreach ($apps as $app) {
        if ($user_submit->submit_all) {
            $a[] = $app;
        } else {
            if (BoincUserSubmitApp::lookup("user_id={$user->id} and app_id={$app->id}")) {
                $a[] = $app;
            }
        }
    }
    return $a;
}
Ejemplo n.º 5
0
function check_access($user, $batch)
{
    if ($user->id == $batch->user_id) {
        return;
    }
    $user_submit = BoincUserSubmit::lookup_userid($user->id);
    if ($user_submit->manage_all) {
        return;
    }
    $usa = BoincUserSubmitApp::lookup("user_id={$user->id} and app_id={$batch->app_id}");
    if ($usa->manage) {
        return;
    }
    error_page("no access");
}
Ejemplo n.º 6
0
            submit_job($app, $batch_id, $info, $cmdline, $i);
            $i++;
        }
    }
}
$user = get_logged_in_user();
$user_submit = BoincUserSubmit::lookup_userid($user->id);
if (!$user_submit) {
    error_page("no submit access");
}
$app = BoincApp::lookup("name='lammps'");
if (!$app) {
    error_page("no lammps app");
}
if (!$user_submit->submit_all) {
    $usa = BoincUserSubmitApp::lookup("user_id={$user->id} and app_id={$app->id}");
    if (!$usa) {
        error_page("no submit access");
    }
}
$action = get_str('action', true);
switch ($action) {
    case '':
        show_submit_form($user);
        break;
    case 'prepare':
        prepare_batch($user);
        break;
    case 'submit':
        submit_batch($user, $app);
        break;
Ejemplo n.º 7
0
function handle_edit_action()
{
    $user_id = get_int('user_id');
    $us = BoincUserSubmit::lookup_userid($user_id);
    if (!$us) {
        error_page("user not found");
    }
    BoincUserSubmitApp::delete_user($user_id);
    $submit_all = get_str('submit_all');
    if ($submit_all) {
        $us->update("submit_all=1");
    } else {
        $us->update("submit_all=0");
        $apps = BoincApp::enum("deprecated=0");
        foreach ($apps as $app) {
            $x = "app_{$app->id}";
            if (get_str($x, true)) {
                BoincUserSubmitApp::insert("(user_id, app_id) values ({$user_id}, {$app->id})");
            }
        }
    }
    $quota = (double) get_str('quota');
    if ($quota != $us->quota) {
        $us->update("quota={$quota}");
    }
    $mj = (int) get_str('max_jobs_in_progress');
    if ($mj != $us->max_jobs_in_progress) {
        $us->update("max_jobs_in_progress={$mj}");
    }
    header('Location: manage_project.php');
}