Example #1
0
 /**
  * Factory method to create a Contact object from an array
  * @param array $props - Associative array of initial properties to set
  * @return Contact
  */
 public static function create(array $props)
 {
     $contact = new Contact();
     $contact->id = parent::getValue($props, "id");
     $contact->status = parent::getValue($props, "status");
     $contact->first_name = parent::getValue($props, "first_name");
     $contact->middle_name = parent::getValue($props, "middle_name");
     $contact->last_name = parent::getValue($props, "last_name");
     $contact->confirmed = parent::getValue($props, "confirmed");
     $contact->source = parent::getValue($props, "source");
     if (isset($props['email_addresses'])) {
         foreach ($props['email_addresses'] as $email_address) {
             $contact->email_addresses[] = EmailAddress::create($email_address);
         }
     }
     $contact->prefix_name = parent::getValue($props, "prefix_name");
     $contact->job_title = parent::getValue($props, "job_title");
     if (isset($props['addresses'])) {
         foreach ($props['addresses'] as $address) {
             $contact->addresses[] = Address::create($address);
         }
     }
     if (isset($props['notes'])) {
         foreach ($props['notes'] as $note) {
             $contact->notes[] = Note::create($note);
         }
     }
     $contact->company_name = parent::getValue($props, "company_name");
     $contact->home_phone = parent::getValue($props, "home_phone");
     $contact->work_phone = parent::getValue($props, "work_phone");
     $contact->cell_phone = parent::getValue($props, "cell_phone");
     $contact->fax = parent::getValue($props, "fax");
     if (isset($props['custom_fields'])) {
         foreach ($props['custom_fields'] as $custom_field) {
             $contact->custom_fields[] = CustomField::create($custom_field);
         }
     }
     if (isset($props['lists'])) {
         foreach ($props['lists'] as $contact_list) {
             $contact->lists[] = ContactList::create($contact_list);
         }
     }
     $contact->created_date = parent::getValue($props, "created_date");
     $contact->modified_date = parent::getValue($props, "modified_date");
     $contact->source_details = parent::getValue($props, "source_details");
     return $contact;
 }
 /**
  * Add a note Contact object
  *
  * @param Note $note - note to add to the contact
  */
 public function addNote($note)
 {
     if (is_string($note)) {
         $note = array('note' => $note);
     }
     if (!$note instanceof EmailAddress) {
         $note = Note::create($note);
     }
     $this->notes[0] = $note;
 }