Пример #1
0
 function add_interested_party($data)
 {
     static $people;
     $data["emailAddress"] = str_replace(array("<", ">"), "", $data["emailAddress"]);
     // Add new entry
     $ip = new interestedParty();
     $existing = interestedParty::exists($data["entity"], $data["entityID"], $data["emailAddress"]);
     if ($existing) {
         $ip->set_id($existing["interestedPartyID"]);
         $ip->select();
     }
     $ip->set_value("entity", $data["entity"]);
     $ip->set_value("entityID", $data["entityID"]);
     $ip->set_value("fullName", $data["name"]);
     $ip->set_value("emailAddress", $data["emailAddress"]);
     $ip->set_value("interestedPartyActive", 1);
     if ($data["personID"]) {
         $ip->set_value("personID", $data["personID"]);
         $ip->set_value("fullName", person::get_fullname($data["personID"]));
     } else {
         $people or $people =& get_cached_table("person");
         foreach ($people as $personID => $p) {
             if ($data["emailAddress"] && same_email_address($p["emailAddress"], $data["emailAddress"])) {
                 $ip->set_value("personID", $personID);
                 $ip->set_value("fullName", $p["name"]);
             }
         }
     }
     $extra_interested_parties = config::get_config_item("defaultInterestedParties");
     if (!$ip->get_value("personID") && !in_array($data["emailAddress"], (array) $extra_interested_parties)) {
         $ip->set_value("external", 1);
         $q = prepare("SELECT * FROM clientContact WHERE clientContactEmail = '%s'", $data["emailAddress"]);
         $db = new db_alloc();
         $db->query($q);
         if ($row = $db->row()) {
             $ip->set_value("clientContactID", $row["clientContactID"]);
             $ip->set_value("fullName", $row["clientContactName"]);
         }
     }
     $ip->save();
     return $ip->get_id();
 }