コード例 #1
0
function handle_edit_form()
{
    $user_id = get_int('user_id');
    $user = BoincUser::lookup_id($user_id);
    $usub = BoincUserSubmit::lookup_userid($user_id);
    page_head("Permissions for {$user->name}");
    echo "\n        {$user->name} is allowed to submit jobs for:\n        <p>\n        <form action=manage_project.php>\n        <input type=hidden name=action value=edit_action>\n        <input type=hidden name=user_id value={$user_id}>\n    ";
    if ($usub->submit_all) {
        $all_checked = "checked";
        $not_all_checked = "";
    } else {
        $all_checked = "";
        $not_all_checked = "checked";
    }
    echo "<input type=radio name=submit_all value=1 {$all_checked}> All apps\n        <br>\n        <input type=radio name=submit_all value=0 {$not_all_checked}> Only selected apps:\n    ";
    $apps = BoincApp::enum("deprecated=0");
    foreach ($apps as $app) {
        $us = BoincUserSubmitApp::lookup("user_id={$user_id} and app_id={$app->id}");
        $checked = $us ? "checked" : "";
        echo "<br>&nbsp;&nbsp;&nbsp; <input type=checkbox name=app_{$app->id} {$checked}> {$app->name}\n";
    }
    $q = (string) $usub->quota;
    $sav = $usub->create_app_versions ? "checked" : "";
    $sa = $usub->create_apps ? "checked" : "";
    echo "\n        <p>\n        Quota: <input name=quota value={$q}>\n        This determines how much computing capacity is allocated to {$user->name}.\n        <p>\n        <input type=submit value=OK>\n        </form>\n        <p>\n        <a href=manage_project.php>Return to project-wide management functions</a>\n    ";
    page_tail();
}
コード例 #2
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);
}
コード例 #3
0
ファイル: manage_app.php プロジェクト: CalvinZhu/boinc
    page_head("Update successful");
    echo "\n        <a href=manage_app.php?app_id={$app->id}>Return to application management page</a>\n    ";
    page_tail();
}
$user = get_logged_in_user();
$app_id = get_int("app_id");
$app = BoincApp::lookup_id($app_id);
if (!$app) {
    error_page("no such app");
}
$bus = BoincUserSubmit::lookup_userid($user->id);
if (!$bus) {
    error_page("no access");
}
if (!$bus->manage_all) {
    $busa = BoincUserSubmitApp::lookup("user_id={$user->id} and app_id={$app_id}");
    if (!$busa || !$busa->manage) {
        error_page("no access");
    }
}
$action = get_str("action", true);
switch ($action) {
    //case "":
    //    main_page($app); break;
    case "app_version_form":
        app_version_form($app);
        break;
    case "app_version_action":
        app_version_action($app);
        break;
        //case "permissions_form":
コード例 #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;
}
コード例 #5
0
ファイル: submit.php プロジェクト: CalvinZhu/boinc
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");
}