示例#1
0
 /**
  * Update the Contact view table with Phone and email.
  * eventUpdateContactView()
  */
 function eventUpdateWebView(EventControler $evtc)
 {
     $contact_view = new ContactView();
     $contact_view->updateFromContact($this);
 }
示例#2
0
 /**
  * Custom add method to add an invoice. Needs a contact for each invocie else 
  * do not add the invoice
  * @param $evtcl -- Object  
  */
 function addInvoice(EventControler $evtcl)
 {
     $_SESSION['in_page_message'] = '';
     $rec_value = $evtcl->recurrent;
     $add_invoice = false;
     $do_contact = new Contact();
     $concat_name_in_address = '';
     if ($evtcl->fields["due_date"] == '') {
         $this->due_date = date('Y-m-d');
     } else {
         $this->due_date = $evtcl->fields["due_date"];
     }
     if ($evtcl->idcontact) {
         $idcontact = $evtcl->idcontact;
         $add_invoice = true;
         $do_contact->getId($idcontact);
     } else {
         $cont_name = $evtcl->contact;
         if ($cont_name != '') {
             $do_Contact_View = new ContactView();
             $do_contact->addNew();
             $do_contact->firstname = $cont_name;
             $do_contact->iduser = $_SESSION['do_User']->iduser;
             $do_contact->add();
             $idcontact = $do_contact->getPrimaryKeyValue();
             $do_Contact_View->setUser($_SESSION['do_User']->iduser);
             $do_contact->getId($idcontact);
             $concat_name_in_address = $do_contact->firstname;
             $do_Contact_View->addFromContact($do_contact);
             $do_Contact_View->updateFromContact($do_contact);
             if ($idcontact) {
                 $add_invoice = true;
                 $do_cont_addr = new ContactAddress();
                 $do_cont_addr->addNew();
                 $do_cont_addr->idcontact = $idcontact;
                 $do_cont_addr->address = $evtcl->fields["invoice_address"];
                 $do_cont_addr->address_type = 'Work';
                 if (strlen($evtcl->fields["invoice_address"]) > 0) {
                     $do_cont_addr->add();
                 }
             }
         }
     }
     if ($add_invoice) {
         // Keep the idcontact in case there is an idcompany
         if ($do_contact->idcompany != '' && !empty($do_contact->idcompany)) {
             $this->idcompany = $do_contact->idcompany;
         }
         //$this->num = $this->getUniqueInvoiceNum();
         $this->num = time();
         $this->iduser = $_SESSION['do_User']->iduser;
         $this->idterms = $evtcl->fields["idterms"];
         $this->description = $evtcl->fields["description"];
         $this->discount = $evtcl->fields["discount"];
         $this->tax = $evtcl->fields["tax"];
         $this->datecreated = date("Y-m-d");
         $this->idcontact = $idcontact;
         $this->status = 'Quote';
         $this->invoice_note = $evtcl->fields["invoice_note"];
         $this->invoice_term = $evtcl->fields["invoice_term"];
         if ($concat_name_in_address == '') {
             $this->invoice_address = $evtcl->fields["invoice_address"];
         } else {
             $this->invoice_address = $concat_name_in_address . '<br />' . $evtcl->fields["invoice_address"];
         }
         $this->add();
         $this->idinvoice = $this->getPrimaryKeyValue();
         // If the user set to have the ivoice added as recurrent Invoice then add
         if ($evtcl->setRec == 'Yes') {
             if (!empty($rec_value) && preg_match('/^[0-9]+$/', $rec_value) && $rec_value != 0) {
                 // Add to recurrent
                 $_SESSION['RecurrentInvoice']->addRecurrentInvoice($this->getPrimaryKeyValue(), $evtcl->recurrent, $evtcl->frequency, date("Y-m-d"));
             } else {
                 $_SESSION['in_page_message'] = _("Recurrent Value is not correct.To set as Recurrent edit the invoice and enter numeric value");
             }
         }
     } else {
         $_SESSION['in_page_message'] = _("Invoice could be created. Possible reason Contact Missing.");
         $evtcl->setDisplayNext(new Display('invoices.php'));
     }
 }
示例#3
0
 function eventImportContactsFromCsv(EventControler $eventcontroler)
 {
     $iduser = $eventcontroler->iduser;
     $handle = fopen($eventcontroler->targetpath, "r");
     $row = 1;
     while ($data = fgetcsv($handle)) {
         $contact_firstname = "";
         $contact_lastname = "";
         $contact_company = "";
         $company = "";
         $contact_position = "";
         $contact_summary = "";
         $contact_birthday = "";
         $contact_city = "";
         $contact_state = "";
         $contact_street = "";
         $contact_zipcode = "";
         $contact_country = "";
         $contact_address_hm = "";
         $contact_address_hm_type = "";
         $contact_address_wk = "";
         $contact_address_wk_type = "";
         $contact_address_ot = "";
         $contact_address_ot_type = "";
         $contact_email_hm = "";
         $contact_email_hm_type = "";
         $contact_email_wk = "";
         $contact_email_wk_type = "";
         $contact_email_ot = "";
         $contact_email_ot_type = "";
         $contact_phone_hm = "";
         $contact_phone_hm_type = "";
         $contact_phone_wk = "";
         $contact_phone_wk_type = "";
         $contact_phone_ot = "";
         $contact_phone_ot_type = "";
         $contact_phone_mb = "";
         $contact_phone_mb_type = "";
         $contact_phone_fx = "";
         $contact_phone_fx_type = "";
         $contact_website_comp = "";
         $contact_website_comp_type = "";
         $contact_website_blog = "";
         $contact_website_blog_type = "";
         $contact_website_ot = "";
         $contact_website_ot_type = "";
         $contact_website_personal = "";
         $contact_website_personal_type = "";
         $contact_website_twitter = "";
         $contact_website_twitter_type = "";
         $contact_im_aim_wk = "";
         $contact_im_aim_wk_type = "";
         $contact_im_aim_per = "";
         $contact_im_aim_per_type = "";
         $contact_im_aim_ot = "";
         $contact_im_aim_ot_type = "";
         $im_aim = "";
         $contact_im_msn_wk = "";
         $contact_im_msn_wk_type = "";
         $contact_im_msn_per = "";
         $contact_im_msn_per_type = "";
         $contact_im_msn_ot = "";
         $contact_im_msn_ot_type = "";
         $im_msn = "";
         $contact_im_icq_wk = "";
         $contact_im_icq_wk_type = "";
         $contact_im_icq_per = "";
         $contact_im_icq_per_type = "";
         $contact_im_icq_ot = "";
         $contact_im_icq_ot_type = "";
         $im_icq = "";
         $contact_im_jabber_wk = "";
         $contact_im_jabber_wk_type = "";
         $contact_im_jabber_per = "";
         $contact_im_jabber_per_type = "";
         $contact_im_jabber_ot = "";
         $contact_im_jabber_ot_type = "";
         $im_jabber = "";
         $contact_im_yahoo_wk = "";
         $contact_im_yahoo_wk_type = "";
         $contact_im_yahoo_per = "";
         $contact_im_yahoo_per_type = "";
         $contact_im_yahoo_ot = "";
         $contact_im_yahoo_ot_type = "";
         $im_yahoo = "";
         $contact_im_skype_wk = "";
         $contact_im_skype_wk_type = "";
         $contact_im_skype_per = "";
         $contact_im_skype_per_type = "";
         $contact_im_skype_ot = "";
         $contact_im_skype_ot_type = "";
         $im_skype = "";
         $contact_im_gt_wk = "";
         $contact_im_gt_wk_type = "";
         $contact_im_gt_per = "";
         $contact_im_gt_per_type = "";
         $contact_im_gt_ot = "";
         $contact_im_gt_ot_type = "";
         $im_gt = "";
         $contact_note = "";
         $do_contact = new Contact();
         $do_company = new Company();
         $do_contact_notes = new ContactNotes();
         $num = count($data);
         if ($row > 1) {
             for ($c = 0; $c < $num; $c++) {
                 switch ($eventcontroler->fields[$c]) {
                     case "firstname":
                         $contact_firstname = $data[$c];
                         break;
                     case "lastname":
                         $contact_lastname = $data[$c];
                         break;
                     case "company":
                         $company = $data[$c];
                         $contact_company = $data[$c];
                         break;
                     case "position":
                         $contact_position = $data[$c];
                         break;
                     case "summary":
                         $contact_summary = $data[$c];
                         break;
                     case "birthday":
                         $contact_birthday = $data[$c];
                         break;
                     case "city":
                         $contact_city = $data[$c];
                         break;
                     case "state":
                         $contact_state = $data[$c];
                         break;
                     case "street":
                         $contact_street = $data[$c];
                         break;
                     case "zipcode":
                         $contact_zipcode = $data[$c];
                         break;
                     case "country":
                         $contact_country = $data[$c];
                         break;
                     case "address_hm":
                         $contact_address_hm = $data[$c];
                         $contact_address_hm_type = "Home";
                         break;
                     case "address_wk":
                         $contact_address_wk = $data[$c];
                         $contact_address_wk_type = "Work";
                         break;
                     case "address_ot":
                         $contact_address_ot = $data[$c];
                         $contact_address_ot_type = "Other";
                         break;
                     case "email_hm":
                         $contact_email_hm = $data[$c];
                         $contact_email_hm_type = "Home";
                         break;
                     case "email_wk":
                         $contact_email_wk = $data[$c];
                         $contact_email_wk_type = "Work";
                         break;
                     case "email_ot":
                         $contact_email_ot = $data[$c];
                         $contact_email_ot_type = "Other";
                         break;
                     case "phone_number_hm":
                         $contact_phone_hm = $data[$c];
                         $contact_phone_hm_type = "Home";
                         break;
                     case "phone_number_wk":
                         $contact_phone_wk = $data[$c];
                         $contact_phone_wk_type = "Work";
                         break;
                     case "phone_number_ot":
                         $contact_phone_ot = $data[$c];
                         $contact_phone_ot_type = "Other";
                         break;
                     case "phone_number_mb":
                         $contact_phone_mb = $data[$c];
                         $contact_phone_mb_type = "Mobile";
                         break;
                     case "phone_number_fx":
                         $contact_phone_fx = $data[$c];
                         $contact_phone_fx_type = "Fax";
                         break;
                     case "website_comp":
                         $contact_website_comp = $data[$c];
                         $contact_website_comp_type = "Company";
                         break;
                     case "website_blog":
                         $contact_website_blog = $data[$c];
                         $contact_website_blog_type = "Blog";
                         break;
                     case "website_ot":
                         $contact_website_ot = $data[$c];
                         $contact_website_ot_type = "Other";
                         break;
                     case "website_personal":
                         $contact_website_personal = $data[$c];
                         $contact_website_personal_type = "Personal";
                         break;
                     case "website_twitter":
                         $contact_website_twitter = $data[$c];
                         $contact_website_twitter_type = "Twitter";
                         break;
                     case "website_linkedin":
                         $contact_website_linkedin = $data[$c];
                         $contact_website_linkedin_type = "LinkedIn";
                         break;
                     case "website_fb":
                         $contact_website_fb = $data[$c];
                         $contact_website_fb_type = "Facebook";
                         break;
                     case "im_aim_wk":
                         $contact_im_aim_wk = $data[$c];
                         $im_aim = "AIM";
                         $contact_im_aim_wk_type = "Work";
                         break;
                     case "im_aim_per":
                         $contact_im_aim_per = $data[$c];
                         $im_aim = "AIM";
                         $contact_im_aim_per_type = "Personal";
                         break;
                     case "im_aim_ot":
                         $contact_im_aim_ot = $data[$c];
                         $im_aim = "AIM";
                         $contact_im_aim_ot_type = "Other";
                         break;
                     case "im_msn_wk":
                         $contact_im_msn_wk = $data[$c];
                         $im_msn = "MSN";
                         $contact_im_msn_wk_type = "Work";
                         break;
                     case "im_msn_per":
                         $contact_im_msn_per = $data[$c];
                         $im_msn = "MSN";
                         $contact_im_msn_per_type = "Personal";
                         break;
                     case "im_msn_ot":
                         $contact_im_msn_ot = $data[$c];
                         $im_msn = "MSN";
                         $contact_im_msn_ot_type = "Other";
                         break;
                     case "im_icq_wk":
                         $contact_im_icq_wk = $data[$c];
                         $im_icq = "ICQ";
                         $contact_im_icq_wk_type = "Work";
                         break;
                     case "im_icq_per":
                         $contact_im_icq_per = $data[$c];
                         $im_icq = "ICQ";
                         $contact_im_icq_per_type = "Personal";
                         break;
                     case "im_icq_ot":
                         $contact_im_icq_ot = $data[$c];
                         $im_icq = "ICQ";
                         $contact_im_icq_ot_type = "Other";
                         break;
                     case "im_jabber_wk":
                         $contact_im_jabber_wk = $data[$c];
                         $im_jabber = "Jabber";
                         $contact_im_jabber_wk_type = "Work";
                         break;
                     case "im_jabber_per":
                         $contact_im_jabber_per = $data[$c];
                         $im_jabber = "Jabber";
                         $contact_im_jabber_per_type = "Personal";
                         break;
                     case "im_jabber_ot":
                         $contact_im_jabber_ot = $data[$c];
                         $im_jabber = "Jabber";
                         $contact_im_jabber_ot_type = "Other";
                     case "im_yahoo_wk":
                         $contact_im_yahoo_wk = $data[$c];
                         $im_yahoo = "Yahoo";
                         $contact_im_yahoo_wk_type = "Work";
                         break;
                     case "im_yahoo_per":
                         $contact_im_yahoo_per = $data[$c];
                         $im_yahoo = "Yahoo";
                         $contact_im_yahoo_per_type = "Personal";
                         break;
                     case "im_yahoo_ot":
                         $contact_im_yahoo_ot = $data[$c];
                         $im_yahoo = "Yahoo";
                         $contact_im_yahoo_ot_type = "Other";
                         break;
                     case "im_skype_wk":
                         $contact_im_skype_wk = $data[$c];
                         $im_skype = "Skype";
                         $contact_im_skype_wk_type = "Work";
                         break;
                     case "im_skype_per":
                         $contact_im_skype_per = $data[$c];
                         $im_skype = "Skype";
                         $contact_im_skype_per_type = "Personal";
                         break;
                     case "im_skype_ot":
                         $contact_im_skype_ot = $data[$c];
                         $im_skype = "Skype";
                         $contact_im_skype_ot_type = "Other";
                     case "im_gt_wk":
                         $contact_im_gt_wk = $data[$c];
                         $im_gt = "Google Talk";
                         $contact_im_gt_wk_type = "Work";
                         break;
                     case "im_gt_per":
                         $contact_im_gt_per = $data[$c];
                         $im_gt = "Google Talk";
                         $contact_im_gt_per_type = "Personal";
                         break;
                     case "im_gt_ot":
                         $contact_im_gt_ot = $data[$c];
                         $im_gt = "Google Talk";
                         $contact_im_gt_ot_type = "Other";
                         break;
                     case "note":
                         $contact_note .= "<p>" . $data[$c] . "</p>";
                         break;
                 }
             }
             $do_company->name = $company;
             $do_company->iduser = $iduser;
             $do_company->add();
             $idcompany = $do_company->getPrimaryKeyValue();
             $do_contact->idcompany = $idcompany;
             $do_contact->iduser = $iduser;
             $do_contact->firstname = $contact_firstname;
             $do_contact->lastname = $contact_lastname;
             $do_contact->company = $contact_company;
             $do_contact->position = $contact_position;
             $do_contact->summary = $contact_summary;
             $do_contact->birthday = $contact_birthday;
             $do_contact->add();
             $idcontact = $do_contact->getPrimaryKeyValue();
             //In theory this below should not be needed
             $do_contact->idcontact = $idcontact;
             $do_tag = new Tag();
             if (strpos($_SESSION['import_tag'], ",") === false) {
                 $do_tag->addTagAssociation($idcontact, trim($_SESSION['import_tag']), "contact", $_SESSION['do_User']->iduser);
             } else {
                 $tags = explode(",", $_SESSION['import_tag']);
                 foreach ($tags as $tag) {
                     $do_tag->addTagAssociation($idcontact, trim($tag), "contact", $_SESSION['do_User']->iduser);
                 }
             }
             if ($contact_address_hm != "" || $contact_city != "" || $contact_state != "" || $contact_street != "" || $contact_zipcode != "" || $contact_country != "") {
                 $do_contact->addAddress($contact_address_hm, $contact_address_hm_type, $contact_city, $contact_state, $contact_street, $contact_zipcode, $contact_country);
             }
             if ($contact_address_wk != "" || $contact_city != "" || $contact_state != "" || $contact_street != "" || $contact_zipcode != "" || $contact_country != "") {
                 $do_contact->addAddress($contact_address_wk, $contact_address_wk_type, $contact_city, $contact_state, $contact_street, $contact_zipcode, $contact_country);
             }
             if ($contact_address_ot != "" || $contact_city != "" || $contact_state != "" || $contact_street != "" || $contact_zipcode != "" || $contact_country != "") {
                 $do_contact->addAddress($contact_address_ot, $contact_address_ot_type, $contact_city, $contact_state, $contact_street, $contact_zipcode, $contact_country);
             }
             if ($contact_email_hm != "") {
                 $do_contact->addEmail($contact_email_hm, $contact_email_hm_type);
             }
             if ($contact_email_wk != "") {
                 $do_contact->addEmail($contact_email_wk, $contact_email_wk_type);
             }
             if ($contact_email_ot != "") {
                 $do_contact->addEmail($contact_email_ot, $contact_email_ot_type);
             }
             if ($contact_phone_hm != "") {
                 $do_contact->addPhone($contact_phone_hm, $contact_phone_hm_type);
             }
             if ($contact_phone_wk != "") {
                 $do_contact->addPhone($contact_phone_wk, $contact_phone_wk_type);
             }
             if ($contact_phone_ot != "") {
                 $do_contact->addPhone($contact_phone_ot, $contact_phone_ot_type);
             }
             if ($contact_phone_mb != "") {
                 $do_contact->addPhone($contact_phone_mb, $contact_phone_mb_type);
             }
             if ($contact_phone_fx != "") {
                 $do_contact->addPhone($contact_phone_fx, $contact_phone_fx_type);
             }
             if ($contact_website_comp != "") {
                 $do_contact->addWebsite($contact_website_comp, $contact_website_comp_type);
             }
             if ($contact_website_blog != "") {
                 $do_contact->addWebsite($contact_website_blog, $contact_website_blog_type);
             }
             if ($contact_website_ot != "") {
                 $do_contact->addWebsite($contact_website_ot, $contact_website_ot_type);
             }
             if ($contact_website_personal != "") {
                 $do_contact->addWebsite($contact_website_personal, $contact_website_personal_type);
             }
             if ($contact_website_twitter != "") {
                 $do_contact->addWebsite($contact_website_twitter, $contact_website_twitter_type);
             }
             if ($contact_website_linkedin != "") {
                 $do_contact->addWebsite($contact_website_linkedin, $contact_website_linkedin_type);
             }
             if ($contact_website_fb != "") {
                 $do_contact->addWebsite($contact_website_fb, $contact_website_fb_type);
             }
             if ($contact_im_aim_wk != "") {
                 $do_contact->addIM($im_aim, $contact_im_aim_wk_type, $contact_im_aim_wk);
             }
             if ($contact_im_aim_per != "") {
                 $do_contact->addIM($im_aim, $contact_im_aim_per_type, $contact_im_aim_per);
             }
             if ($contact_im_aim_ot != "") {
                 $do_contact->addIM($im_aim, $contact_im_aim_ot_type, $contact_im_aim_ot);
             }
             if ($contact_im_msn_wk != "") {
                 $do_contact->addIM($im_msn, $contact_im_msn_wk_type, $contact_im_msn_wk);
             }
             if ($contact_im_msn_per != "") {
                 $do_contact->addIM($im_msn, $contact_im_msn_per_type, $contact_im_msn_per);
             }
             if ($contact_im_msn_ot != "") {
                 $do_contact->addIM($im_msn, $contact_im_msn_ot_type, $contact_im_msn_ot);
             }
             if ($contact_im_icq_wk != "") {
                 $do_contact->addIM($im_icq, $contact_im_icq_wk_type, $contact_im_icq_wk);
             }
             if ($contact_im_icq_per != "") {
                 $do_contact->addIM($im_icq, $contact_im_icq_per_type, $contact_im_icq_per);
             }
             if ($contact_im_icq_ot != "") {
                 $do_contact->addIM($im_icq, $contact_im_icq_ot_type, $contact_im_icq_ot);
             }
             if ($contact_im_jabber_wk != "") {
                 $do_contact->addIM($im_jabber, $contact_im_jabber_wk_type, $contact_im_jabber_wk);
             }
             if ($contact_im_jabber_per != "") {
                 $do_contact->addIM($im_jabber, $contact_im_jabber_per_type, $contact_im_jabber_per);
             }
             if ($contact_im_jabber_ot != "") {
                 $do_contact->addIM($im_jabber, $contact_im_jabber_ot_type, $contact_im_jabber_ot);
             }
             if ($contact_im_yahoo_wk != "") {
                 $do_contact->addIM($im_yahoo, $contact_im_yahoo_wk_type, $contact_im_yahoo_wk);
             }
             if ($contact_im_yahoo_per != "") {
                 $do_contact->addIM($im_yahoo, $contact_im_yahoo_per_type, $contact_im_yahoo_per);
             }
             if ($contact_im_yahoo_ot != "") {
                 $do_contact->addIM($im_yahoo, $contact_im_yahoo_ot_type, $contact_im_yahoo_ot);
             }
             if ($contact_im_skype_wk != "") {
                 $do_contact->addIM($im_skype, $contact_im_skype_wk_type, $contact_im_skype_wk);
             }
             if ($contact_im_skype_per != "") {
                 $do_contact->addIM($im_skype, $contact_im_skype_per_type, $contact_im_skype_per);
             }
             if ($contact_im_skype_ot != "") {
                 $do_contact->addIM($im_skype, $contact_im_skype_ot_type, $contact_im_skype_ot);
             }
             if ($contact_im_gt_wk != "") {
                 $do_contact->addIM($im_gt, $contact_im_gt_wk_type, $contact_im_gt_wk);
             }
             if ($contact_im_gt_per != "") {
                 $do_contact->addIM($im_gt, $contact_im_gt_per_type, $contact_im_gt_per);
             }
             if ($contact_im_gt_ot != "") {
                 $do_contact->addIM($im_gt, $contact_im_gt_ot_type, $contact_im_gt_ot);
             }
             if ($contact_note != "") {
                 $do_contact_notes->idcontact = $idcontact;
                 $do_contact_notes->iduser = $iduser;
                 $do_contact_notes->note = $contact_note;
                 $do_contact_notes->date_added = date('Y-m-d');
                 $do_contact_notes->add();
             }
             $do_cont_view = new ContactView();
             $do_cont_view->addFromContact($do_contact);
             $do_cont_view->updateFromContact($do_contact);
             // Added the method call updateFromContact() so that the child data is updated just after insert
             $do_cont_view->addTag($_SESSION['import_tag'], $do_contact->idcontact);
             // Update the contact view for tags.
             $do_contact->free();
             $do_company->free();
             $do_contact_notes->free();
         }
         $row++;
     }
     fclose($handle);
     $goto = $eventcontroler->getParam("goto");
     $disp = new Display($goto);
     $disp->addParam("message", "Contacts have been imported successfully.");
     $eventcontroler->setDisplayNext($disp);
 }
 function add_contact()
 {
     $do_api_contact = new Contact();
     $do_Contact_View = new ContactView();
     $do_api_contact->addNew();
     $do_api_contact->firstname = $this->firstname;
     $do_api_contact->lastname = $this->lastname;
     $do_api_contact->position = $this->position;
     $do_api_contact->iduser = $this->iduser;
     if ($this->tags != '') {
         $tags = explode(",", $this->tags);
     }
     if ($this->firstname == "" && $this->lastname == "") {
         $this->setMessage("610", "First Name OR Last Name is Required");
         return false;
     } elseif (!$this->iduser) {
         $this->setMessage("502", "The User Session is expired");
         return false;
     } elseif ($idcontact = $do_api_contact->duplicateContact($this->iduser, $this->email_work, $this->email_home, $this->email_other)) {
         $this->setMessage("613", "The Contact is duplicated. Contact ID:  " . $idcontact);
         return false;
     } else {
         if ($this->company != "") {
             $do_api_contact->company = $this->company;
             $do_api_company = new Company();
             $idcompany = $do_api_company->isDuplicateCompany($this->company, $this->iduser);
             if (!$idcompany) {
                 $do_api_company->addNew();
                 $do_api_company->iduser = $this->iduser;
                 $do_api_company->name = trim($this->company);
                 $do_api_company->add();
                 $this->idcompany = $do_api_company->getPrimaryKeyValue();
             } else {
                 $this->idcompany = $idcompany;
             }
             $do_api_contact->idcompany = $this->idcompany;
         }
         $do_api_contact->add();
         $this->idcontact = $do_api_contact->getPrimaryKeyValue();
         $do_api_contact->idcontact = $this->idcontact;
         //child data starts here
         // Phones
         if ($this->phone_work != "") {
             $do_api_contact->addPhone($this->phone_work, "Work");
         }
         if ($this->phone_home != "") {
             $do_api_contact->addPhone($this->phone_home, "Home");
         }
         if ($this->mobile_number != "") {
             $do_api_contact->addPhone($this->mobile_number, "Mobile");
         }
         if ($this->fax_number != "") {
             $do_api_contact->addPhone($this->fax_number, "Fax");
         }
         if ($this->phone_other != "") {
             $do_api_contact->addPhone($this->phone_other, "Other");
         }
         //emails
         if ($this->email_work != "") {
             $do_api_contact->addEmail($this->email_work, "Work");
         }
         if ($this->email_home != "") {
             $do_api_contact->addEmail($this->email_home, "Home");
         }
         if ($this->email_other != "") {
             $do_api_contact->addEmail($this->email_other, "Other");
         }
         //Website
         if ($this->company_website != "") {
             $do_api_contact->addWebsite($this->company_website, "Company");
         }
         if ($this->personal_website != "") {
             $do_api_contact->addWebsite($this->personal_website, "Personal");
         }
         if ($this->blog_url != "") {
             $do_api_contact->addWebsite($this->blog_url, "Blog");
         }
         if ($this->twitter_profile_url != "") {
             $do_api_contact->addWebsite($this->twitter_profile_url, "Twitter");
         }
         if ($this->linkedin_profile_url != "") {
             $do_api_contact->addWebsite($this->linkedin_profile_url, "LinkedIn");
         }
         if ($this->facebook_profile_url != "") {
             $do_api_contact->addWebsite($this->facebook_profile_url, "Facebook");
         }
         // API V.02 will have IM and Address
         //Add tags if any
         if (is_array($tags)) {
             $do_api_tags = new Tag();
             foreach ($tags as $tag) {
                 $do_api_tags->addNew();
                 $do_api_tags->addTagAssociation($this->idcontact, $tag, "contact", $this->iduser);
             }
         }
         // Ok here the last thing that needs to be done so that the contact should also on the table
         $do_Contact_View = new ContactView();
         $do_Contact_View->setUser($this->iduser);
         $do_api_contact->getId($this->idcontact);
         $do_Contact_View->addFromContact($do_api_contact);
         $do_Contact_View->updateFromContact($do_api_contact);
         if ($this->tags != '') {
             $do_Contact_View->addTag($this->tags, $this->idcontact);
         }
         $this->setValues(array("msg" => "Contact Added", "stat" => "ok", "code" => "600", "idcontact" => $this->idcontact));
         return true;
     }
 }
示例#5
0
 function insertContact()
 {
     if ($this->contact['ORG']) {
         $id_company = $this->checkCompanyExists($this->contact['ORG']);
         $id_company_flag = $id_company ? true : false;
         $flag = true;
     } else {
         $flag = true;
         $id_company = 0;
         $id_company_flag = true;
     }
     if ($flag) {
         if ($id_company_flag) {
             $new_contact = new Contact();
             $new_contact->firstname = $this->contact['FULLNAME'];
             $new_contact->position = $this->contact['TITLE'];
             if ($this->contact['ORG']) {
                 $company = $this->contact['ORG'];
             } else {
                 $company = "";
             }
             $new_contact->company = $company;
             $new_contact->idcompany = $id_company;
             $new_contact->iduser = $this->iduser;
             $new_contact->birthday = $this->contact['BDAY'];
             $new_contact->picture = $this->contact['PHOTO'];
             $new_contact->add();
             $lastInsertedContId = $new_contact->getPrimaryKeyValue();
         } else {
             $new_company = new Company();
             $new_company->name = $this->contact['ORG'];
             $new_company->iduser = $this->iduser;
             $new_company->add();
             $new_company_id = $new_company->getPrimaryKeyValue();
             $new_contact = new Contact();
             $new_contact->firstname = $this->contact['FULLNAME'];
             $new_contact->position = $this->contact['TITLE'];
             $new_contact->company = $this->contact['ORG'];
             $new_contact->idcompany = $new_company_id;
             $new_contact->iduser = $this->iduser;
             $new_contact->birthday = $this->contact['BDAY'];
             $new_contact->picture = $this->contact['PHOTO'];
             $new_contact->add();
             $lastInsertedContId = $new_contact->getPrimaryKeyValue();
         }
         if ($this->contact['TELL_WORK']) {
             $new_contact->addPhone($this->contact['TELL_WORK'], 'Work');
         }
         if ($this->contact['TELL_HOME']) {
             $new_contact->addPhone($this->contact['TELL_HOME'], 'Home');
         }
         if ($this->contact['TELL_FAX']) {
             $new_contact->addPhone($this->contact['TELL_FAX'], 'Fax');
         }
         if ($this->contact['TELL_CELL']) {
             $new_contact->addPhone($this->contact['TELL_CELL'], 'Mobile');
         }
         if ($this->contact['TELL_OTHER']) {
             $new_contact->addPhone($this->contact['TELL_OTHER'], 'Other');
         }
         if ($this->contact['ADR_WORK']) {
             $new_contact->addAddress($this->contact['ADR_WORK'], 'Work');
         }
         if ($this->contact['ADR_HOME']) {
             $new_contact->addAddress($this->contact['ADR_HOME'], 'Home');
         }
         if ($this->contact['ADR_OTHER']) {
             $new_contact->addAddress($this->contact['ADR_OTHER'], 'Other');
         }
         if ($this->contact['EMAIL_WORK']) {
             $new_contact->addEmail($this->contact['EMAIL_WORK'], 'Work');
         }
         if ($this->contact['EMAIL_HOME']) {
             $new_contact->addEmail($this->contact['EMAIL_HOME'], 'Home');
         }
         if ($this->contact['EMAIL_OTHER']) {
             $new_contact->addEmail($this->contact['EMAIL_OTHER'], 'Other');
         }
         $do_tag = new Tag();
         if ($this->contact['CATEGORIES']) {
             $contact_tag = explode(",", $this->contact['CATEGORIES']);
             $arr_import_tags = explode(",", $_SESSION['import_tag']);
             foreach ($arr_import_tags as $imp_tag) {
                 array_push($contact_tag, $imp_tag);
             }
             foreach ($contact_tag as $tag) {
                 $tag = trim($tag);
                 $do_tag->addTagAssociation($lastInsertedContId, $tag, "contact", $this->iduser);
             }
         } else {
             $arr_import_tags = explode(",", $_SESSION['import_tag']);
             foreach ($arr_import_tags as $tag) {
                 $tag = trim($tag);
                 $do_tag->addTagAssociation($lastInsertedContId, $tag, "contact", $this->iduser);
             }
         }
         $do_cont_view = new ContactView();
         $do_cont_view->addFromContact($new_contact);
         $do_cont_view->updateFromContact($new_contact);
         // Added the method call updateFromContact() so that the child data is updated just after insert
         $do_cont_view->addTag($_SESSION['import_tag'], $new_contact->idcontact);
         // Update the contact view for tags.
         $this->imported = true;
     }
 }
示例#6
0
    $ContactAddressAdd = new ContactAddress();
    if ($ContactAddress->getNumRows()) {
        while ($ContactAddress->next()) {
            $ContactAddressAdd->addNew();
            $ContactAddressAdd->idcontact = $idcontact_inserted;
            $ContactAddressAdd->address_type = $ContactAddress->address_type;
            $ContactAddressAdd->address = $ContactAddress->address;
            $ContactAddressAdd->add();
        }
    }
    $do_cont_ref = new Contact();
    $do_cont_ref->getId($idcontact_inserted);
    $do_contact_view = new ContactView();
    $do_contact_view->setUser($_SESSION['do_User']->iduser);
    $do_contact_view->addFromContact($do_cont_ref);
    $do_contact_view->updateFromContact($do_cont_ref);
    $do_cont_ref->free();
    $_SESSION['hcard_idcontact'] = '';
    header("Location: /Contact/" . $idcontact_inserted);
    exit;
}
$Keywords = 'Ofuz Profile for ' . $_SESSION['do_contact']->firstname . ' ' . $_SESSION['do_contact']->lastname;
//$Description = 'Description for search engine';
$background_color = 'white';
include_once 'includes/header_profile.inc.php';
?>
<script type="text/javascript" src="/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
   // if screen width < 600 then Mobile/Tablet version else Web version
    smallScreen = (screen.width < 900) ? true : false;
示例#7
0
 /**
  * Function to import the facebook contact to ofuz.
  * Since Facebook does provide limited information on friends so just the basic
  * information will be imported and also keep track of the Facebook user id so that 
  * for the first time it will just add and on next import it will update.
  * @param array $fb_friend_id 
  * @param integer $iduser
  */
 function importFacebookFriends($friends_data, $iduser = '')
 {
     $do_tag = new Tag();
     $do_company = new Company();
     $do_cont_view = new ContactView();
     if ($iduser == '') {
         $iduser = $_SESSION['do_User']->iduser;
     } else {
         $do_cont_view->setUser($iduser);
     }
     $tag_list_names = '';
     $frnd_fb_uid = $friends_data["fb_uid"];
     $idcontact = $this->isFbFriendInContact($frnd_fb_uid);
     $fname = $friends_data["name"]["first_name"];
     $lname = $friends_data["name"]["last_name"];
     $work = $friends_data["work"];
     $work_detail = $work[0];
     $work_history = @$work_detail["work_history"];
     $profile_url = @$friends_data["profile_url"][0]["profile_url"];
     $profile_pic = @$friends_data["pic_with_logo"][0]["pic_with_logo"];
     if (is_array($work_history)) {
         $company = $work_history[0]["company_name"];
         $position = $work_history[0]["position"];
         $desc = $work_history[0]["description"];
     }
     $list_name = $friends_data['listname'];
     $this->firstname = $fname;
     $this->lastname = $lname;
     $this->fb_userid = $frnd_fb_uid;
     $this->iduser = $iduser;
     if ($idcontact) {
         //update the data
         $this->checkFbProfileUrlOnUpdate($idcontact, $profile_url);
         $this->updateFbProfilePic($idcontact, $profile_pic);
         $do_tag->addTagAssociation($idcontact, "Facebook", "contact", $iduser);
         if (is_array($list_name) && count($list_name) > 0) {
             $tag_list_names = implode(",", $list_name);
             foreach ($list_name as $list_name) {
                 $do_tag->addTagAssociation($idcontact, $list_name, "contact", $iduser);
             }
         }
         $this->getId($idcontact);
         if ($company != '' && !empty($company)) {
             if ($position != '') {
                 $this->position = $position;
             } else {
                 $this->position = '';
             }
             $q = new sqlQuery($this->getDbCon());
             $q->query("select idcompany from company where name = '" . trim($company) . "' AND iduser = "******"idcompany");
                 $this->idcompany = $idcompany;
                 $this->company = trim($company);
                 $this->update();
                 $idcontact = $this->getPrimaryKeyValue();
             } else {
                 $do_company->name = trim($company);
                 $do_company->iduser = $iduser;
                 $do_company->add();
                 $idcompany = $do_company->getPrimaryKeyValue();
                 $this->idcompany = $idcompany;
                 $this->company = trim($company);
                 $this->update();
             }
         } else {
             //$iduser = $_SESSION['do_User']->iduser;
             $q = new sqlQuery($this->getDbCon());
             $q_upd = "UPDATE contact set firstname = '" . $fname . "',lastname = '" . $lname . "',fb_userid = " . $frnd_fb_uid . ",position = '" . $position . "' where idcontact = " . $idcontact;
             $q->query($q_upd);
         }
         $this->getId($idcontact);
         $do_cont_view->updateFromContact($this);
         // Added the method call updateFromContact() so that the child data is updated
         $do_cont_view->addTag('Facebook', $this->idcontact);
         // Update the contact view for tags.
         $do_cont_view->addTag($tag_list_names, $this->idcontact);
         // Update the contact view for tags.
     } else {
         // new entry
         $do_company = new Company();
         $do_cont_website = new ContactWebsite();
         if ($company != '' && !empty($company)) {
             if ($position != '') {
                 $this->position = $position;
             } else {
                 $this->position = '';
             }
             $q = new sqlQuery($this->getDbCon());
             $q->query("select idcompany from company where name = '" . trim($company) . "' AND iduser = "******"idcompany");
                 $this->idcompany = $idcompany;
                 $this->company = trim($company);
                 $this->add();
                 $idcontact = $this->getPrimaryKeyValue();
                 $do_cont_website->idcontact = $idcontact;
                 $do_cont_website->website = $profile_url;
                 $do_cont_website->website_type = 'Facebook';
                 $do_cont_website->add();
                 $this->updateFbProfilePic($idcontact, $profile_pic);
                 $do_tag->addTagAssociation($idcontact, "Facebook", "contact", $iduser);
                 if (is_array($list_name) && count($list_name) > 0) {
                     $tag_list_names = implode(",", $list_name);
                     foreach ($list_name as $list_name) {
                         $do_tag->addTagAssociation($idcontact, $list_name, "contact", $iduser);
                     }
                 }
             } else {
                 $do_company->name = trim($company);
                 $do_company->iduser = $iduser;
                 $do_company->add();
                 $idcompany = $do_company->getPrimaryKeyValue();
                 $this->idcompany = $idcompany;
                 $this->company = trim($company);
                 $this->add();
                 $idcontact = $this->getPrimaryKeyValue();
                 $do_cont_website->idcontact = $idcontact;
                 $do_cont_website->website = $profile_url;
                 $do_cont_website->website_type = 'Facebook';
                 $do_cont_website->add();
                 $this->updateFbProfilePic($idcontact, $profile_pic);
                 $do_tag->addTagAssociation($idcontact, "Facebook", "contact", $iduser);
                 if (is_array($list_name) && count($list_name) > 0) {
                     $tag_list_names = implode(",", $list_name);
                     foreach ($list_name as $list_name) {
                         $do_tag->addTagAssociation($idcontact, $list_name, "contact", $iduser);
                     }
                 }
             }
         } else {
             //$iduser = $_SESSION['do_User']->iduser;
             $q = new sqlQuery($this->getDbCon());
             $q_ins = "INSERT into contact (firstname,lastname,fb_userid,iduser,position) values(\n                          '{$fname}','{$lname}',{$frnd_fb_uid},{$iduser},'{$position}')";
             $q->query($q_ins);
             $idcontact = $q->getInsertId();
             $q_website = new sqlQuery($this->getDbCon());
             $q_website->query("INSERT into contact_website (idcontact,website,website_type) VALUES\n                                   ({$idcontact},'{$profile_url}','Facebook')");
             $this->updateFbProfilePic($idcontact, $profile_pic);
             $do_tag->addTagAssociation($idcontact, "Facebook", "contact", $iduser);
             if (is_array($list_name) && count($list_name) > 0) {
                 $tag_list_names = implode(",", $list_name);
                 foreach ($list_name as $list_name) {
                     $do_tag->addTagAssociation($idcontact, $list_name, "contact", $iduser);
                 }
             }
         }
         $this->getId($idcontact);
         $do_cont_view->addFromContact($this);
         $do_cont_view->updateFromContact($this);
         // Added the method call updateFromContact() so that the child data is updated just after insert
         $do_cont_view->addTag('Facebook', $this->idcontact);
         // Update the contact view for tags.
         $do_cont_view->addTag($tag_list_names, $this->idcontact);
         // Update the contact view for tags.
     }
     $do_tag->free();
 }