function eventGetContacts(EventControler $evtcl)
 {
     $plugType = 'email';
     $provider_box = $evtcl->provider_box;
     $email_box = $evtcl->email_box;
     $password_box = $evtcl->password_box;
     $msg = "";
     $contacts = "";
     $ok = false;
     if (empty($email_box)) {
         $msg = "Email missing !";
     }
     if (empty($password_box)) {
         $msg = "Password missing !";
     }
     if (empty($provider_box)) {
         $msg = "Provider missing !";
     }
     if ($msg == "") {
         $inviter = new OpenInviter();
         $inviter->startPlugin($provider_box);
         $internal = $inviter->getInternalError();
         if ($internal) {
             $msg = $internal;
         } elseif (!$inviter->login($email_box, $password_box)) {
             $internal = $inviter->getInternalError();
             $msg = $internal ? $internal : "Login failed. Please check the email and password you have provided and try again later !";
         } elseif (false === ($contacts = $inviter->getMyContacts())) {
             $msg = "Unable to get contacts !";
         } else {
             $msg = "Contacts imported successfully.";
             $ok = true;
             //$_POST['oi_session_id']=$inviter->plugin->getSessionID();
         }
     }
     if ($ok) {
         /*print_r($contacts);
         		exit();*/
         foreach ($contacts as $email => $name) {
             $do_contact = new Contact();
             $do_contact->firstname = $name;
             $do_contact->iduser = $_SESSION['do_User']->iduser;
             $do_contact->add();
             $lastInsertedContId = $do_contact->getPrimaryKeyValue();
             $do_contact->addEmail($email, 'Home');
             $do_contact->free();
             //contact view
             $do_cv = new ContactView();
             $do_cv->idcontact = $lastInsertedContId;
             $do_cv->firstname = $name;
             $do_cv->email_address = $email;
             $do_cv->add();
             $do_cv->free();
         }
     }
     $_SESSION['in_page_message'] = $msg;
 }
Beispiel #2
0
                  thisDiv.style.display = "none";
            </script>
            <?php 
        }
        $do_contact = new Contact();
        $name = $_SESSION['do_ofuz_fb']->getFbUserName($friend);
        // will contain the firstand last name in facebook
        $affiliations = $_SESSION['do_ofuz_fb']->getFbUserAffiliations($friend);
        $work_history = $_SESSION['do_ofuz_fb']->getWorkHistory($friend);
        $profile_url = $_SESSION['do_ofuz_fb']->getProfileURL($friend);
        $profile_pic_with_logo = $_SESSION['do_ofuz_fb']->getProfilePicWithLogo($friend);
        $friends_data = array("fb_uid" => $friend, "name" => $name, "affiliations" => $affiliations, "work" => $work_history, "profile_url" => $profile_url, "pic_with_logo" => $profile_pic_with_logo, "listname" => $list_name_array);
        //print_r($friends_data);
        //echo '<br />';
        $do_contact->importFacebookFriends($friends_data);
        $do_contact->free();
    }
    //rebuilding the userXX_contact table
    /*$contact_view = new ContactView();
      $contact_view->setUser($_SESSION['do_User']->iduser);
      $contact_view->rebuildContactUserTable();*/
    if ($_SESSION["page_from"] == 'reg') {
        $message = 'Facebook contacts have been imported successfully';
        ?>
          <script type="text/javascript">
              window.location = "/welcome_to_ofuz.php?message=<?php 
        echo $message;
        ?>
";
          </script>
        <?php 
 * A cron job script for sending the autoresponders.
 * Will get the autoresponders with the tags and will send the email to the contacts associated with the tag_name
 * @see class/Autoresponder.class.php
 */
include_once 'config.php';
$AutoResponder = new AutoResponder();
$AutoResponder->getAutoresponders();
if ($AutoResponder->getNumRows()) {
    while ($AutoResponder->next()) {
        $User = new User();
        $User->getId($AutoResponder->iduser);
        $User->sessionPersistent('do_User', 'contacts.php', OFUZ_TTL);
        $email_template = new EmailTemplate();
        $email_template->bodyhtml = nl2br(stripslashes($AutoResponder->bodyhtml));
        $email_template->subject = $AutoResponder->subject;
        $email_template->senderemail = $User->email;
        $email_template->sendername = $User->firstname . ' ' . $User->lastname;
        $resp_name = $AutoResponder->resp_name;
        $Contact = new Contact();
        $Contact->getContactsForAutoResponder($AutoResponder->iduser, $AutoResponder->tag_name, $AutoResponder->num_days_to_send);
        if ($Contact->getNumRows()) {
            while ($Contact->next()) {
                $values = array("idcontact" => $Contact->idcontact, "firstname" => $Contact->firstname, "lastname" => $Contact->lastname, "position" => $Contact->position, "company" => $Contact->company, "idtag" => $Contact->idtag, "resp_name" => $resp_name, "flag" => "unsubscribe_autoresponder");
                $Contact->sendMessage($email_template, $values);
                echo '<br /> Email Sent to :' . $Contact->email_address;
            }
        }
        $Contact->free();
    }
    $AutoResponder->free();
}
Beispiel #4
0
 /**
  *  The below function is to merge the contacts and related information
  *  Need some better algorithm for that so as to avoid the repeated code
  *  FIXME
  * @param $cont_array -- Array with idcontact   
  */
 function MergeContactsAutomated($cont_array)
 {
     if (is_array($cont_array)) {
         $this->mergeContactTags($cont_array);
         $this->mergeContactRelated($cont_array);
         $id_to_keep = $cont_array[0];
         //take the first record from the contact array to keep
         $do_deleting_contact = new Contact();
         $do_check_duplicate = new Contact();
         $do_cont_sharing = new ContactSharing();
         $facebook_id_updated = false;
         $facebook_image_updated = false;
         $twitter_id_updated = false;
         foreach ($cont_array as $contact_id_del) {
             if ($contact_id_del != $id_to_keep) {
                 // facebook Related keep the image if facebook image is available from the merged
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 if (!$facebook_image_updated) {
                     $q_master->query("select picture from contact where idcontact = " . $id_to_keep);
                     $q_master->fetch();
                     $picture = $q_master->getData("picture");
                     if (!preg_match("/facebook.com/", $picture, $matches)) {
                         $q_rel->query("select picture from contact where idcontact = " . $contact_id_del);
                         $q_rel->fetch();
                         $r_picture = $q_rel->getData("picture");
                         if (preg_match("/facebook.com/", $r_picture, $matches)) {
                             $q->query("update contact set picture = '" . $r_picture . "' where idcontact = " . $id_to_keep);
                             $facebook_image_updated = true;
                         }
                     } else {
                         $facebook_image_updated = true;
                     }
                 }
                 // Facebook Related keep track of facebook id of contact
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 if (!$facebook_id_updated) {
                     $q_master->query("select fb_userid from contact where idcontact = " . $id_to_keep);
                     $q_master->fetch();
                     $fb_uid = $q_master->getData("fb_userid");
                     if ($fb_uid == 0 || empty($fb_uid) || $fb_uid == '') {
                         $q_rel->query("select fb_userid from contact where idcontact = " . $contact_id_del);
                         $q_rel->fetch();
                         $fb_userid = $q_rel->getData("fb_userid");
                         if ($fb_userid != 0 && !empty($fb_userid) && $fb_userid != '') {
                             $q->query("update contact set fb_userid = " . $fb_userid . " where idcontact = " . $id_to_keep);
                             $facebook_id_updated = true;
                         }
                     } else {
                         $facebook_id_updated = true;
                     }
                 }
                 // Twitter Related :: keep track of twitter id of the contact
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 if (!$twitter_id_updated) {
                     $q_master->query("select tw_user_id from contact where idcontact = " . $id_to_keep);
                     $q_master->fetch();
                     $tw_uid = $q_master->getData('tw_user_id');
                     if (empty($tw_uid) || $tw_uid == '') {
                         $q_rel->query("select tw_user_id from contact where idcontact = " . $contact_id_del);
                         $q_rel->fetch();
                         $tw_user_id = $q_rel->getData('tw_user_id');
                         if (!empty($tw_user_id) && $tw_user_id != '') {
                             $q->query("update contact set tw_user_id = " . $tw_user_id . " where idcontact = " . $id_to_keep);
                             $twitter_id_updated = true;
                         }
                     } else {
                         $twitter_id_updated = true;
                     }
                 }
                 //update the ContactPhone with $id_to_keep
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 $q_master->query("select * from contact_phone where idcontact = " . $id_to_keep);
                 if ($q_master->getNumRows() > 0) {
                     $update_ids_array = array();
                     $q_rel->query("select * from contact_phone where idcontact = " . $contact_id_del);
                     if ($q_rel->getNumRows()) {
                         while ($q_rel->fetch()) {
                             $found = true;
                             while ($q_master->fetch()) {
                                 if ($q_rel->getData("phone_number") == $q_master->getData("phone_number") && $q_rel->getData("phone_type") == $q_master->getData("phone_type")) {
                                     $found = true;
                                     break;
                                 } else {
                                     $found = false;
                                 }
                             }
                             if (!$found) {
                                 $q->query("update contact_phone set idcontact = " . $id_to_keep . " where idcontact_phone = " . $q_rel->getData("idcontact_phone"));
                             }
                         }
                     }
                 } else {
                     $q->query("update contact_phone set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 }
                 //Update the ContactEmail with $id_to_keep
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 $q_master->query("select * from contact_email where idcontact = " . $id_to_keep);
                 if ($q_master->getNumRows() > 0) {
                     $update_ids_array = array();
                     $q_rel->query("select * from contact_email where idcontact = " . $contact_id_del);
                     if ($q_rel->getNumRows()) {
                         $count = 0;
                         while ($q_rel->fetch()) {
                             $found = true;
                             while ($q_master->fetch()) {
                                 $count++;
                                 if ($q_rel->getData("email_address") == $q_master->getData("email_address") && $q_rel->getData("email_type") == $q_master->getData("email_type")) {
                                     $found = true;
                                     break;
                                 } else {
                                     $found = false;
                                 }
                             }
                             if (!$found) {
                                 $q->query("update contact_email set idcontact = " . $id_to_keep . " where idcontact_email = " . $q_rel->getData("idcontact_email"));
                             }
                         }
                     }
                 } else {
                     $q->query("update contact_email set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 }
                 //Update the ContactInstantMessage with $id_to_keep
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 $q_master->query("select * from contact_instant_message where idcontact = " . $id_to_keep);
                 if ($q_master->getNumRows() > 0) {
                     $update_ids_array = array();
                     $q_rel->query("select * from contact_instant_message where idcontact = " . $contact_id_del);
                     if ($q_rel->getNumRows()) {
                         while ($q_rel->fetch()) {
                             $found = true;
                             while ($q_master->fetch()) {
                                 if ($q_rel->getData("im_options") == $q_master->getData("im_options") && $q_rel->getData("im_type") == $q_master->getData("im_type") && $q_rel->getData("im_username") == $q_master->getData("im_username")) {
                                     $found = true;
                                     break;
                                 } else {
                                     $found = false;
                                 }
                             }
                             if (!$found) {
                                 $q->query("update contact_instant_message set idcontact = " . $id_to_keep . " where idcontact_instant_message = " . $q_rel->getData("idcontact_instant_message"));
                             }
                         }
                     }
                 } else {
                     $q->query("update contact_instant_message set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 }
                 //Update the ContactWebsite with $id_to_keep
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 $q_master->query("select * from contact_website where idcontact = " . $id_to_keep);
                 if ($q_master->getNumRows() > 0) {
                     $update_ids_array = array();
                     $q_rel->query("select * from contact_website where idcontact = " . $contact_id_del);
                     if ($q_rel->getNumRows()) {
                         while ($q_rel->fetch()) {
                             $found = true;
                             while ($q_master->fetch()) {
                                 if ($q_rel->getData("website") == $q_master->getData("website") && $q_rel->getData("website_type") == $q_master->getData("website_type")) {
                                     $found = true;
                                     break;
                                 } else {
                                     $found = false;
                                 }
                             }
                             if (!$found) {
                                 $q->query("update contact_website set idcontact = " . $id_to_keep . " where idcontact_website = " . $q_rel->getData("idcontact_website"));
                             }
                         }
                     }
                 } else {
                     $q->query("update contact_website set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 }
                 //Update the ContactAddress with $id_to_keep
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 $q_master->query("select * from contact_address where idcontact = " . $id_to_keep);
                 if ($q_master->getNumRows() > 0) {
                     $update_ids_array = array();
                     $q_rel->query("select * from contact_address where idcontact = " . $contact_id_del);
                     if ($q_rel->getNumRows()) {
                         while ($q_rel->fetch()) {
                             $found = true;
                             while ($q_master->fetch()) {
                                 if ($q_rel->getData("address") == $q_master->getData("address") && $q_rel->getData("address_type") == $q_master->getData("address_type") && $q_rel->getData("city") == $q_master->getData("city") && $q_rel->getData("country") == $q_master->getData("country") && $q_rel->getData("state") == $q_master->getData("state") && $q_rel->getData("street") == $q_master->getData("street") && $q_rel->getData("zipcode") == $q_master->getData("zipcode")) {
                                     $found = true;
                                     break;
                                 } else {
                                     $found = false;
                                 }
                             }
                             if (!$found) {
                                 $q->query("update contact_address set idcontact = " . $id_to_keep . " where idcontact_address = " . $q_rel->getData("idcontact_address"));
                             }
                         }
                     }
                 } else {
                     $q->query("update contact_address set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 }
                 //Update the ContactRssFeed with $id_to_keep
                 $q = new sqlQuery($this->getDbCon());
                 $q_master = new sqlQuery($this->getDbCon());
                 $q_rel = new sqlQuery($this->getDbCon());
                 $q_master->query("select * from contact_rss_feed where idcontact = " . $id_to_keep);
                 if ($q_master->getNumRows() > 0) {
                     $update_ids_array = array();
                     $q_rel->query("select * from contact_rss_feed where idcontact = " . $contact_id_del);
                     if ($q_rel->getNumRows()) {
                         while ($q_rel->fetch()) {
                             $found = true;
                             while ($q_master->fetch()) {
                                 if ($q_rel->getData("feed_type") == $q_master->getData("feed_type") && $q_rel->getData("rss_feed_url") == $q_master->getData("rss_feed_url") && $q_rel->getData("username") == $q_master->getData("username")) {
                                     $found = true;
                                     break;
                                 } else {
                                     $found = false;
                                 }
                             }
                             if (!$found) {
                                 $q->query("update contact_rss_feed set idcontact = " . $id_to_keep . " where idcontact_rss_feed = " . $q_rel->getData("idcontact_rss_feed"));
                             }
                         }
                     }
                 } else {
                     $q->query("update contact_rss_feed set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 }
                 $q = new sqlQuery($this->getDbCon());
                 //Update the ContactNotes with $id_to_keep
                 $q->query("update contact_note set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 //Update the Contacttasks with $id_to_keep
                 $q->query("update task set idcontact = " . $id_to_keep . " where idcontact = " . $contact_id_del);
                 //update the invoice with #id_to_keep and idcompany
                 $idcompany = $this->getIdCompanyForContact($id_to_keep);
                 $inv_addr = $this->ajaxGetInvoiceAddress($id_to_keep);
                 $q->query("update invoice set idcontact = " . $id_to_keep . ",idcompany = {$idcompany},invoice_address='{$inv_addr}' where idcontact = " . $contact_id_del);
                 //Update the google_contact_info with $id_to_keep
                 //$q->query("update google_contact_info set idcontact = ".$id_to_keep. " where idcontact = ".$contact_id_del);
                 // Update the shared contact
                 $do_cont_sharing->resetContactSharingOnMerging($id_to_keep, $contact_id_del);
                 // delete contact
                 $do_deleting_contact->getId($contact_id_del);
                 $do_deleting_contact->delete();
             }
         }
         // For each ends here
         $do_deleting_contact->free();
         //exit;
         //$rlog = new UpdateRecordLog();
         //$rlog->setLastUpdate("contact", $id_to_keep);
         //$this->setActivity();
         return $id_to_keep;
     } else {
         return false;
     }
 }
 function eventImportAccount(EventControler $evtcl)
 {
     $msg = "";
     $uploaded_file = $_FILES['fields']['name']['import_account'];
     $target_path = 'files/' . $uploaded_file;
     if (!move_uploaded_file($_FILES['fields']['tmp_name']['import_account'], $target_path)) {
         $msg = "There was an error uploading the file, please try again!";
     } else {
         chmod($target_path, 0755);
         if (file_exists($target_path)) {
             //$xml = simplexml_load_file($_SERVER['DOCUMENT_ROOT']."/".$target_path);
             $str_xml = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/" . $target_path);
             $str_xml = preg_replace('/[^(\\x20-\\x7F)]*/', '', $str_xml);
             $xml = simplexml_load_string($str_xml);
             echo '<pre>';
             print_r($xml);
             echo '</pre>';
             die;
             if ($xml !== FALSE) {
                 $c_cnt = count($xml->contact);
                 if ($c_cnt) {
                     for ($i = 0; $i < $c_cnt; $i++) {
                         $do_contact = new Contact();
                         $contact = $xml->contact[$i];
                         $do_contact->firstname = $contact->firstname;
                         $do_contact->lastname = $contact->lastname;
                         $do_contact->position = $contact->position;
                         $do_contact->company = $contact->company;
                         $do_contact->idcompany = $contact->idcompany;
                         $do_contact->iduser = $_SESSION['do_User']->iduser;
                         $do_contact->picture = $contact->picture;
                         $do_contact->summary = $contact->summary;
                         $do_contact->birthday = $contact->birthday;
                         $do_contact->portal_code = $contact->portal_code;
                         $do_contact->fb_userid = $contact->fb_userid;
                         $do_contact->tw_user_id = $contact->tw_user_id;
                         $do_contact->email_optout = $contact->email_optout;
                         $do_contact->add();
                         $lastInsertedContId = $do_contact->getPrimaryKeyValue();
                         /**
                          *Contact Address	
                          */
                         $ca_cnt = count($contact->contact_address);
                         if ($ca_cnt) {
                             for ($ca_cnt_i = 0; $ca_cnt_i < $ca_cnt; $ca_cnt_i++) {
                                 $do_contact_address = new ContactAddress();
                                 $contact_address = $contact->contact_address[$ca_cnt_i];
                                 $do_contact_address->city = $contact_address->city;
                                 $do_contact_address->country = $contact_address->country;
                                 $do_contact_address->state = $contact_address->state;
                                 $do_contact_address->street = $contact_address->street;
                                 $do_contact_address->zipcode = $contact_address->zipcode;
                                 $do_contact_address->idcontact = $lastInsertedContId;
                                 $do_contact_address->address = $contact_address->address;
                                 $do_contact_address->address_type = $contact_address->address_type;
                                 $do_contact_address->add();
                                 $do_contact_address->free();
                             }
                         }
                         /**
                          *Contact Email	
                          */
                         $ce_cnt = count($contact->contact_email);
                         if ($ce_cnt) {
                             for ($ce_cnt_i = 0; $ce_cnt_i < $ce_cnt; $ce_cnt_i++) {
                                 $do_contact_email = new ContactEmail();
                                 $contact_email = $contact->contact_email[$ce_cnt_i];
                                 $do_contact_email->idcontact = $lastInsertedContId;
                                 $do_contact_email->email_address = $contact_email->email_address;
                                 $do_contact_email->email_type = $contact_email->email_type;
                                 $do_contact_email->email_isdefault = $contact_email->email_isdefault;
                                 $do_contact_email->add();
                                 $do_contact_email->free();
                             }
                         }
                         /**
                          *Contact Phone 
                          */
                         $cp_cnt = count($contact->contact_phone);
                         if ($cp_cnt) {
                             for ($cp_cnt_i = 0; $cp_cnt_i < $cp_cnt; $cp_cnt_i++) {
                                 $do_contact_phone = new ContactPhone();
                                 $contact_phone = $contact->contact_phone[$cp_cnt_i];
                                 $do_contact_phone->phone_number = $contact_phone->phone_number;
                                 $do_contact_phone->phone_type = $contact_phone->phone_type;
                                 $do_contact_phone->idcontact = $lastInsertedContId;
                                 $do_contact_phone->add();
                                 $do_contact_phone->free();
                             }
                         }
                         /**
                          *Contact Note	
                          */
                         $cn_cnt = count($contact->contact_note);
                         if ($cn_cnt) {
                             for ($cn_cnt_i = 0; $cn_cnt_i < $cn_cnt; $cn_cnt_i++) {
                                 $do_contact_note = new ContactNotes();
                                 $contact_note = $contact->contact_note[$cn_cnt_i];
                                 $do_contact_note->idcontact = $lastInsertedContId;
                                 $do_contact_note->note = $contact_note->note;
                                 $do_contact_note->date_added = $contact_note->date_added;
                                 $do_contact_note->document = $contact_note->document;
                                 $do_contact_note->idcompany = $contact_note->idcompany;
                                 $do_contact_note->iduser = $_SESSION['do_User']->iduser;
                                 $do_contact_note->priority = $contact_note->priority;
                                 $do_contact_note->send_email = $contact_note->send_email;
                                 $do_contact_note->hours_work = $contact_note->hours_work;
                                 $do_contact_note->note_visibility = $contact_note->note_visibility;
                                 $do_contact_note->type = $contact_note->type;
                                 $do_contact_note->add();
                                 $do_contact_note->free();
                             }
                         }
                         /**
                          *Contact Tag	
                          */
                         $ctag_cnt = count($contact->contact_tag);
                         if ($ctag_cnt) {
                             for ($ctag_cnt_i = 0; $ctag_cnt_i < $ctag_cnt; $ctag_cnt_i++) {
                                 $do_tag = new Tag();
                                 $contact_tag = $contact->contact_tag[$ctag_cnt_i];
                                 $do_tag->tag_name = $contact_tag->tag_name;
                                 $do_tag->iduser = $_SESSION['do_User']->iduser;
                                 $do_tag->reference_type = $contact_tag->reference_type;
                                 $do_tag->idreference = $lastInsertedContId;
                                 $do_tag->date_added = $contact_tag->date_added;
                                 $do_tag->add();
                                 $do_tag->free();
                             }
                         }
                         /**
                          *Contact tasks which are not associated with Project	
                          */
                         //Contact tasks which are not associated with Project
                         $ctwop_cnt = count($contact->contact_task_without_project);
                         if ($ctwop_cnt) {
                             for ($ctwop_cnt_i = 0; $ctwop_cnt_i < $ctwop_cnt; $ctwop_cnt_i++) {
                                 $do_task = new Task();
                                 $contact_task_wo_p = $contact->contact_task_without_project[$ctwop_cnt_i];
                                 $do_task->task_description = $contact_task_wo_p->task_description;
                                 $do_task->due_date = $contact_task_wo_p->due_date;
                                 $do_task->category = $contact_task_wo_p->category;
                                 $do_task->iduser = $_SESSION['do_User']->iduser;
                                 $do_task->due_date_dateformat = $contact_task_wo_p->due_date_dateformat;
                                 $do_task->status = $contact_task_wo_p->status;
                                 $do_task->date_completed = $contact_task_wo_p->date_completed;
                                 $do_task->idcontact = $lastInsertedContId;
                                 $do_task->from_note = $contact_task_wo_p->from_note;
                                 $do_task->is_sp_date_set = $contact_task_wo_p->is_sp_date_set;
                                 $do_task->task_category = $contact_task_wo_p->task_category;
                                 $do_task->add();
                                 $do_task->free();
                             }
                         }
                         /**
                          *Contact tasks which are associated with Project	
                          */
                         $arr_prj = array();
                         $cont_task_with_prj_cnt = count($contact->contact_task_with_project);
                         if ($cont_task_with_prj_cnt) {
                             for ($i = 0; $i < $cont_task_with_prj_cnt; $i++) {
                                 $do_project = new Project();
                                 $project = $contact->contact_task_with_project[$i];
                                 $do_project->iduser = $_SESSION['do_User']->iduser;
                                 $do_project->name = $project->name;
                                 $do_project->end_date_dateformat = $project->end_date_dateformat;
                                 $do_project->idcompany = $project->idcompany;
                                 $do_project->status = $project->status;
                                 $do_project->effort_estimated_hrs = $project->effort_estimated_hrs;
                                 $do_project->is_public = $project->is_public;
                                 $do_project->add();
                                 $lastInsertedPrjId = $do_project->getPrimaryKeyValue();
                                 //$arr_prj[$lastInsertedPrjId] = $project->idproject;
                                 $pt_cnt = count($project->project_task);
                                 if ($pt_cnt) {
                                     for ($pt_cnt_i = 0; $pt_cnt_i < $pt_cnt; $pt_cnt_i++) {
                                         $do_task = new Task();
                                         $project_task = $project->project_task[$pt_cnt_i];
                                         $do_task->task_description = $project_task->task_description;
                                         $do_task->due_date = $project_task->due_date;
                                         $do_task->category = $project_task->category;
                                         $do_task->iduser = $_SESSION['do_User']->iduser;
                                         $do_task->due_date_dateformat = $project_task->due_date_dateformat;
                                         $do_task->status = $project_task->status;
                                         $do_task->date_completed = $project_task->date_completed;
                                         $do_task->idcontact = $lastInsertedContId;
                                         $do_task->from_note = $project_task->from_note;
                                         $do_task->is_sp_date_set = $project_task->is_sp_date_set;
                                         $do_task->task_category = $project_task->task_category;
                                         $do_task->add();
                                         $lastInsertedTaskId = $do_task->getPrimaryKeyValue();
                                         $do_project_task = new ProjectTask();
                                         $do_project_task->idtask = $lastInsertedTaskId;
                                         $do_project_task->idproject = $lastInsertedPrjId;
                                         $do_project_task->progress = $project_task->progress;
                                         $do_project_task->drop_box_code = $project_task->drop_box_code;
                                         $do_project_task->priority = $project_task->priority;
                                         $do_project_task->hrs_work_expected = $project_task->hrs_work_expected;
                                         $do_project_task->add();
                                         $lastInsertedPrjTaskId = $do_project_task->getPrimaryKeyValue();
                                         $pd_cnt = count($project_task->project_discuss);
                                         if ($pd_cnt) {
                                             for ($i = 0; $i < $pd_cnt; $i++) {
                                                 $do_project_discuss = new ProjectDiscuss();
                                                 $project_discuss = $project_task->project_discuss[$i];
                                                 $do_project_discuss->idproject_task = $lastInsertedPrjTaskId;
                                                 $do_project_discuss->idtask = $lastInsertedTaskId;
                                                 $do_project_discuss->idproject = $lastInsertedPrjId;
                                                 $do_project_discuss->discuss = $project_discuss->discuss;
                                                 $do_project_discuss->date_added = $project_discuss->date_added;
                                                 $do_project_discuss->document = $project_discuss->document;
                                                 $do_project_discuss->iduser = $_SESSION['do_User']->iduser;
                                                 $do_project_discuss->drop_box_sender = $project_discuss->drop_box_sender;
                                                 $do_project_discuss->priority = $project_discuss->priority;
                                                 $do_project_discuss->hours_work = $project_discuss->hours_work;
                                                 $do_project_discuss->discuss_edit_access = $project_discuss->discuss_edit_access;
                                                 $do_project_discuss->type = $project_discuss->type;
                                                 $do_project_discuss->add();
                                                 $do_project_discuss->free();
                                             }
                                         }
                                         $do_project_task->free();
                                         $do_task->free();
                                     }
                                 }
                                 $do_project->free();
                             }
                         }
                         /**
                          *Invoice import
                          */
                         $msg_inv = "";
                         $inv_cnt = count($contact->invoice);
                         if ($inv_cnt) {
                             for ($inv_cnt_i = 0; $inv_cnt_i < $inv_cnt; $inv_cnt_i++) {
                                 $do_invoice = new Invoice();
                                 $invoice = $contact->invoice[$inv_cnt_i];
                                 $do_invoice->num = $invoice->num;
                                 $do_invoice->iduser = $_SESSION['do_User']->iduser;
                                 $do_invoice->description = $invoice->description;
                                 $do_invoice->amount = $invoice->amount;
                                 $do_invoice->datepaid = $invoice->datepaid;
                                 $do_invoice->datecreated = $invoice->datecreated;
                                 $do_invoice->status = $invoice->status;
                                 $do_invoice->discount = $invoice->discount;
                                 $do_invoice->idcontact = $lastInsertedContId;
                                 $do_invoice->due_date = $invoice->due_date;
                                 $do_invoice->invoice_address = $invoice->invoice_address;
                                 $do_invoice->invoice_term = $invoice->invoice_term;
                                 $do_invoice->invoice_note = $invoice->invoice_note;
                                 $do_invoice->sub_total = $invoice->sub_total;
                                 $do_invoice->net_total = $invoice->net_total;
                                 $do_invoice->amt_due = $invoice->amt_due;
                                 $do_invoice->idcompany = $invoice->idcompany;
                                 $do_invoice->tax = $invoice->tax;
                                 $do_invoice->set_delete = $invoice->set_delete;
                                 $do_invoice->total_discounted_amt = $invoice->total_discounted_amt;
                                 $do_invoice->total_taxed_amount = $invoice->total_taxed_amount;
                                 $do_invoice->add();
                                 $lastInsertedInvoiceId = $do_invoice->getPrimaryKeyValue();
                                 $invline_cnt = count($invoice->invoiceline);
                                 if ($invline_cnt) {
                                     for ($invline_cnt_i = 0; $invline_cnt_i < $invline_cnt; $invline_cnt_i++) {
                                         $do_invoiceline = new InvoiceLine();
                                         $invoiceline = $invoice->invoiceline[$invline_cnt_i];
                                         $do_invoiceline->idinvoice = $lastInsertedInvoiceId;
                                         $do_invoiceline->description = $invoiceline->description;
                                         $do_invoiceline->price = $invoiceline->price;
                                         $do_invoiceline->qty = $invoiceline->qty;
                                         $do_invoiceline->total = $invoiceline->total;
                                         $do_invoiceline->item = $invoiceline->item;
                                         $do_invoiceline->line_tax = $invoiceline->line_tax;
                                         $do_invoiceline->discounted_amount = $invoiceline->discounted_amount;
                                         $do_invoiceline->taxed_amount = $invoiceline->taxed_amount;
                                         $do_invoiceline->add();
                                         $do_invoiceline->free();
                                     }
                                 }
                                 //invoiceline import ends
                                 // recurrentinvoice
                                 $recinv_cnt = count($invoice->recurrentinvoice);
                                 if ($recinv_cnt) {
                                     for ($recinv_cnt_i = 0; $recinv_cnt_i < $recinv_cnt; $recinv_cnt_i++) {
                                         $do_recurrentinvoice = new RecurrentInvoice();
                                         $recurrentinvoice = $invoice->recurrentinvoice[$recinv_cnt_i];
                                         $do_recurrentinvoice->iduser = $_SESSION['do_User']->iduser;
                                         $do_recurrentinvoice->idinvoice = $lastInsertedInvoiceId;
                                         $do_recurrentinvoice->nextdate = $recurrentinvoice->nextdate;
                                         $do_recurrentinvoice->recurrence = $recurrentinvoice->recurrence;
                                         $do_recurrentinvoice->recurrencetype = $recurrentinvoice->recurrencetype;
                                         $do_recurrentinvoice->add();
                                         $do_recurrentinvoice->free();
                                     }
                                 }
                                 //recurrentinvoice import ends
                                 // Payment Log import
                                 $paymentlog_cnt = count($invoice->paymentlog);
                                 if ($paymentlog_cnt) {
                                     for ($paymentlog_cnt_i = 0; $paymentlog_cnt_i < $paymentlog_cnt; $paymentlog_cnt_i++) {
                                         $do_paymentlog = new PaymentLog();
                                         $paymentlog = $invoice->paymentlog[$paymentlog_cnt_i];
                                         $do_paymentlog->timestamp = $paymentlog->timestamp;
                                         $do_paymentlog->idinvoice = $lastInsertedInvoiceId;
                                         $do_paymentlog->amount = $paymentlog->amount;
                                         $do_paymentlog->payment_type = $paymentlog->payment_type;
                                         $do_paymentlog->ref_num = $paymentlog->ref_num;
                                         $do_paymentlog->date_added = $paymentlog->date_added;
                                         $do_paymentlog->add();
                                         $lastInsertedPaymentLogId = $do_paymentlog->getPrimaryKeyValue();
                                         //payment_invoice : Payment Invoice import
                                         $paymentinv_cnt = count($paymentlog->payment_invoice);
                                         if ($paymentinv_cnt) {
                                             for ($paymentinv_cnt_i = 0; $paymentinv_cnt_i < $paymentinv_cnt; $paymentinv_cnt_i++) {
                                                 $do_payment_invoice = new PaymentInvoice();
                                                 $paymentinvoice = $paymentlog->payment_invoice[$paymentinv_cnt_i];
                                                 $do_payment_invoice->idpayment = $lastInsertedPaymentLogId;
                                                 $do_payment_invoice->idinvoice = $lastInsertedInvoiceId;
                                                 $do_payment_invoice->amount = $paymentinvoice->amount;
                                                 $do_payment_invoice->add();
                                                 $do_payment_invoice->free();
                                             }
                                         }
                                         // payment_invoice import ends
                                         //paymentlog_extra_amount import
                                         $paymentlog_ext_amt_cnt = count($paymentlog->paymentlog_extra_amount);
                                         if ($paymentlog_ext_amt_cnt) {
                                             for ($paymentlog_ext_amt_cnt_i = 0; $paymentlog_ext_amt_cnt_i < $paymentlog_ext_amt_cnt; $paymentlog_ext_amt_cnt_i++) {
                                                 $paymentlog_extra_amount = $paymentlog->paymentlog_extra_amount[$paymentlog_ext_amt_cnt_i];
                                                 $q = new sqlQuery($GLOBALS['conx']);
                                                 $query = "INSERT INTO paymentlog_extra_amount (`idpaymentlog`,`extra_amt`,`iduser`)\n            VALUES (" . $lastInsertedPaymentLogId . "," . $paymentlog_extra_amount->extra_amt . "," . $_SESSION['do_User']->iduser . ")\n            ";
                                                 $q->query($query);
                                                 $q->free();
                                             }
                                         }
                                         // paymentlog_extra_amount import ends
                                         $do_paymentlog->free();
                                     }
                                 }
                                 //Payment Log import ends
                                 $msg_inv = ", Invoices";
                                 $do_invoice->free();
                             }
                         }
                         // Invoice import ends
                         /************************************************************************************************************************/
                         $do_contact->free();
                     }
                     $msg = "Your Contacts" . $msg_inv;
                 }
                 /**
                  *Company insert
                  */
                 $compani_id = array();
                 $lastInsertedCompani_id = array();
                 $companies_cnt = count($xml->companies);
                 if ($companies_cnt) {
                     for ($i = 0; $i < $companies_cnt; $i++) {
                         $do_company = new Company();
                         $company = $xml->companies[$i];
                         array_push($compani_id, "{$company->idcompany}");
                         // $do_company->idcompany=$company->idcompany;
                         $do_company->name = $company->name;
                         $do_company->iduser = $_SESSION['do_User']->iduser;
                         $do_company->add();
                         array_push($lastInsertedCompani_id, $do_company->getPrimaryKeyValue());
                         $do_company->free();
                     }
                 }
                 //tasks which are neither associated with Contact nor with project
                 $task_wop_cnt = count($xml->task_without_project);
                 if ($task_wop_cnt) {
                     for ($i = 0; $i < $task_wop_cnt; $i++) {
                         $do_task = new Task();
                         $task_wop = $xml->task_without_project[$i];
                         $do_task->task_description = $task_wop->task_description;
                         $do_task->due_date = $task_wop->due_date;
                         $do_task->category = $task_wop->category;
                         $do_task->iduser = $_SESSION['do_User']->iduser;
                         $do_task->due_date_dateformat = $task_wop->due_date_dateformat;
                         $do_task->status = $task_wop->status;
                         $do_task->date_completed = $task_wop->date_completed;
                         $do_task->idcontact = $task_wop->idcontact;
                         //it would be 0 since not associated with contact.
                         $do_task->from_note = $task_wop->from_note;
                         $do_task->is_sp_date_set = $task_wop->is_sp_date_set;
                         $do_task->task_category = $task_wop->task_category;
                         $do_task->add();
                         $do_task->free();
                     }
                     $msg .= ", Tasks";
                 }
                 //tasks which are associated with Project
                 $prj_cnt = count($xml->project);
                 if ($prj_cnt) {
                     for ($i = 0; $i < $prj_cnt; $i++) {
                         $do_project = new Project();
                         $project = $xml->project[$i];
                         $do_project->iduser = $_SESSION['do_User']->iduser;
                         $do_project->name = $project->name;
                         $do_project->end_date_dateformat = $project->end_date_dateformat;
                         $do_project->idcompany = $project->idcompany;
                         $do_project->status = $project->status;
                         $do_project->effort_estimated_hrs = $project->effort_estimated_hrs;
                         $do_project->is_public = $project->is_public;
                         $do_project->add();
                         $lastInsertedPrjId = $do_project->getPrimaryKeyValue();
                         $pt_cnt = count($project->project_task);
                         if ($pt_cnt) {
                             for ($pt_cnt_i = 0; $pt_cnt_i < $pt_cnt; $pt_cnt_i++) {
                                 $do_task = new Task();
                                 $project_task = $project->project_task[$pt_cnt_i];
                                 $do_task->task_description = $project_task->task_description;
                                 $do_task->due_date = $project_task->due_date;
                                 $do_task->category = $project_task->category;
                                 $do_task->iduser = $_SESSION['do_User']->iduser;
                                 $do_task->due_date_dateformat = $project_task->due_date_dateformat;
                                 $do_task->status = $project_task->status;
                                 $do_task->date_completed = $project_task->date_completed;
                                 $do_task->idcontact = $project_task->idcontact;
                                 $do_task->from_note = $project_task->from_note;
                                 $do_task->is_sp_date_set = $project_task->is_sp_date_set;
                                 $do_task->task_category = $project_task->task_category;
                                 $do_task->add();
                                 $lastInsertedTskId = $do_task->getPrimaryKeyValue();
                                 $q = new sqlQuery($GLOBALS['conx']);
                                 if ($project_task->progress == '') {
                                     $project_task_progress = 0;
                                 } else {
                                     $project_task_progress = $project_task->progress;
                                 }
                                 $sql = "INSERT INTO \n\t\t\tproject_task (idtask, idproject, progress,drop_box_code,priority,hrs_work_expected) \n\t\t\tVALUES ({$lastInsertedTskId},{$lastInsertedPrjId},{$project_task_progress},{$project_task->drop_box_code},{$project_task->priority},{$project_task->hrs_work_expected})";
                                 echo $sql;
                                 echo "<br>";
                                 $q->query($sql);
                                 $lastInsertedPrjTaskId = $q->getInsertId('project_task', 'idproject_task');
                                 $pd_cnt = count($project_task->project_discuss);
                                 if ($pd_cnt) {
                                     for ($pd_cnt_i = 0; $pd_cnt_i < $pd_cnt; $pd_cnt_i++) {
                                         $do_project_discuss = new ProjectDiscuss();
                                         $project_discuss = $project_task->project_discuss[$pd_cnt_i];
                                         $do_project_discuss->idproject_task = $lastInsertedPrjTaskId;
                                         $do_project_discuss->idtask = $lastInsertedTskId;
                                         $do_project_discuss->idproject = $lastInsertedPrjId;
                                         $do_project_discuss->discuss = $project_discuss->discuss;
                                         $do_project_discuss->date_added = $project_discuss->date_added;
                                         $do_project_discuss->document = $project_discuss->document;
                                         $do_project_discuss->iduser = $_SESSION['do_User']->iduser;
                                         $do_project_discuss->drop_box_sender = $project_discuss->drop_box_sender;
                                         $do_project_discuss->priority = $project_discuss->priority;
                                         $do_project_discuss->hours_work = $project_discuss->hours_work;
                                         $do_project_discuss->discuss_edit_access = $project_discuss->discuss_edit_access;
                                         $do_project_discuss->type = $project_discuss->type;
                                         $do_project_discuss->add();
                                         $do_project_discuss->free();
                                     }
                                 }
                                 // $do_project_task->free();
                                 $do_task->free();
                             }
                         }
                         $do_project->free();
                     }
                     $compani_id_cnt = count($compani_id);
                     if ($compani_id_cnt) {
                         $j = 0;
                         foreach ($compani_id as $cmp_id) {
                             $q = new sqlQuery($GLOBALS['conx']);
                             $sql = "UPDATE  contact SET idcompany ={$lastInsertedCompani_id[$j]}  WHERE  iduser={$_SESSION['do_User']->iduser} AND idcompany ={$cmp_id}";
                             $q->query($sql);
                             $sql1 = "UPDATE  invoice SET idcompany ={$lastInsertedCompani_id[$j]}  WHERE  iduser={$_SESSION['do_User']->iduser} AND idcompany ={$cmp_id}";
                             $q->query($sql1);
                             $sql2 = "UPDATE  project SET idcompany ={$lastInsertedCompani_id[$j]}  WHERE  iduser={$_SESSION['do_User']->iduser} AND idcompany ={$cmp_id}";
                             $q->query($sql2);
                             $q->free();
                             $j++;
                         }
                     }
                     $do_create_usrtbl = new ContactView();
                     $do_create_usrtbl->rebuildContactUserTable($_SESSION['do_User']->iduser);
                     $msg .= " and Projects have been imported successfully.";
                 }
             } else {
                 $msg = "Sorry! The data could not be imported.";
             }
         } else {
             $msg = "Sorry! Could not find the uploaded file.";
         }
     }
     $_SESSION['in_page_message'] = $msg;
 }
 /**
  * Method to import the facebook friends using the queue
  * @param object $job
  * @see Contact::importFacebookFriends();
  */
 public function jobqueue_fb_friend_import($job)
 {
     include_once 'facebook_client/facebook.php';
     include_once 'class/OfuzFacebook.class.php';
     //$qry = new sqlQuery($this->getDbCon());
     //$qry_d = new sqlQuery($this->getDbCon());
     $data = $job->obj_data;
     $iduser = $job->iduser;
     $obj = unserialize($data);
     if (is_object($obj)) {
         try {
             @($friends = $obj->getFbFriends());
             // will contain the fbid of friends
         } catch (Exception $e) {
             echo 'Friends Not Found !!';
         }
         $list = $obj->getFriendsList();
         $count = count(@$friends);
         $i = 1;
         $j = 0;
         foreach (@$friends as $friend) {
             $frnd_list = array();
             $frnd_list = $list;
             $list_name_array = array();
             if (is_array($frnd_list)) {
                 foreach ($frnd_list as $frnd_list) {
                     $list_id = $frnd_list['flid'];
                     $frnds_in_list = $obj->getFriendsInList($list_id);
                     if (@in_array($friend, $frnds_in_list)) {
                         $list_name_array[] = $frnd_list['name'];
                     }
                 }
             }
             $j++;
             //echo '11';
             $do_contact = new Contact();
             $name = $obj->getFbUserName($friend);
             // will contain the firstand last name in facebook
             $affiliations = $obj->getFbUserAffiliations($friend);
             $work_history = $obj->getWorkHistory($friend);
             $profile_url = $obj->getProfileURL($friend);
             $profile_pic_with_logo = $obj->getProfilePicWithLogo($friend);
             $friends_data = array("fb_uid" => $friend, "name" => $name, "affiliations" => $affiliations, "work" => $work_history, "profile_url" => $profile_url, "pic_with_logo" => $profile_pic_with_logo, "listname" => $list_name_array);
             $do_contact->importFacebookFriends($friends_data, $iduser);
             $do_contact->free();
         }
         echo '<h2>Friends have been imported for Userid ' . $iduser . '</h2> ';
     }
 }