diff --git a/actions/facebookhome.php b/actions/facebookhome.php
index 4e67494f04..bbef447cdb 100644
--- a/actions/facebookhome.php
+++ b/actions/facebookhome.php
@@ -82,21 +82,24 @@ class FacebookhomeAction extends FacebookAction
function showHome($flink, $msg)
{
+
+ $facebook = get_facebook();
+ $fbuid = $facebook->require_login();
+
+ $user = $flink->getUser();
+
+ $notice = $user->getCurrentNotice();
+ update_profile_box($facebook, $fbuid, $user, $notice);
+
+
$this->show_header('Home');
if ($msg) {
common_element('fb:success', array('message' => $msg));
}
- $facebook = get_facebook();
- $fbuid = $facebook->require_login();
-
- $user = $flink->getUser();
-
echo $this->show_notices($user);
- $this->update_profile_box($facebook, $fbuid, $user);
-
$this->show_footer();
}
diff --git a/lib/facebookaction.php b/lib/facebookaction.php
index 04bbd67bae..ddf81c034b 100644
--- a/lib/facebookaction.php
+++ b/lib/facebookaction.php
@@ -29,61 +29,6 @@ class FacebookAction extends Action
parent::handle($args);
}
- function update_profile_box($facebook, $fbuid, $user)
- {
-
- $notice = $user->getCurrentNotice();
-
- # Need to include inline CSS for styling the Profile box
-
- $style = '';
-
- $html = Facebookaction::render_notice($notice);
-
-
- $fbml = "$style $html";
- $fbml .= "$style $html";
-
- $fbml_main = "$style $html";
-
- $facebook->api_client->profile_setFBML(null, $fbuid, $fbml, null, null, $fbml_main);
- }
-
- # Display methods
-
function show_header($selected = 'Home', $msg = null, $success = false)
{
diff --git a/lib/facebookutil.php b/lib/facebookutil.php
index e844dd09a5..2529b8a4b8 100644
--- a/lib/facebookutil.php
+++ b/lib/facebookutil.php
@@ -48,4 +48,59 @@ function start_fbml($indent = true)
$xw = new XMLWriter();
$xw->openURI('php://output');
$xw->setIndent($indent);
-}
\ No newline at end of file
+}
+
+function update_profile_box($facebook, $fbuid, $user, $notice)
+{
+
+ // Need to include inline CSS for styling the Profile box
+
+ $style = '';
+
+ global $xw;
+ $xw = new XMLWriter();
+ $xw->openMemory();
+
+ $item = new NoticeListItem($notice);
+ $item->show();
+
+ $fbml = "$style " . $xw->outputMemory(false) . "";
+ $fbml .= "$style " . $xw->outputMemory(false) . "";
+
+ $fbml_main = "$style " . $xw->outputMemory(false) . "";
+
+ $facebook->api_client->profile_setFBML(null, $fbuid, $fbml, null, null, $fbml_main);
+}
diff --git a/scripts/update_facebook.php b/scripts/update_facebook.php
index 15c0e49f84..2a1251f372 100755
--- a/scripts/update_facebook.php
+++ b/scripts/update_facebook.php
@@ -31,7 +31,7 @@ require_once(INSTALLDIR . '/lib/common.php');
require_once(INSTALLDIR . '/lib/facebookutil.php');
// For storing the last run date-time
-$last_updated_file = "/home/zach/laconica/scripts/facebook_last_updated";
+$last_updated_file = INSTALLDIR . '/scripts/facebook_last_updated';
// Lock file name
$tmp_file = "/tmp/update_facebook.lock";
@@ -54,7 +54,8 @@ $cnt = 0;
while($notice->fetch()) {
- $flink = Foreign_link::getByUserID($notice->profile_id, 2);
+ $flink = Foreign_link::getByUserID($notice->profile_id, FACEBOOK_SERVICE);
+ $user = $flink->getUser();
$fbuid = $flink->foreign_id;
$content = $notice->content;
@@ -64,6 +65,7 @@ while($notice->fetch()) {
if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $content) ||
(($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) == FOREIGN_NOTICE_SEND_REPLY)) {
update_status($fbuid, $content);
+ update_profile_box($facebook, $fbuid, $user, $notice);
$cnt++;
}
}