trac750 Automatically update Identi.ca profile box with user's latest dent
This commit is contained in:
parent
689be14215
commit
a373e6f500
@ -82,20 +82,23 @@ class FacebookhomeAction extends FacebookAction
|
||||
|
||||
function showHome($flink, $msg)
|
||||
{
|
||||
$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);
|
||||
$notice = $user->getCurrentNotice();
|
||||
update_profile_box($facebook, $fbuid, $user, $notice);
|
||||
|
||||
$this->update_profile_box($facebook, $fbuid, $user);
|
||||
|
||||
$this->show_header('Home');
|
||||
|
||||
if ($msg) {
|
||||
common_element('fb:success', array('message' => $msg));
|
||||
}
|
||||
|
||||
echo $this->show_notices($user);
|
||||
|
||||
$this->show_footer();
|
||||
}
|
||||
|
@ -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 = '<style>
|
||||
#notices {
|
||||
clear: both;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
width: 600px;
|
||||
border-top: 1px solid #dec5b5;
|
||||
}
|
||||
#notices a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.notice_single {
|
||||
clear: both;
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 5px 5px 5px 0;
|
||||
min-height: 48px;
|
||||
font-family: Georgia, "Times New Roman", Times, serif;
|
||||
font-size: 13px;
|
||||
line-height: 16px;
|
||||
border-bottom: 1px solid #dec5b5;
|
||||
background-color:#FCFFF5;
|
||||
opacity:1;
|
||||
}
|
||||
.notice_single:hover {
|
||||
background-color: #f7ebcc;
|
||||
}
|
||||
.notice_single p {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>';
|
||||
|
||||
$html = Facebookaction::render_notice($notice);
|
||||
|
||||
|
||||
$fbml = "<fb:wide>$style $html</fb:wide>";
|
||||
$fbml .= "<fb:narrow>$style $html</fb:narrow>";
|
||||
|
||||
$fbml_main = "<fb:narrow>$style $html</fb:narrow>";
|
||||
|
||||
$facebook->api_client->profile_setFBML(null, $fbuid, $fbml, null, null, $fbml_main);
|
||||
}
|
||||
|
||||
# Display methods
|
||||
|
||||
function show_header($selected = 'Home', $msg = null, $success = false)
|
||||
{
|
||||
|
||||
|
@ -49,3 +49,58 @@ function start_fbml($indent = true)
|
||||
$xw->openURI('php://output');
|
||||
$xw->setIndent($indent);
|
||||
}
|
||||
|
||||
function update_profile_box($facebook, $fbuid, $user, $notice)
|
||||
{
|
||||
|
||||
// Need to include inline CSS for styling the Profile box
|
||||
|
||||
$style = '<style>
|
||||
#notices {
|
||||
clear: both;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
width: 600px;
|
||||
border-top: 1px solid #dec5b5;
|
||||
}
|
||||
#notices a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.notice_single {
|
||||
clear: both;
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 5px 5px 5px 0;
|
||||
min-height: 48px;
|
||||
font-family: Georgia, "Times New Roman", Times, serif;
|
||||
font-size: 13px;
|
||||
line-height: 16px;
|
||||
border-bottom: 1px solid #dec5b5;
|
||||
background-color:#FCFFF5;
|
||||
opacity:1;
|
||||
}
|
||||
.notice_single:hover {
|
||||
background-color: #f7ebcc;
|
||||
}
|
||||
.notice_single p {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>';
|
||||
|
||||
global $xw;
|
||||
$xw = new XMLWriter();
|
||||
$xw->openMemory();
|
||||
|
||||
$item = new NoticeListItem($notice);
|
||||
$item->show();
|
||||
|
||||
$fbml = "<fb:wide>$style " . $xw->outputMemory(false) . "</fb:wide>";
|
||||
$fbml .= "<fb:narrow>$style " . $xw->outputMemory(false) . "</fb:narrow>";
|
||||
|
||||
$fbml_main = "<fb:narrow>$style " . $xw->outputMemory(false) . "</fb:narrow>";
|
||||
|
||||
$facebook->api_client->profile_setFBML(null, $fbuid, $fbml, null, null, $fbml_main);
|
||||
}
|
||||
|
@ -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++;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user