$link = '<br /><a href="http://twitter.com/' . $user->screen_name . '" target="_blank">Back to the Source of the Article</a><br />'; $note_content = nl2br(strip_tags($user->status->text)); $do_contact_note = new ContactNotes(); $do_contact_note->idcontact = $idcontact; $do_contact_note->note = $note_content . $link; $do_contact_note->date_added = date('Y-m-d'); $do_contact_note->iduser = $iduser; $do_contact_note->add(); $workfeed = new WorkFeedRssFeedImport(); $workfeed->addRssFeed($do_contact_note, 'http://twitter.com/' . $user->screen_name, $note_content); $imported[] = $user->id; } } } // Import Notes from followers $followers = $ofuz_twitter->userFollowers(true); if (is_object($followers) && count($followers->user) > 0) { foreach ($followers->user as $user) { // Don't import twice; friends may be followers if (in_array($user->id, $imported)) { continue; } $idcontact = $do_twitter->cronFeedStatus($iduser, $user->id, strtotime($user->status->created_at)); if ($idcontact !== false) { $link = '<br /><a href="http://twitter.com/' . $user->screen_name . '" target="_blank">Back to the Source of the Article</a><br />'; $note_content = nl2br(strip_tags($user->status->text)); $do_contact_note = new ContactNotes(); $do_contact_note->idcontact = $idcontact; $do_contact_note->note = $note_content . $link; $do_contact_note->date_added = date('Y-m-d'); $do_contact_note->iduser = $iduser;
/** * sendMessage * This abstract the message sending so we use a general function * that will send email or facebook or twitter based on the user * preferences and settings. * its possible to generate an EmailTemplate on the fly with no records in the DB * Here is an exemple: * <code php> * $do_template = new EmailTemplate(); * $do_template->senderemail = "*****@*****.**"; * $do_template->sendername = "Philippe Lewicki"; * $do_template->subject = "This is an example"; * $do_template->bodytext = "This is the content of the sample message"; * $do_template->bodyhtml = nl2br($do_template->bodytext); * </code> * * An other example more OO / stylish * <code php> * $do_template = new EmailTemplate(); * $do_template->setFrom("*****@*****.**", "Philippe Lewicki") * ->setSubject("This is an example") * ->setMessage("This is the content of the sample message"); * </code> * setFrom() is optional, if not provided it takes the do_User data * * Then send the message with: $contact->sendMessage($do_template); * * If you used a saved EmailTemplate like * $do_template = new EmailTemplate("my template in email template table"); * and want the sender to be the currently signed in user, make sure the senderemail field * is empty. * * @param $message an EmailTemplate object. * @param $values an array with values to merge, optional. * */ function sendMessage($template, $values = array()) { if (!is_object($template)) { return false; } if (empty($values)) { $values = $this->getValues(); } $this->last_message_sent = false; $do_contact_email = $this->getChildContactEmail(); $email_to = $do_contact_email->getDefaultEmail(); $this->setLog("\n Sending message to:" . $email_to); $contact_link = '<a href="/Contact/' . $this->idcontact . '">' . $this->firstname . ' ' . $this->lastname . '</a>'; if (strlen($email_to) > 4) { if ($this->email_optout != 'y') { $emailer = new Ofuz_Emailer('UTF-8'); if (strlen($template->senderemail) == 0) { $template->setFrom($_SESSION['do_User']->email, $_SESSION['do_User']->getFullName()); } $emailer->setEmailTemplate($template); $emailer->mergeArrayWithFooter($values); $emailer->addTo($email_to); $this->last_message_sent = true; return $emailer->send(); } else { $_SESSION['in_page_message'] .= _("<br>" . $contact_link . " has opt-out and will not receive this email"); } } elseif (strlen($this->tw_user_id) > 0) { // send direct message using twitter api. try { $do_twitter = new OfuzTwitter(); $tw_config = $do_twitter->getTwitterConfig(); $serialized_token = $do_twitter->getAccessToken(); $token = unserialize($serialized_token); $ofuz_twitter = new Ofuz_Service_Twitter($token->getParam('user_id'), $tw_config, $token); $followers = $ofuz_twitter->userFollowers(false); if (is_object($followers) && count($followers->user) > 0) { foreach ($followers->user as $follower) { if ($follower->id == $this->tw_user_id) { $merge = new MergeString(); $message = $merge->withArray($template->bodytext, $values); $ofuz_twitter->directMessageNew($this->tw_user_id, $message); $do_contact_notes = new ContactNotes(); $do_contact_notes->iduser = $_SESSION['do_User']->iduser; $do_contact_notes->note = $message; $do_contact_notes->date_added = date('Y-m-d'); $do_contact_notes->idcontact = $this->idcontact; $do_contact_notes->add(); return true; } } } $_SESSION['in_page_message'] .= _("<br>Notification can not be sent to " . $contact_link); } catch (Exception $e) { $_SESSION['in_page_message'] .= _("<br>Notification can not be sent to " . $contact_link); } } elseif ($this->fb_userid && $_SESSION["do_User"]->global_fb_connected) { // send message using facebook api. include_once 'facebook_client/facebook.php'; include_once 'class/OfuzFacebook.class.php'; $facebook = new Facebook(FACEBOOK_API_KEY, FACEBOOK_APP_SECRET); try { $msg = _(' has sent the following message using ofuz') . '<br />'; $msg .= '<b>' . $template->subject . '</b><br/>' . $template->bodyhtml; $facebook->api_client->notifications_send($this->fb_userid, $msg, 'user_to_user'); //$this->last_message_sent = true; } catch (Exception $e) { $_SESSION['in_page_message'] .= _("<br>Notification can not be sent to " . $contact_link); } } else { $_SESSION['in_page_message'] .= _("<br>" . $contact_link . " doesn't have a valid email address, facebook account, or twitter id."); } if ($this->last_message_sent) { return true; } else { return false; } }
</div> </div> <div class="contentfull"> <div class="spacerblock_80"></div> <div class="spacerblock_80"> <div id="waitimage" class="center_text"> <img class="center_elem" src="/images/wait30.gif" width="30" height="30" alt="" /> </div> </div> <?php $token = unserialize($serialized_token); $tw_user_id = $token->getParam('user_id'); $tw_screen_name = $token->getParam('screen_name'); $tw_config = $do_twitter->getTwitterConfig(); $ofuz_twitter = new Ofuz_Service_Twitter($tw_user_id, $tw_config, $token); $followers = $ofuz_twitter->userFollowers(false); // false = do not fetch Status if (count($followers->user) > 0) { foreach ($followers->user as $user) { $user_id = $user->id; $name = $user->name; // will contain the first and last name $screen_name = $user->screen_name; $description = $user->description; $profile_image_url = $user->profile_image_url; $url = $user->url; $friend_data = array('user_id' => $user_id, 'name' => $name, 'screen_name' => $screen_name, 'description' => $description, 'profile_image_url' => $profile_image_url, 'url' => $url); $do_twitter->importTwitterFriend($friend_data, 'Follower'); } //rebuilding the userXX_contact table $contact_view = new ContactView();