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)
|
function showHome($flink, $msg)
|
||||||
{
|
{
|
||||||
$this->show_header('Home');
|
|
||||||
|
|
||||||
if ($msg) {
|
|
||||||
common_element('fb:success', array('message' => $msg));
|
|
||||||
}
|
|
||||||
|
|
||||||
$facebook = get_facebook();
|
$facebook = get_facebook();
|
||||||
$fbuid = $facebook->require_login();
|
$fbuid = $facebook->require_login();
|
||||||
|
|
||||||
$user = $flink->getUser();
|
$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();
|
$this->show_footer();
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,61 +29,6 @@ class FacebookAction extends Action
|
||||||
parent::handle($args);
|
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)
|
function show_header($selected = 'Home', $msg = null, $success = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -49,3 +49,58 @@ function start_fbml($indent = true)
|
||||||
$xw->openURI('php://output');
|
$xw->openURI('php://output');
|
||||||
$xw->setIndent($indent);
|
$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');
|
require_once(INSTALLDIR . '/lib/facebookutil.php');
|
||||||
|
|
||||||
// For storing the last run date-time
|
// 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
|
// Lock file name
|
||||||
$tmp_file = "/tmp/update_facebook.lock";
|
$tmp_file = "/tmp/update_facebook.lock";
|
||||||
|
@ -54,7 +54,8 @@ $cnt = 0;
|
||||||
|
|
||||||
while($notice->fetch()) {
|
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;
|
$fbuid = $flink->foreign_id;
|
||||||
$content = $notice->content;
|
$content = $notice->content;
|
||||||
|
|
||||||
|
@ -64,6 +65,7 @@ while($notice->fetch()) {
|
||||||
if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $content) ||
|
if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $content) ||
|
||||||
(($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) == FOREIGN_NOTICE_SEND_REPLY)) {
|
(($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) == FOREIGN_NOTICE_SEND_REPLY)) {
|
||||||
update_status($fbuid, $content);
|
update_status($fbuid, $content);
|
||||||
|
update_profile_box($facebook, $fbuid, $user, $notice);
|
||||||
$cnt++;
|
$cnt++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user