. // Interface for controlling user permissions to submit jobs require_once("../inc/submit_db.inc"); require_once("../inc/util.inc"); require_once("../inc/util_ops.inc"); function user_row($u) { $user = BoincUser::lookup_id($u->user_id); echo " $user->name
$user->email_addr "; echo ""; if ($u->all_apps) { echo "All\n"; } else { $uas = BoincUserSubmitApp::enum("user_id=$u->user_id"); foreach ($uas as $ua) { $app = BoincApp::lookup_id($ua->app_id); echo "$app->name "; } } echo "\n"; echo "$u->quota\n"; echo " user_id>Edit "; } function handle_list() { admin_page_head("User job submission permissions"); $us = BoincUserSubmit::enum(""); start_table(); table_header("User", "Applications", "Quota", ""); foreach ($us as $u) { user_row($u); } end_table(); show_button("submit_permissions.php?action=add_form", "Add user", "Add user"); admin_page_tail(); } function handle_edit_form() { $user_id = get_int('user_id'); $user = BoincUser::lookup_id($user_id); $usub = BoincUserSubmit::lookup_userid($user_id); admin_page_head("Edit user job submission permissions for $user->name"); echo "
"; if ($usub->all_apps) { $all_checked = "checked"; $not_all_checked = ""; } else { $all_checked = ""; $not_all_checked = "checked"; } echo " All apps
Only selected apps: "; $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 "
    id $checked> $app->name\n"; } $q = (string) $usub->quota; echo "

Quota:

"; admin_page_tail(); } function handle_edit_action() { $user_id = get_int('user_id'); $us = BoincUserSubmit::lookup_userid($user_id); if (!$us) admin_error_page("user not found"); BoincUserSubmitApp::delete_user($user_id); $all_apps = get_str('all_apps'); if ($all_apps) { $us->update("all_apps=1"); } else { $us->update("all_apps=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"); } admin_page_head("User permissions updated"); admin_page_tail(); } function handle_add_form() { admin_page_head("Add user"); echo "
User ID:
"; admin_page_tail(); } function handle_add_action() { $user_id = get_int('user_id'); $user = BoincUser::lookup_id($user_id); if (!$user) admin_error_page("no such user"); $us = BoincUserSubmit::lookup_userid($user_id); if (!$us) { if (!BoincUserSubmit::insert("(user_id) values ($user_id)")) { admin_error_page("Insert failed"); } } header("Location: submit_permissions.php?action=edit_form&user_id=$user_id"); } $action = get_str('action', true); switch ($action) { case 'list': case '': handle_list(); break; case 'add_form': handle_add_form(); break; case 'add_action': handle_add_action(); break; case 'edit_form': handle_edit_form(); break; case 'edit_action': handle_edit_action(); break; default: admin_error_page("unknown action: $action"); } ?>