Example #1
0
function search_for_users($term, $search_type, $signer, $ma_url)
{
    if ($search_type == "email") {
        $results = lookup_members_by_email($ma_url, $signer, array($term));
        return $results[$term];
    } else {
        if ($search_type == "lastname") {
            $searchkey = "MEMBER_LASTNAME";
        } else {
            $searchkey = "MEMBER_USERNAME";
        }
        $results = ma_lookup_members_by_identifying($ma_url, $signer, $searchkey, $term);
        $ids = array();
        foreach ($results as $member) {
            $ids[] = $member->member_id;
        }
        return $ids;
    }
}
Example #2
0
function search_for_slices($term, $search_type, $signer, $ma_url, $sa_url)
{
    if ($search_type == "urn") {
        if (is_valid_urn($term)) {
            // don't redirect to the error page if you can't find a slice
            global $put_message_result_handler;
            $put_message_result_handler = 'no_redirect_result_handler';
            $results = lookup_slice_by_urn($sa_url, $signer, $term);
        } else {
            print "<p>Error: invalid URN</p>";
            return array();
        }
        if (count($results) > 0) {
            return lookup_slice_details($sa_url, $signer, array($results[0]));
        } else {
            return array();
        }
    } else {
        if ($search_type == "owner_email") {
            $email_results = lookup_members_by_email($ma_url, $signer, array($term));
            if (count($email_results) > 0) {
                $member_ids_arr = $email_results[$term];
                $member_id = $member_ids_arr[0];
                $slices = get_slices_for_member($sa_url, $signer, $member_id, true);
                $slice_ids = array();
                foreach ($slices as $slice) {
                    if ($slice[SA_SLICE_MEMBER_TABLE_FIELDNAME::ROLE] == CS_ATTRIBUTE_TYPE::LEAD && $slice[SA_SLICE_TABLE_FIELDNAME::EXPIRED] != 1) {
                        $slice_ids[] = $slice[SA_SLICE_TABLE_FIELDNAME::SLICE_ID];
                    }
                }
                return lookup_slice_details($sa_url, $signer, $slice_ids);
            } else {
                return array();
            }
        } else {
            print "<p>Error: searching by {$search_type} not yet implemented</p>";
            return array();
        }
    }
}
 $invitee_string = $_REQUEST["to"];
 // split on ,;
 $invitees = preg_split("/[\\s,;]+/", $invitee_string);
 for ($i = 0; $i < count($invitees); $i++) {
     $invitees[$i] = trim($invitees[$i]);
     $invitees[$i] = filter_var($invitees[$i], FILTER_SANITIZE_EMAIL);
     if (!filter_var($invitees[$i], FILTER_VALIDATE_EMAIL)) {
         //error_log("invite-to-project Skipping invitee " . $invitees[$i] . " that seems invalid");
         if ($skips !== "") {
             $skips = $skips . ", ";
         }
         $skips = $skips . $invitees[$i];
         $invitees[$i] = null;
     }
     //Now check if invitee is already in project
     $members_by_email = lookup_members_by_email($ma_url, $user, $invitees);
     $members_by_email = array_change_key_case($members_by_email, CASE_LOWER);
     $project_members = get_project_members($sa_url, $user, $project_id);
     $project_member_ids = array();
     foreach ($project_members as $project_member) {
         $project_member_id = $project_member[PA_PROJECT_MEMBER_TABLE_FIELDNAME::MEMBER_ID];
         $project_member_ids[] = $project_member_id;
     }
     foreach ($members_by_email as $member_array) {
         $member_id = $member_array[0];
         $is_member = $member_id != null && in_array($member_id, $project_member_ids);
         if ($is_member) {
             if ($in_projects !== "") {
                 $in_projects = $in_projects . ", ";
             }
             $in_projects = $in_projects . $invitees[$i];
        if ($skips !== "") {
            $skips = $skips . ", ";
        }
        $skips = $skips . $email;
        continue;
    }
    $name = trim($parts[1]);
    $role = null;
    if (count($parts) > 2) {
        $role = trim($parts[2]);
    }
    $names_by_email[$email] = $name;
    $roles_by_email[$email] = $role;
}
if (count(array_keys($names_by_email)) > 0) {
    $members_by_email = lookup_members_by_email($ma_url, $user, array_keys($names_by_email));
    $members_by_email = array_change_key_case($members_by_email, CASE_LOWER);
}
//error_log("NBE = " . print_r($names_by_email, true));
//error_log("RBE = " . print_r($roles_by_email, true));
foreach ($names_by_email as $email => $name) {
    $member_id = null;
    $recognized = "No";
    $role = null;
    if (array_key_exists(strtolower($email), $members_by_email) && count($members_by_email[strtolower($email)] == 1)) {
        $member_id = $members_by_email[strtolower($email)][0];
        $recognized = "Yes";
    }
    if (array_key_exists(strtolower($email), array_change_key_case($roles_by_email)) && count($roles_by_email[strtolower($email)] == 1)) {
        $role = $roles_by_email[$email];
    }