Facebook profile box CSS and a link back to the app page.
This commit is contained in:
parent
e5b075b912
commit
7bc764fdc0
|
@ -336,42 +336,70 @@ class FacebookAction extends Action
|
||||||
|
|
||||||
// Need to include inline CSS for styling the Profile box
|
// Need to include inline CSS for styling the Profile box
|
||||||
|
|
||||||
|
$app_props = $this->facebook->api_client->Admin_getAppProperties(array('icon_url'));
|
||||||
|
$icon_url = $app_props['icon_url'];
|
||||||
|
|
||||||
$style = '<style>
|
$style = '<style>
|
||||||
|
.entry-title *,
|
||||||
|
.entry-content * {
|
||||||
|
font-size:14px;
|
||||||
|
font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||||
|
}
|
||||||
|
.entry-title a,
|
||||||
|
.entry-content a {
|
||||||
|
color:#002E6E;
|
||||||
|
}
|
||||||
|
|
||||||
.entry-title .vcard .photo {
|
.entry-title .vcard .photo {
|
||||||
float:left;
|
float:left;
|
||||||
display:inline;
|
display:inline;
|
||||||
|
margin-right:11px;
|
||||||
|
margin-bottom:11px
|
||||||
}
|
}
|
||||||
.entry-title .vcard .nickname {
|
.entry-title {
|
||||||
margin-left:5px;
|
margin-bottom:11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.entry-title p.entry-content {
|
.entry-title p.entry-content {
|
||||||
display:inline;
|
display:inline;
|
||||||
margin-left:5px;
|
margin-left:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.entry-content {
|
||||||
|
clear:both;
|
||||||
|
}
|
||||||
div.entry-content dl,
|
div.entry-content dl,
|
||||||
div.entry-content dt,
|
div.entry-content dt,
|
||||||
div.entry-content dd {
|
div.entry-content dd {
|
||||||
display:inline;
|
display:inline;
|
||||||
|
text-transform:lowercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.entry-content dt,
|
div.entry-content dd,
|
||||||
div.entry-content dd {
|
div.entry-content .device dt {
|
||||||
display:inline;
|
margin-left:0;
|
||||||
margin-left:5px;
|
margin-right:5px;
|
||||||
}
|
}
|
||||||
div.entry-content dl.timestamp dt {
|
div.entry-content dl.timestamp dt,
|
||||||
|
div.entry-content dl.response dt {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
div.entry-content dd a {
|
div.entry-content dd a {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#facebook_laconica_app {
|
||||||
|
text-indent:-9999px;
|
||||||
|
height:16px;
|
||||||
|
width:16px;
|
||||||
|
display:block;
|
||||||
|
background:url('.$icon_url.') no-repeat 0 0;
|
||||||
|
float:right;
|
||||||
|
}
|
||||||
</style>';
|
</style>';
|
||||||
|
|
||||||
$this->xw->openMemory();
|
$this->xw->openMemory();
|
||||||
|
|
||||||
$item = new FacebookNoticeListItem($notice, $this);
|
$item = new FacebookProfileBoxNotice($notice, $this);
|
||||||
$item->show();
|
$item->show();
|
||||||
|
|
||||||
$fbml = "<fb:wide>$style " . $this->xw->outputMemory(false) . "</fb:wide>";
|
$fbml = "<fb:wide>$style " . $this->xw->outputMemory(false) . "</fb:wide>";
|
||||||
|
@ -454,8 +482,6 @@ class FacebookAction extends Action
|
||||||
$content_shortened = common_shorten_links($content);
|
$content_shortened = common_shorten_links($content);
|
||||||
|
|
||||||
if (mb_strlen($content_shortened) > 140) {
|
if (mb_strlen($content_shortened) > 140) {
|
||||||
common_debug("Content = '$content_shortened'", __FILE__);
|
|
||||||
common_debug("mb_strlen(\$content) = " . mb_strlen($content_shortened), __FILE__);
|
|
||||||
$this->showPage(_('That\'s too long. Max notice size is 140 chars.'));
|
$this->showPage(_('That\'s too long. Max notice size is 140 chars.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -528,6 +554,18 @@ class FacebookNoticeForm extends NoticeForm
|
||||||
|
|
||||||
class FacebookNoticeList extends NoticeList
|
class FacebookNoticeList extends NoticeList
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
*
|
||||||
|
* @param Notice $notice stream of notices from DB_DataObject
|
||||||
|
*/
|
||||||
|
|
||||||
|
function __construct($notice, $out=null)
|
||||||
|
{
|
||||||
|
parent::__construct($notice, $out);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* show the list of notices
|
* show the list of notices
|
||||||
*
|
*
|
||||||
|
@ -582,6 +620,20 @@ class FacebookNoticeList extends NoticeList
|
||||||
|
|
||||||
class FacebookNoticeListItem extends NoticeListItem
|
class FacebookNoticeListItem extends NoticeListItem
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
*
|
||||||
|
* Also initializes the profile attribute.
|
||||||
|
*
|
||||||
|
* @param Notice $notice The notice we'll display
|
||||||
|
*/
|
||||||
|
|
||||||
|
function __construct($notice, $out=null)
|
||||||
|
{
|
||||||
|
parent::__construct($notice, $out);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* recipe function for displaying a single notice in the Facebook App.
|
* recipe function for displaying a single notice in the Facebook App.
|
||||||
*
|
*
|
||||||
|
@ -634,3 +686,65 @@ class FacebookNoticeListItem extends NoticeListItem
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class FacebookProfileBoxNotice extends FacebookNoticeListItem
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
*
|
||||||
|
* Also initializes the profile attribute.
|
||||||
|
*
|
||||||
|
* @param Notice $notice The notice we'll display
|
||||||
|
*/
|
||||||
|
|
||||||
|
function __construct($notice, $out=null)
|
||||||
|
{
|
||||||
|
parent::__construct($notice, $out);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recipe function for displaying a single notice in the
|
||||||
|
* Facebook App's Profile
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->out->elementStart('div', 'entry-title');
|
||||||
|
$this->showAuthor();
|
||||||
|
$this->showContent();
|
||||||
|
$this->out->elementEnd('div');
|
||||||
|
|
||||||
|
$this->out->elementStart('div', 'entry-content');
|
||||||
|
|
||||||
|
$this->showNoticeLink();
|
||||||
|
$this->showNoticeSource();
|
||||||
|
$this->showReplyTo();
|
||||||
|
$this->out->elementEnd('div');
|
||||||
|
|
||||||
|
$this->showAppLink();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function showAppLink()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->facebook = getFacebook();
|
||||||
|
|
||||||
|
$app_props = $this->facebook->api_client->Admin_getAppProperties(
|
||||||
|
array('canvas_name', 'application_name'));
|
||||||
|
|
||||||
|
$this->app_uri = 'http://apps.facebook.com/' . $app_props['canvas_name'];
|
||||||
|
$this->app_name = $app_props['application_name'];
|
||||||
|
|
||||||
|
$this->out->elementStart('a', array('id' => 'facebook_laconica_app',
|
||||||
|
'href' => $this->app_uri));
|
||||||
|
$this->out->text($this->app_name);
|
||||||
|
$this->out->elementEnd('a');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user