function set_preferences($user_urn, $preferences) { global $possible_prefs; $conn = portal_conn(); $db_user_urn = $conn->quote($user_urn, "text"); $success_string = ""; foreach ($preferences as $pref_name => $pref_value) { if (array_key_exists($pref_name, $possible_prefs)) { if (in_array($pref_value, $possible_prefs[$pref_name])) { $pref_name = $conn->quote($pref_name, "text"); $pref_value = $conn->quote($pref_value, "text"); $sql = "UPDATE user_preferences SET preference_value={$pref_value} " . "WHERE user_urn={$db_user_urn} and preference_name={$pref_name}; " . "INSERT INTO user_preferences (user_urn, preference_name, preference_value) " . "SELECT {$db_user_urn}, {$pref_name}, {$pref_value} " . "WHERE NOT EXISTS (SELECT 1 FROM user_preferences WHERE user_urn={$db_user_urn} and preference_name={$pref_name});"; $db_response = db_execute_statement($sql, "Update user preferences"); $db_error = $db_response[RESPONSE_ARGUMENT::OUTPUT]; if ($db_error == "") { $success_string = "Preferences saved."; } else { print "Error while saving preferences. Please try again."; error_log("DB error when updating user_preferences table: " . $db_error); } } else { error_log("Tried to set {$pref_name} to invalid value {$pref_value} for user {$user_urn}"); } } else { error_log("Tried to set invalid preference {$pref_name} for user {$user_urn}"); } } print $success_string; }
function get_preference($user_urn, $preference) { global $possible_prefs; $conn = portal_conn(); if (array_key_exists($preference, $possible_prefs)) { $sql = "SELECT * from user_preferences " . "where user_urn = " . $conn->quote($user_urn, 'text') . "and preference_name = " . $conn->quote($preference, 'text'); $db_res = db_fetch_row($sql); $db_response = db_fetch_row($sql, "Get user preference"); $db_error = $db_response[RESPONSE_ARGUMENT::OUTPUT]; $default_option = $possible_prefs[$preference][0]; if ($db_error != "") { // TODO: What do we do here error_log("DB error when getting row from user_preferences table: " . $db_error); return $default_option; } else { if ($db_response[RESPONSE_ARGUMENT::VALUE]['preference_value']) { return $db_response[RESPONSE_ARGUMENT::VALUE]['preference_value']; } else { return $default_option; } } } else { error_log("Unknown preference '{$preference}' requested for user '{$user_urn}'"); return ""; } }
function handle_lead_request($request_id, $new_status, $approver, $user_uid, $reason, $signer) { $ma_url = get_first_service_of_type(SR_SERVICE_TYPE::MEMBER_AUTHORITY); $conn = portal_conn(); if ($new_status == "approved") { $response = add_member_privilege($ma_url, $signer, $user_uid, "PROJECT_LEAD"); if (!$response) { error_log("User {$user_uid} already a project lead, cannot be made a project lead"); } else { send_approved_mail(geni_load_user_by_member_id($user_uid), $reason, $approver); } } $sql = "UPDATE lead_request set " . "status = " . $conn->quote($new_status, 'text') . ", " . "reason = " . $conn->quote($reason, 'text') . ", " . "approver = " . $conn->quote($approver, 'text') . "where id = " . $conn->quote($request_id, 'text'); $db_response = db_execute_statement($sql, "Update lead request id#:" . $request_id); $db_error = $db_response[RESPONSE_ARGUMENT::OUTPUT]; if ($db_error == "") { print "Response successfully stored"; } else { print "DB error: " . $db_error; error_log("DB error when updating lead request table: " . $db_error); } }
function store_lead_request($urn, $uuid, $eppn) { $conn = portal_conn(); $sql = "INSERT into lead_request " . "(requester_urn, requester_uuid, requester_eppn) " . "values (" . $conn->quote($urn, 'text') . ", " . $conn->quote($uuid, 'text') . ", " . $conn->quote($eppn, 'text') . ")"; $db_response = db_execute_statement($sql, "insert lead request", true); $db_error = $db_response[RESPONSE_ARGUMENT::OUTPUT]; if ($db_error != "") { error_log("DB error when adding note to lead request table: " . $db_error); } }
function delete_speaks_for($token) { $conn = portal_conn(); $q_token = $conn->quote($token, 'text'); $sql = 'DELETE FROM speaks_for'; $sql .= ' WHERE token = ' . $q_token; /* print "Query = $sql<br/>"; */ $result = db_execute_statement($sql, "delete_speaks_for"); if ($result[RESPONSE_ARGUMENT::CODE] != RESPONSE_ERROR::NONE) { $msg = "delete_speaks_for: " . $result[RESPONSE_ARGUMENT::OUTPUT]; geni_syslog(GENI_SYSLOG_PREFIX::PORTAL, $msg); error_log($msg); return FALSE; } else { return TRUE; } }
function quotify($str) { $conn = portal_conn(); return $conn->quote($str); }
<li><a href='#leadrequests'>Lead Requests</a></li> <li><a href='#usersearch'>User Search</a></li> <li style="border-right: none"><a href='#slicesearch'>Slice Search</a></li> </ul> </div> <div id ='loading' style='display: none;'><h2 style="border: 0px; text-align: center;">Loading...</h2></div> <div style='text-align:center; font-weight: bold;' id='resultsbox'></div> <div id='leadrequests'> <h2>Open lead requests</h2> <?php // Find open lead requests and display table with information about the requesters $ma_url = get_first_service_of_type(SR_SERVICE_TYPE::MEMBER_AUTHORITY); $conn = portal_conn(); $sql = "SELECT *" . " FROM lead_request WHERE status='open'"; $rows = db_fetch_rows($sql, "fetch all lead requests for admin page"); $lead_requests = $rows[RESPONSE_ARGUMENT::VALUE]; $requester_uuids = array(); foreach ($lead_requests as $lead_request) { $requester_uuids[] = $lead_request['requester_uuid']; } $requester_details = lookup_member_details($ma_url, $user, $requester_uuids); print "<table><tr><th>Name</th><th>Link</th><th>Requested At</th><th>Email</th><th>Admin Notes</th><th>Actions</th></tr>"; $open_requests = 0; foreach ($lead_requests as $lead_request) { $requester_uuid = $lead_request['requester_uuid']; $notes = $lead_request['notes'] == "" ? "None" : $lead_request['notes']; $timestamp = dateUIFormat($lead_request['request_ts']); $request_id = $lead_request['id'];