Merge branch 'master' of /var/www/trunk
This commit is contained in:
commit
aa100884fb
@ -119,9 +119,8 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||||||
|
|
||||||
$this->elementStart('ul', 'form_data');
|
$this->elementStart('ul', 'form_data');
|
||||||
if ($original) {
|
if ($original) {
|
||||||
$this->elementStart('li',
|
$this->elementStart('li', array('id' => 'avatar_original',
|
||||||
array('id' => 'avatar_original',
|
'class' => 'avatar_view'));
|
||||||
'class' => 'avatar_view'));
|
|
||||||
$this->element('h2', null, _("Original"));
|
$this->element('h2', null, _("Original"));
|
||||||
$this->elementStart('div', array('id'=>'avatar_original_view'));
|
$this->elementStart('div', array('id'=>'avatar_original_view'));
|
||||||
$this->element('img', array('src' => $original->url,
|
$this->element('img', array('src' => $original->url,
|
||||||
@ -135,16 +134,16 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||||||
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
|
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
|
||||||
|
|
||||||
if ($avatar) {
|
if ($avatar) {
|
||||||
$this->elementStart('li',
|
$this->elementStart('li', array('id' => 'avatar_preview',
|
||||||
array('id' => 'avatar_preview',
|
'class' => 'avatar_view'));
|
||||||
'class' => 'avatar_view'));
|
|
||||||
$this->element('h2', null, _("Preview"));
|
$this->element('h2', null, _("Preview"));
|
||||||
$this->elementStart('div', array('id'=>'avatar_preview_view'));
|
$this->elementStart('div', array('id'=>'avatar_preview_view'));
|
||||||
$this->element('img', array('src' => $original->url,//$avatar->url,
|
$this->element('img', array('src' => $original->url,
|
||||||
'width' => AVATAR_PROFILE_SIZE,
|
'width' => AVATAR_PROFILE_SIZE,
|
||||||
'height' => AVATAR_PROFILE_SIZE,
|
'height' => AVATAR_PROFILE_SIZE,
|
||||||
'alt' => $user->nickname));
|
'alt' => $user->nickname));
|
||||||
$this->elementEnd('div');
|
$this->elementEnd('div');
|
||||||
|
$this->elementEnd('li');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->elementStart('li', array ('id' => 'settings_attach'));
|
$this->elementStart('li', array ('id' => 'settings_attach'));
|
||||||
|
@ -57,30 +57,31 @@ class FacebookhomeAction extends FacebookAction
|
|||||||
$this->user = $this->flink->getUser();
|
$this->user = $this->flink->getUser();
|
||||||
|
|
||||||
// If this is the first time the user has started the app
|
// If this is the first time the user has started the app
|
||||||
// prompt for Facebook status update permission
|
// prompt for Facebook status update permission
|
||||||
if (!$this->facebook->api_client->users_hasAppPermission('status_update')) {
|
if (!$this->facebook->api_client->users_hasAppPermission('status_update')) {
|
||||||
|
|
||||||
if ($this->facebook->api_client->data_getUserPreference(
|
if ($this->facebook->api_client->data_getUserPreference(
|
||||||
FACEBOOK_PROMPTED_UPDATE_PREF) != 'true') {
|
FACEBOOK_PROMPTED_UPDATE_PREF) != 'true') {
|
||||||
$this->getUpdatePermission();
|
$this->getUpdatePermission();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure the user's profile box has the lastest notice
|
// Make sure the user's profile box has the lastest notice
|
||||||
$notice = $this->user->getCurrentNotice();
|
$notice = $this->user->getCurrentNotice();
|
||||||
$this->updateProfileBox($notice);
|
if ($notice) {
|
||||||
|
$this->updateProfileBox($notice);
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->arg('status_submit') == 'Send') {
|
if ($this->arg('status_submit') == 'Send') {
|
||||||
$this->saveNewNotice();
|
$this->saveNewNotice();
|
||||||
}
|
}
|
||||||
|
|
||||||
// User is authenticated and has already been prompted once for
|
// User is authenticated and has already been prompted once for
|
||||||
// Facebook status update permission? Then show the main page
|
// Facebook status update permission? Then show the main page
|
||||||
// of the app
|
// of the app
|
||||||
$this->showPage();
|
$this->showPage();
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// User hasn't authenticated yet, prompt for creds
|
// User hasn't authenticated yet, prompt for creds
|
||||||
@ -201,13 +202,13 @@ class FacebookhomeAction extends FacebookAction
|
|||||||
$this->elementEnd('p');
|
$this->elementEnd('p');
|
||||||
|
|
||||||
$this->elementStart('form', array('method' => 'post',
|
$this->elementStart('form', array('method' => 'post',
|
||||||
'action' => $app_url,
|
'action' => "$app_url/index.php",
|
||||||
'id' => 'facebook-skip-permissions'));
|
'id' => 'facebook-skip-permissions'));
|
||||||
|
|
||||||
$this->elementStart('ul', array('id' => 'fb-permissions-list'));
|
$this->elementStart('ul', array('id' => 'fb-permissions-list'));
|
||||||
$this->elementStart('li', array('id' => 'fb-permissions-item'));
|
$this->elementStart('li', array('id' => 'fb-permissions-item'));
|
||||||
$this->elementStart('fb:prompt-permission', array('perms' => 'status_update',
|
$this->elementStart('fb:prompt-permission', array('perms' => 'status_update',
|
||||||
'next_fbjs' => 'document.setLocation(\'' . $this->app_uri . '\')'));
|
'next_fbjs' => 'document.setLocation(\'' . "$this->app_uri/index.php" . '\')'));
|
||||||
$this->element('span', array('class' => 'facebook-button'),
|
$this->element('span', array('class' => 'facebook-button'),
|
||||||
sprintf(_('Allow %s to update my Facebook status'), $this->app_name));
|
sprintf(_('Allow %s to update my Facebook status'), $this->app_name));
|
||||||
$this->elementEnd('fb:prompt-permission');
|
$this->elementEnd('fb:prompt-permission');
|
||||||
|
101
actions/facebooklogin.php
Normal file
101
actions/facebooklogin.php
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Laconica - a distributed open-source microblogging tool
|
||||||
|
* Copyright (C) 2008, Controlez-Vous, Inc.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('LACONICA')) { exit(1); }
|
||||||
|
|
||||||
|
require_once(INSTALLDIR.'/lib/facebookaction.php');
|
||||||
|
|
||||||
|
class FacebookinviteAction extends FacebookAction
|
||||||
|
{
|
||||||
|
|
||||||
|
function handle($args)
|
||||||
|
{
|
||||||
|
parent::handle($args);
|
||||||
|
|
||||||
|
$this->error = $error;
|
||||||
|
|
||||||
|
if ($this->flink) {
|
||||||
|
if (!$this->facebook->api_client->users_hasAppPermission('status_update') &&
|
||||||
|
$this->facebook->api_client->data_getUserPreference(
|
||||||
|
FACEBOOK_PROMPTED_UPDATE_PREF) == 'true') {
|
||||||
|
|
||||||
|
echo '<h1>REDIRECT TO HOME</h1>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->showPage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function showContent()
|
||||||
|
{
|
||||||
|
|
||||||
|
// If the user has opted not to initially allow the app to have
|
||||||
|
// Facebook status update permission, store that preference. Only
|
||||||
|
// promt the user the first time she uses the app
|
||||||
|
if ($this->arg('skip')) {
|
||||||
|
$this->facebook->api_client->data_setUserPreference(
|
||||||
|
FACEBOOK_PROMPTED_UPDATE_PREF, 'true');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->flink) {
|
||||||
|
|
||||||
|
$this->user = $this->flink->getUser();
|
||||||
|
|
||||||
|
// If this is the first time the user has started the app
|
||||||
|
// prompt for Facebook status update permission
|
||||||
|
if (!$this->facebook->api_client->users_hasAppPermission('status_update')) {
|
||||||
|
|
||||||
|
if ($this->facebook->api_client->data_getUserPreference(
|
||||||
|
FACEBOOK_PROMPTED_UPDATE_PREF) != 'true') {
|
||||||
|
$this->getUpdatePermission();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$this->showLoginForm();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function showSuccessContent()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function showFormContent()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function title()
|
||||||
|
{
|
||||||
|
return sprintf(_('Login'));
|
||||||
|
}
|
||||||
|
|
||||||
|
function redirectHome()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -132,7 +132,7 @@ class FacebooksettingsAction extends FacebookAction
|
|||||||
$this->elementStart('ul', array('id' => 'fb-permissions-list'));
|
$this->elementStart('ul', array('id' => 'fb-permissions-list'));
|
||||||
$this->elementStart('li', array('id' => 'fb-permissions-item'));
|
$this->elementStart('li', array('id' => 'fb-permissions-item'));
|
||||||
$this->elementStart('fb:prompt-permission', array('perms' => 'status_update',
|
$this->elementStart('fb:prompt-permission', array('perms' => 'status_update',
|
||||||
'next_fbjs' => 'document.setLocation(\'' . "$this->app_url/settings.php" . '\')'));
|
'next_fbjs' => 'document.setLocation(\'' . "$this->app_uri/settings.php" . '\')'));
|
||||||
$this->element('span', array('class' => 'facebook-button'),
|
$this->element('span', array('class' => 'facebook-button'),
|
||||||
sprintf(_('Allow %s to update my Facebook status'), common_config('site', 'name')));
|
sprintf(_('Allow %s to update my Facebook status'), common_config('site', 'name')));
|
||||||
$this->elementEnd('fb:prompt-permission');
|
$this->elementEnd('fb:prompt-permission');
|
||||||
|
42
doc/groups
Normal file
42
doc/groups
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
Users on %%site.name%% can create *groups* that other users can join.
|
||||||
|
Groups can be a great way to share information and entertainment with
|
||||||
|
a group of people who have a common interest or background.
|
||||||
|
|
||||||
|
You can find out about groups on the server on the
|
||||||
|
[Groups](%%action.groups%%) page. You can join a group by clicking on
|
||||||
|
the "Join" button either in the group list or on the group's home page.
|
||||||
|
|
||||||
|
Starting a new group
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
If you want, you can start a new group for friends and people with
|
||||||
|
common interests. Note that all groups are free for anyone to join.
|
||||||
|
|
||||||
|
To start a new group, use the [new group](%%action.newgroup%%) tool
|
||||||
|
and fill out the form. Describe your group as best you can if you want
|
||||||
|
people to be able to find it.
|
||||||
|
|
||||||
|
When choosing the nickname for your group, try to keep it short. The
|
||||||
|
nickname is included in every message to and from the group, so the
|
||||||
|
less chars the better. Try using acronyms for organizations, or
|
||||||
|
airport codes for places (like 'pdx' instead of 'portland').
|
||||||
|
|
||||||
|
Sending messages to a group
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
You can send a message to a group using the syntax "!groupname"
|
||||||
|
anywhere in the message. If you have more than one group named, the
|
||||||
|
notice will go to each group. Only members can send notices to a
|
||||||
|
group, and groups do not respond to direct messages (DMs).
|
||||||
|
|
||||||
|
Receiving messages
|
||||||
|
------------------
|
||||||
|
|
||||||
|
New group messages will appear in your inbox, and will also come to
|
||||||
|
your phone or IM client if you've set them up to receive notices.
|
||||||
|
|
||||||
|
Remote groups
|
||||||
|
-------------
|
||||||
|
|
||||||
|
While it's technically possible, this version of Laconica does not
|
||||||
|
support remote group membership.
|
3
doc/help
3
doc/help
@ -23,6 +23,9 @@ Here are some documents that you might find helpful in understanding
|
|||||||
* [FAQ](%%doc.faq%%) - frequently-asked questions about %%site.name%%
|
* [FAQ](%%doc.faq%%) - frequently-asked questions about %%site.name%%
|
||||||
* [Contact](%%doc.contact%%) - who to contact with questions about the service
|
* [Contact](%%doc.contact%%) - who to contact with questions about the service
|
||||||
* [IM](%%doc.im%%) - using the instant-message (IM) features of %%site.name%%
|
* [IM](%%doc.im%%) - using the instant-message (IM) features of %%site.name%%
|
||||||
|
* [SMS](%%doc.sms%%) - tying your cellphone to %%site.name%%
|
||||||
|
* [tags](%%doc.tags%%) - different ways to use tagging
|
||||||
|
* [Groups](%%doc.groups%%) - joining together in groups
|
||||||
* [OpenID](%%doc.openid%%) - what OpenID is and how to use it with this service
|
* [OpenID](%%doc.openid%%) - what OpenID is and how to use it with this service
|
||||||
* [OpenMicroBlogging](%%doc.openmublog%%) - subscribing to remote users
|
* [OpenMicroBlogging](%%doc.openmublog%%) - subscribing to remote users
|
||||||
* [Privacy](%%doc.privacy%%) - %%site.name%%'s privacy policy
|
* [Privacy](%%doc.privacy%%) - %%site.name%%'s privacy policy
|
||||||
|
68
doc/sms
Normal file
68
doc/sms
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
You can post messages to %%site.name%% using a many kinds of cell
|
||||||
|
phones that support SMS messaging. This site does not support SMS
|
||||||
|
directly; rather, it uses your carrier's email gateway to send and
|
||||||
|
receive messages.
|
||||||
|
|
||||||
|
Managing your SMS settings
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
Use the [SMS settings](%%action.smssettings%%) page to set your SMS
|
||||||
|
preferences. You can add or change your SMS number and set the
|
||||||
|
flags for SMS updates.
|
||||||
|
|
||||||
|
When you add or change your phone number, you'll receive a message on your
|
||||||
|
phone with a verification code. Enter it into the SMS settings page to
|
||||||
|
confirm that the owner of the phone authorizes sending it messages.
|
||||||
|
|
||||||
|
Note that only the carriers listed in the drop down list on the form
|
||||||
|
are supported by %%site.name%%. They're the only ones we know how to
|
||||||
|
make email addresses for.
|
||||||
|
|
||||||
|
Receiving messages
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Once you've verified your phone number, you can enable sending
|
||||||
|
messages to your phone. If you have a lot of friends and a typical
|
||||||
|
phone, it can be hard to keep up.
|
||||||
|
|
||||||
|
Sending messages
|
||||||
|
----------------
|
||||||
|
|
||||||
|
To send a message, you must send an email to the incoming email
|
||||||
|
address visible on your SMS settings page. The method for sending
|
||||||
|
email from your phone varies from carrier to carrier and from handset
|
||||||
|
to handet; if in doubt, ask your carrier.
|
||||||
|
|
||||||
|
Keep your incoming email address a secret -- it's the only way we know
|
||||||
|
you're really you!
|
||||||
|
|
||||||
|
Commands
|
||||||
|
--------
|
||||||
|
|
||||||
|
You can use the following commands with %%site.name%%.
|
||||||
|
|
||||||
|
* on - turn on notifications
|
||||||
|
* off - turn off notifications
|
||||||
|
* help - show this help
|
||||||
|
* follow <nickname> - subscribe to user
|
||||||
|
* leave <nickname> - unsubscribe from user
|
||||||
|
* d <nickname> <text> - direct message to user
|
||||||
|
* get <nickname> - get last notice from user
|
||||||
|
* whois <nickname> - get profile info on user
|
||||||
|
* fav <nickname> - add user's last notice as a 'fave'
|
||||||
|
* stats - get your stats
|
||||||
|
* stop - same as 'off'
|
||||||
|
* quit - same as 'off'
|
||||||
|
* sub <nickname> - same as 'follow'
|
||||||
|
* unsub <nickname> - same as 'leave'
|
||||||
|
* last <nickname> - same as 'get'
|
||||||
|
* on <nickname> - not yet implemented.
|
||||||
|
* off <nickname> - not yet implemented.
|
||||||
|
* nudge <nickname> - not yet implemented.
|
||||||
|
* invite <phone number> - not yet implemented.
|
||||||
|
* track <word> - not yet implemented.
|
||||||
|
* untrack <word> - not yet implemented.
|
||||||
|
* track off - not yet implemented.
|
||||||
|
* untrack all - not yet implemented.
|
||||||
|
* tracks - not yet implemented.
|
||||||
|
* tracking - not yet implemented.
|
40
doc/tags
Normal file
40
doc/tags
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
%%site.name%% supports
|
||||||
|
[tags](http://en.wikipedia.org/wiki/Tag_(metadata)) to help you
|
||||||
|
organize your activities here. You can use tags for people and for
|
||||||
|
notices.
|
||||||
|
|
||||||
|
Tagging a notice
|
||||||
|
----------------
|
||||||
|
|
||||||
|
You can tag a notice using a *hashtag*; a # character followed by
|
||||||
|
letters and numbers as well as '.', '-', and '_'. Note that accented
|
||||||
|
latin characters are not supported, and non-roman scripts are right out.
|
||||||
|
|
||||||
|
The HTML for the notice will link to a stream of all the other notices
|
||||||
|
with that tag. This can be a great way to keep track of a conversation.
|
||||||
|
|
||||||
|
The most popular current tags on the site can be found in the [public
|
||||||
|
tag cloud](%%action.publictagcloud%%). Their size shows their
|
||||||
|
popularity and recency.
|
||||||
|
|
||||||
|
Tagging yourself
|
||||||
|
----------------
|
||||||
|
|
||||||
|
You can also add tags for yourself on your [profile
|
||||||
|
settings](%%action.profilesettings%%) page. Use single words to
|
||||||
|
describe yourself, your experiences and your interest. The tags will
|
||||||
|
become links on your profile page to a list of all the users on the
|
||||||
|
site who use that same tag. It can be a nice way to find people who
|
||||||
|
are related to you geographically or who have a common interest.
|
||||||
|
|
||||||
|
Tagging your subscriptions
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
You can also tag your subscriptions, on the subscriptions page. This
|
||||||
|
makes it easy to organize your subscriptions into groups and sort
|
||||||
|
through them separately.
|
||||||
|
|
||||||
|
You can also send a notice "to the attention of" everyone you've
|
||||||
|
marked with a particular tag (note: *not* people who've marked
|
||||||
|
themselves with that tag). "@#family hello" will send a notice to
|
||||||
|
everyone you've marked with the tag 'family'.
|
@ -21,6 +21,9 @@ RewriteRule ^doc/openid$ index.php?action=doc&title=openid [L,QSA]
|
|||||||
RewriteRule ^doc/openmublog$ index.php?action=doc&title=openmublog [L,QSA]
|
RewriteRule ^doc/openmublog$ index.php?action=doc&title=openmublog [L,QSA]
|
||||||
RewriteRule ^doc/privacy$ index.php?action=doc&title=privacy [L,QSA]
|
RewriteRule ^doc/privacy$ index.php?action=doc&title=privacy [L,QSA]
|
||||||
RewriteRule ^doc/source$ index.php?action=doc&title=source [L,QSA]
|
RewriteRule ^doc/source$ index.php?action=doc&title=source [L,QSA]
|
||||||
|
RewriteRule ^doc/tags$ index.php?action=doc&title=tags [L,QSA]
|
||||||
|
RewriteRule ^doc/groups$ index.php?action=doc&title=groups [L,QSA]
|
||||||
|
RewriteRule ^doc/sms$ index.php?action=doc&title=sms [L,QSA]
|
||||||
|
|
||||||
RewriteRule ^facebook/$ index.php?action=facebookhome [L,QSA]
|
RewriteRule ^facebook/$ index.php?action=facebookhome [L,QSA]
|
||||||
RewriteRule ^facebook/index.php$ index.php?action=facebookhome [L,QSA]
|
RewriteRule ^facebook/index.php$ index.php?action=facebookhome [L,QSA]
|
||||||
|
@ -156,10 +156,6 @@ class Action extends HTMLOutputter // lawsuit
|
|||||||
'type' => 'text/css',
|
'type' => 'text/css',
|
||||||
'href' => theme_path('css/display.css', 'base') . '?version=' . LACONICA_VERSION,
|
'href' => theme_path('css/display.css', 'base') . '?version=' . LACONICA_VERSION,
|
||||||
'media' => 'screen, projection, tv'));
|
'media' => 'screen, projection, tv'));
|
||||||
$this->element('link', array('rel' => 'stylesheet',
|
|
||||||
'type' => 'text/css',
|
|
||||||
'href' => theme_path('css/thickbox.css', 'base') . '?version=' . LACONICA_VERSION,
|
|
||||||
'media' => 'screen, projection, tv'));
|
|
||||||
$this->element('link', array('rel' => 'stylesheet',
|
$this->element('link', array('rel' => 'stylesheet',
|
||||||
'type' => 'text/css',
|
'type' => 'text/css',
|
||||||
'href' => theme_path('css/display.css', null) . '?version=' . LACONICA_VERSION,
|
'href' => theme_path('css/display.css', null) . '?version=' . LACONICA_VERSION,
|
||||||
|
@ -68,6 +68,8 @@ class FacebookAction extends Action
|
|||||||
$this->fbuid = $flink->foreign_id;
|
$this->fbuid = $flink->foreign_id;
|
||||||
$this->user = $flink->getUser();
|
$this->user = $flink->getUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->args = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepare($argarray)
|
function prepare($argarray)
|
||||||
|
@ -57,7 +57,7 @@ function getFacebookBaseCSS()
|
|||||||
{
|
{
|
||||||
# Add a timestamp to the CSS file so Facebook cache wont ignore our changes
|
# Add a timestamp to the CSS file so Facebook cache wont ignore our changes
|
||||||
$ts = filemtime(INSTALLDIR.'/theme/base/css/facebookapp.base.css');
|
$ts = filemtime(INSTALLDIR.'/theme/base/css/facebookapp.base.css');
|
||||||
$cssurl = INSTALLDIR.'/theme/base/css/facebookapp.base.css' . "?ts=$ts";
|
$cssurl = theme_path('css/facebookapp.base.css', 'base') . "?ts=$ts";
|
||||||
return $cssurl;
|
return $cssurl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ require_once INSTALLDIR . '/lib/facebookutil.php';
|
|||||||
$last_updated_file = INSTALLDIR . '/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 = INSTALLDIR . '/scripts/update_facebook.lock';
|
||||||
|
|
||||||
// Make sure only one copy of the script is running at a time
|
// Make sure only one copy of the script is running at a time
|
||||||
if (!($tmp_file = @fopen($tmp_file, "w")))
|
if (!($tmp_file = @fopen($tmp_file, "w")))
|
||||||
|
@ -226,7 +226,7 @@ position:absolute;
|
|||||||
right:0;
|
right:0;
|
||||||
top:49px;
|
top:49px;
|
||||||
float:right;
|
float:right;
|
||||||
width:322px;
|
width:300px;
|
||||||
}
|
}
|
||||||
#page_notice {
|
#page_notice {
|
||||||
clear:both;
|
clear:both;
|
||||||
@ -371,7 +371,7 @@ border-radius:7px;
|
|||||||
#content_inner {
|
#content_inner {
|
||||||
position:relative;
|
position:relative;
|
||||||
width:100%;
|
width:100%;
|
||||||
float;left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
#aside_primary {
|
#aside_primary {
|
||||||
|
@ -1,8 +1,16 @@
|
|||||||
/* theme: identica */
|
/** theme: default
|
||||||
|
*
|
||||||
|
* @package Laconica
|
||||||
|
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||||
|
* @copyright 2009 Control Yourself, Inc.
|
||||||
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
|
* @link http://laconi.ca/
|
||||||
|
*/
|
||||||
|
|
||||||
html,
|
html,
|
||||||
body,
|
body,
|
||||||
a:active {
|
a:active {
|
||||||
background-color:#CEE1E9;
|
background-color:#97BFD1;
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||||
@ -18,14 +26,17 @@ display:none;
|
|||||||
input, textarea, select, option {
|
input, textarea, select, option {
|
||||||
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
||||||
}
|
}
|
||||||
input, textarea, select {
|
input, textarea, select,
|
||||||
|
.entity_remote_subscribe {
|
||||||
border-color:#aaa;
|
border-color:#aaa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
input.submit,
|
input.submit,
|
||||||
#form_notice.warning #notice_text-count,
|
#form_notice.warning #notice_text-count,
|
||||||
#nav_register a,
|
#nav_register a,
|
||||||
.form_settings .form_note {
|
.form_settings .form_note,
|
||||||
|
.entity_remote_subscribe {
|
||||||
background-color:#A9BF4F;
|
background-color:#A9BF4F;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,35 +45,47 @@ input:focus, textarea:focus, select:focus,
|
|||||||
border-color:#A9BF4F;
|
border-color:#A9BF4F;
|
||||||
}
|
}
|
||||||
input.submit,
|
input.submit,
|
||||||
#nav_register a {
|
#nav_register a,
|
||||||
color:#F5FDFD;
|
.entity_remote_subscribe {
|
||||||
|
color:#fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
div.notice-options input {
|
div.notice-options input,
|
||||||
|
.form_user_block input.submit,
|
||||||
|
.form_user_unblock input.submit,
|
||||||
|
#entity_send-a-message a,
|
||||||
|
.form_user_nudge input.submit,
|
||||||
|
#entity_nudge p {
|
||||||
color:#002E6E;
|
color:#002E6E;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notice p.entry-content a:visited {
|
.notice,
|
||||||
|
.profile {
|
||||||
|
border-top-color:#D1D9E4;
|
||||||
|
}
|
||||||
|
.section .notice,
|
||||||
|
.section .profile {
|
||||||
|
border-top-color:#97BFD1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#content .notice p.entry-content a:visited {
|
||||||
background-color:#fcfcfc;
|
background-color:#fcfcfc;
|
||||||
}
|
}
|
||||||
.notice p.entry-content .vcard a {
|
#content .notice p.entry-content .vcard a {
|
||||||
background-color:#fcfffc;
|
background-color:#fcfffc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#aside_primary,
|
#aside_primary {
|
||||||
#user_subscribe a,
|
background-color:#CEE1E9;
|
||||||
#TB_window input.submit,
|
|
||||||
.form_user_subscribe input.submit {
|
|
||||||
background-color:#fff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#notice_text-count {
|
#notice_text-count {
|
||||||
color:#333;
|
color:#333;
|
||||||
}
|
}
|
||||||
#form_notice.warning #notice_text-count,
|
#form_notice.warning #notice_text-count {
|
||||||
#user_actions a {
|
|
||||||
color:#000;
|
color:#000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,11 +104,11 @@ padding:2px 4px;
|
|||||||
|
|
||||||
#content,
|
#content,
|
||||||
#site_nav_local_views a {
|
#site_nav_local_views a {
|
||||||
border-color:#F5FDFD;
|
border-color:#fff;
|
||||||
}
|
}
|
||||||
#content,
|
#content,
|
||||||
#site_nav_local_views .current a {
|
#site_nav_local_views .current a {
|
||||||
background-color:#F5FDFD;
|
background-color:#fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#site_nav_local_views a {
|
#site_nav_local_views a {
|
||||||
@ -105,6 +128,20 @@ background-color:#F7E8E8;
|
|||||||
background-color:#EFF3DC;
|
background-color:#EFF3DC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#anon_notice {
|
||||||
|
background-color:#97BFD1;
|
||||||
|
color:#fff;
|
||||||
|
border-color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#showstream #anon_notice {
|
||||||
|
background-color:#A9BF4F;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#export_data li a {
|
#export_data li a {
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
background-position:0 45%;
|
background-position:0 45%;
|
||||||
@ -123,32 +160,41 @@ background-image:url(../../base/images/icons/icon_vcard.gif);
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*user_actions*/
|
#entity_send-a-message a,
|
||||||
#user_actions li {
|
.form_user_nudge input.submit,
|
||||||
border-top-color:#eee;
|
.form_user_block input.submit,
|
||||||
}
|
.form_user_unblock input.submit,
|
||||||
#user_subscribe a,
|
#entity_nudge p {
|
||||||
#TB_window input.submit,
|
background-position: 0 40%;
|
||||||
.form_user_subscribe input.submit {
|
|
||||||
background-image: url(../images/icons/twotone/green/shield.gif);
|
|
||||||
background-position: 0 45%;
|
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
background-color:transparent;
|
||||||
}
|
}
|
||||||
|
.form_group_join input.submit,
|
||||||
|
.form_group_leave input.submit
|
||||||
|
.form_user_subscribe input.submit,
|
||||||
.form_user_unsubscribe input.submit {
|
.form_user_unsubscribe input.submit {
|
||||||
background-color:#647819;
|
background-color:#A9BF4F;
|
||||||
color:#F5FDFD;
|
color:#fff;
|
||||||
}
|
}
|
||||||
#user_send-a-message a {
|
.form_user_unsubscribe input.submit,
|
||||||
background:url(../images/icons/twotone/green/quote.gif) 0 45% no-repeat;
|
.form_group_leave input.submit {
|
||||||
|
background-color:#97BFD1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#entity_send-a-message a {
|
||||||
|
background-image:url(../images/icons/twotone/green/quote.gif);
|
||||||
|
}
|
||||||
|
#entity_nudge p,
|
||||||
.form_user_nudge input.submit {
|
.form_user_nudge input.submit {
|
||||||
background:url(../images/icons/twotone/green/mail.gif) 0 45% no-repeat;
|
background-image:url(../images/icons/twotone/green/mail.gif);
|
||||||
}
|
}
|
||||||
.form_user_block input.submit {
|
.form_user_block input.submit,
|
||||||
background:url(../images/icons/twotone/green/against.gif) 0 45% no-repeat;
|
.form_user_unblock input.submit {
|
||||||
|
background-image:url(../images/icons/twotone/green/shield.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* NOTICES */
|
/* NOTICES */
|
||||||
.notices li.over {
|
.notices li.over {
|
||||||
background-color:#fcfcfc;
|
background-color:#fcfcfc;
|
||||||
@ -195,9 +241,11 @@ background:transparent url(../images/icons/twotone/green/disfavourite.gif) no-re
|
|||||||
background:transparent url(../images/icons/twotone/green/trash.gif) no-repeat 0 45%;
|
background:transparent url(../images/icons/twotone/green/trash.gif) no-repeat 0 45%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.notice-options {
|
.notices div.entry-content,
|
||||||
opacity:0.3;
|
.notices div.notice-options {
|
||||||
|
opacity:0.4;
|
||||||
}
|
}
|
||||||
|
.notices li.hover div.entry-content,
|
||||||
.notices li.hover div.notice-options {
|
.notices li.hover div.notice-options {
|
||||||
opacity:1;
|
opacity:1;
|
||||||
}
|
}
|
||||||
@ -214,6 +262,10 @@ background-color:#fcfcfc;
|
|||||||
/*END: NOTICES */
|
/*END: NOTICES */
|
||||||
|
|
||||||
|
|
||||||
|
#groups #new_group a {
|
||||||
|
background:transparent url(../images/icons/twotone/green/news.gif) no-repeat 0 45%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.pagination .nav_prev a,
|
.pagination .nav_prev a,
|
||||||
.pagination .nav_next a {
|
.pagination .nav_next a {
|
||||||
@ -227,19 +279,3 @@ background-position:0 45%;
|
|||||||
background-image:url(../images/icons/twotone/green/arrow-right.gif);
|
background-image:url(../images/icons/twotone/green/arrow-right.gif);
|
||||||
background-position:100% 45%;
|
background-position:100% 45%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#home #intro #guide_steps li a {
|
|
||||||
border-color:#ccc;
|
|
||||||
color:#F5FDFD;
|
|
||||||
}
|
|
||||||
#home #intro #step_join-now a {
|
|
||||||
background-color:#f00;
|
|
||||||
}
|
|
||||||
#home #intro #step_start-a-group a {
|
|
||||||
background-color:#0f0;
|
|
||||||
}
|
|
||||||
#home #intro #step_create-a-community a {
|
|
||||||
background-color:#00f;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user