function make_interested_parties($entity, $entityID, $encoded_parties = array()) { // Nuke entries from interestedParty $db = new db_alloc(); $db->start_transaction(); // Add entries to interestedParty if (is_array($encoded_parties)) { foreach ($encoded_parties as $encoded) { $info = interestedParty::get_decoded_interested_party_identifier($encoded); $info["entity"] = $entity; $info["entityID"] = $entityID; $info["emailAddress"] or $info["emailAddress"] = $info["email"]; $ipIDs[] = interestedParty::add_interested_party($info); } } $q = prepare("UPDATE interestedParty\n SET interestedPartyActive = 0\n WHERE entity = '%s'\n AND entityID = %d", $entity, $entityID); $ipIDs and $q .= " AND " . sprintf_implode(" AND ", "interestedPartyID != %d", $ipIDs); $db->query($q); $db->commit(); }