summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2009-04-16 15:00:58 -0700
committerZach Copley <zach@controlyourself.ca>2009-04-16 15:00:58 -0700
commit6848e93cd526ebafa0c6001f51197357d1cfb4e2 (patch)
treed602cde3b50db5504a42d92bdf1c66383a710ab9
parentad5dd9030bf919dba95e1ca066acef71a2d3e6bd (diff)
parent55d7bb4701ca39fb8f4b859b19defdfc7af0142c (diff)
Merge branch '0.8.x' into twitter-import
-rw-r--r--actions/accesstoken.php2
-rw-r--r--actions/all.php13
-rw-r--r--actions/api.php13
-rw-r--r--actions/avatarbynickname.php2
-rw-r--r--actions/avatarsettings.php2
-rw-r--r--actions/designsettings.php2
-rw-r--r--actions/doc.php2
-rw-r--r--actions/favorited.php13
-rw-r--r--actions/featured.php2
-rw-r--r--actions/finishremotesubscribe.php2
-rw-r--r--actions/foaf.php2
-rw-r--r--actions/groupbyid.php2
-rw-r--r--actions/groupmembers.php15
-rw-r--r--actions/grouprss.php2
-rw-r--r--actions/groups.php13
-rw-r--r--actions/inbox.php11
-rw-r--r--actions/invite.php2
-rw-r--r--actions/login.php2
-rw-r--r--actions/logout.php2
-rw-r--r--actions/microsummary.php2
-rw-r--r--actions/noticesearch.php6
-rw-r--r--actions/noticesearchrss.php2
-rw-r--r--actions/nudge.php2
-rw-r--r--actions/opensearch.php2
-rw-r--r--actions/outbox.php11
-rw-r--r--actions/postnotice.php2
-rw-r--r--actions/public.php13
-rw-r--r--actions/publicrss.php2
-rw-r--r--actions/publictagcloud.php2
-rw-r--r--actions/publicxrds.php2
-rw-r--r--actions/replies.php13
-rw-r--r--actions/repliesrss.php2
-rw-r--r--actions/requesttoken.php4
-rw-r--r--actions/showfavorites.php14
-rw-r--r--actions/showgroup.php13
-rw-r--r--actions/showmessage.php2
-rw-r--r--actions/shownotice.php2
-rw-r--r--actions/showstream.php13
-rw-r--r--actions/subscribers.php2
-rw-r--r--actions/sup.php2
-rw-r--r--actions/tag.php20
-rw-r--r--actions/tagrss.php2
-rw-r--r--actions/twitapisearchjson.php2
-rw-r--r--actions/updateprofile.php2
-rw-r--r--actions/userbyid.php2
-rw-r--r--actions/usergroups.php2
-rw-r--r--actions/userrss.php2
-rw-r--r--actions/xrds.php2
-rw-r--r--config.php.sample1
-rw-r--r--db/notice_source.sql25
-rw-r--r--index.php2
-rw-r--r--install.php42
-rw-r--r--lib/action.php69
-rw-r--r--lib/error.php2
-rw-r--r--lib/galleryaction.php2
-rw-r--r--lib/jsonsearchresultslist.php2
-rw-r--r--lib/peoplesearchresults.php2
-rw-r--r--lib/personal.php2
-rw-r--r--lib/popularnoticesection.php25
-rw-r--r--lib/profileaction.php5
-rw-r--r--lib/searchaction.php2
-rw-r--r--plugins/LinkbackPlugin.php2
-rw-r--r--scripts/triminboxes.php83
-rw-r--r--theme/base/css/display.css (renamed from theme/default/base/css/display.css)0
-rw-r--r--theme/base/css/facebookapp.css (renamed from theme/cloudy/base/css/facebookapp.css)0
-rw-r--r--theme/base/css/farbtastic.css (renamed from theme/default/base/css/farbtastic.css)6
-rw-r--r--theme/base/css/ie.css (renamed from theme/cloudy/base/css/ie.css)0
-rw-r--r--theme/base/css/ie6.css (renamed from theme/cloudy/base/css/ie6.css)0
-rw-r--r--theme/base/css/jquery.Jcrop.css (renamed from theme/cloudy/base/css/jquery.Jcrop.css)0
-rw-r--r--theme/base/css/mobile.css (renamed from theme/cloudy/base/css/mobile.css)0
-rw-r--r--theme/base/css/print.css (renamed from theme/cloudy/base/css/print.css)0
-rw-r--r--theme/base/css/thickbox.css (renamed from theme/cloudy/base/css/thickbox.css)0
-rw-r--r--theme/base/default-avatar-mini.pngbin0 -> 646 bytes
-rw-r--r--theme/base/default-avatar-profile.pngbin0 -> 2853 bytes
-rw-r--r--theme/base/default-avatar-stream.pngbin0 -> 1487 bytes
-rw-r--r--theme/base/images/icons/icon_atom.png (renamed from theme/cloudy/base/images/icons/icon_atom.png)bin820 -> 820 bytes
-rw-r--r--theme/base/images/icons/icon_foaf.gif (renamed from theme/cloudy/base/images/icons/icon_foaf.gif)bin1144 -> 1144 bytes
-rw-r--r--theme/base/images/icons/icon_processing.gif (renamed from theme/cloudy/base/images/icons/icon_processing.gif)bin673 -> 673 bytes
-rw-r--r--theme/base/images/icons/icon_rss.png (renamed from theme/cloudy/base/images/icons/icon_rss.png)bin777 -> 777 bytes
-rw-r--r--theme/base/images/icons/icon_vcard.gif (renamed from theme/cloudy/base/images/icons/icon_vcard.gif)bin331 -> 331 bytes
-rw-r--r--theme/base/images/icons/twotone/green/arrow-left.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/arrow-left.gif)bin73 -> 73 bytes
-rw-r--r--theme/base/images/icons/twotone/green/arrow-right.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/arrow-right.gif)bin74 -> 74 bytes
-rw-r--r--theme/base/images/icons/twotone/green/disfavourite.gif (renamed from theme/default/skin/default/images/icons/twotone/green/disfavourite.gif)bin88 -> 88 bytes
-rw-r--r--theme/base/images/icons/twotone/green/edit.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/edit.gif)bin75 -> 75 bytes
-rw-r--r--theme/base/images/icons/twotone/green/favourite.gif (renamed from theme/default/skin/default/images/icons/twotone/green/favourite.gif)bin73 -> 73 bytes
-rw-r--r--theme/base/images/icons/twotone/green/mail.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/mail.gif)bin82 -> 82 bytes
-rw-r--r--theme/base/images/icons/twotone/green/news.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/news.gif)bin76 -> 76 bytes
-rw-r--r--theme/base/images/icons/twotone/green/quote.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/quote.gif)bin79 -> 79 bytes
-rw-r--r--theme/base/images/icons/twotone/green/reply.gif (renamed from theme/default/skin/default/images/icons/twotone/green/reply.gif)bin79 -> 79 bytes
-rw-r--r--theme/base/images/icons/twotone/green/shield.gif (renamed from theme/cloudy/skin/default/images/icons/twotone/green/shield.gif)bin85 -> 85 bytes
-rw-r--r--theme/base/images/icons/twotone/green/trash.gif (renamed from theme/default/skin/default/images/icons/twotone/green/trash.gif)bin77 -> 77 bytes
-rw-r--r--theme/base/images/illustrations/illu_jcrop.gif (renamed from theme/cloudy/base/images/illustrations/illu_jcrop.gif)bin329 -> 329 bytes
-rw-r--r--theme/base/images/illustrations/illu_progress_loading-01.gif (renamed from theme/cloudy/base/images/illustrations/illu_progress_loading-01.gif)bin5886 -> 5886 bytes
-rw-r--r--theme/base/logo.png (renamed from theme/default/logo.png)bin4988 -> 4988 bytes
-rw-r--r--theme/cloudy/css/display.css (renamed from theme/cloudy/base/css/display.css)308
-rw-r--r--theme/cloudy/css/ie.css (renamed from theme/cloudy/skin/default/css/ie.css)0
-rw-r--r--theme/cloudy/images/icons/icon_atom.png (renamed from theme/default/base/images/icons/icon_atom.png)bin820 -> 820 bytes
-rw-r--r--theme/cloudy/images/icons/icon_disfavourite.gif (renamed from theme/cloudy/skin/default/images/icons/icon_disfavourite.gif)bin701 -> 701 bytes
-rw-r--r--theme/cloudy/images/icons/icon_favourite.gif (renamed from theme/cloudy/skin/default/images/icons/icon_favourite.gif)bin397 -> 397 bytes
-rw-r--r--theme/cloudy/images/icons/icon_foaf.gif (renamed from theme/cloudy/skin/default/images/icons/icon_foaf.gif)bin1144 -> 1144 bytes
-rw-r--r--theme/cloudy/images/icons/icon_processing.gif (renamed from theme/default/base/images/icons/icon_processing.gif)bin673 -> 673 bytes
-rw-r--r--theme/cloudy/images/icons/icon_reply.gif (renamed from theme/cloudy/skin/default/images/icons/icon_reply.gif)bin336 -> 336 bytes
-rw-r--r--theme/cloudy/images/icons/icon_rss.png (renamed from theme/default/base/images/icons/icon_rss.png)bin777 -> 777 bytes
-rw-r--r--theme/cloudy/images/icons/icon_trash.gif (renamed from theme/cloudy/skin/default/images/icons/icon_trash.gif)bin148 -> 148 bytes
-rw-r--r--theme/cloudy/images/icons/icon_vcard.gif (renamed from theme/cloudy/skin/default/images/icons/icon_vcard.gif)bin331 -> 331 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/arrow-left.gif (renamed from theme/default/skin/default/images/icons/twotone/green/arrow-left.gif)bin73 -> 73 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/arrow-right.gif (renamed from theme/default/skin/default/images/icons/twotone/green/arrow-right.gif)bin74 -> 74 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/edit.gif (renamed from theme/default/skin/default/images/icons/twotone/green/edit.gif)bin75 -> 75 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/mail.gif (renamed from theme/default/skin/default/images/icons/twotone/green/mail.gif)bin82 -> 82 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/news.gif (renamed from theme/default/skin/default/images/icons/twotone/green/news.gif)bin76 -> 76 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/quote.gif (renamed from theme/default/skin/default/images/icons/twotone/green/quote.gif)bin79 -> 79 bytes
-rw-r--r--theme/cloudy/images/icons/twotone/green/shield.gif (renamed from theme/default/skin/default/images/icons/twotone/green/shield.gif)bin85 -> 85 bytes
-rw-r--r--theme/cloudy/images/illustrations/illu_arrow-up-01.gif (renamed from theme/cloudy/skin/default/images/illustrations/illu_arrow-up-01.gif)bin68 -> 68 bytes
-rw-r--r--theme/cloudy/images/illustrations/illu_clouds-01.gif (renamed from theme/cloudy/skin/default/images/illustrations/illu_clouds-01.gif)bin14251 -> 14251 bytes
-rw-r--r--theme/cloudy/images/illustrations/illu_jcrop.gif (renamed from theme/default/base/images/illustrations/illu_jcrop.gif)bin329 -> 329 bytes
-rw-r--r--theme/cloudy/images/illustrations/illu_progress_loading-01.gif (renamed from theme/default/base/images/illustrations/illu_progress_loading-01.gif)bin5886 -> 5886 bytes
-rw-r--r--theme/cloudy/images/illustrations/illu_unicorn-01.png (renamed from theme/cloudy/skin/default/images/illustrations/illu_unicorn-01.png)bin5695 -> 5695 bytes
-rw-r--r--theme/cloudy/skin/default/css/display.css314
-rw-r--r--theme/cloudy/skin/default/images/icons/icon_atom.jpgbin1117 -> 0 bytes
-rw-r--r--theme/cloudy/skin/default/images/icons/icon_rss.jpgbin1166 -> 0 bytes
-rw-r--r--theme/default/base/css/facebookapp.css100
-rw-r--r--theme/default/base/css/ie.css32
-rw-r--r--theme/default/base/css/ie6.css30
-rw-r--r--theme/default/base/css/jquery.Jcrop.css45
-rw-r--r--theme/default/base/css/mobile.css150
-rw-r--r--theme/default/base/css/print.css36
-rw-r--r--theme/default/base/css/thickbox.css163
-rw-r--r--theme/default/base/images/icons/icon_foaf.gifbin1144 -> 0 bytes
-rw-r--r--theme/default/base/images/icons/icon_vcard.gifbin331 -> 0 bytes
-rw-r--r--theme/default/css/display.css (renamed from theme/default/skin/default/css/display.css)40
-rw-r--r--theme/default/css/ie.css (renamed from theme/default/skin/default/css/ie.css)0
-rw-r--r--theme/default/skin/default/images/icons/icon_atom.jpgbin1117 -> 0 bytes
-rw-r--r--theme/default/skin/default/images/icons/icon_foaf.gifbin1144 -> 0 bytes
-rw-r--r--theme/default/skin/default/images/icons/icon_rss.jpgbin1166 -> 0 bytes
-rw-r--r--theme/default/skin/default/images/icons/icon_vcard.gifbin331 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/icon_atom.jpgbin1117 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/icon_foaf.gifbin1144 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/icon_rss.jpgbin1166 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/icon_vcard.gifbin331 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/arrow-left.gifbin73 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/arrow-right.gifbin74 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/disfavourite.gifbin88 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/edit.gifbin75 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/favourite.gifbin73 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/mail.gifbin82 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/news.gifbin76 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/quote.gifbin79 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/reply.gifbin79 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/shield.gifbin85 -> 0 bytes
-rw-r--r--theme/default/skin/identica/images/icons/twotone/green/trash.gifbin77 -> 0 bytes
-rw-r--r--theme/identica/css/display.css (renamed from theme/default/skin/identica/css/display.css)40
-rw-r--r--theme/identica/css/ie.css (renamed from theme/default/skin/identica/css/ie.css)0
-rw-r--r--theme/identica/default-avatar-mini.pngbin0 -> 646 bytes
-rw-r--r--theme/identica/default-avatar-profile.pngbin0 -> 2853 bytes
-rw-r--r--theme/identica/default-avatar-stream.pngbin0 -> 1487 bytes
-rw-r--r--theme/identica/logo.pngbin0 -> 4988 bytes
-rw-r--r--theme/iphone/display.css16
157 files changed, 761 insertions, 1036 deletions
diff --git a/actions/accesstoken.php b/actions/accesstoken.php
index 77fdf6aef..bb68d3314 100644
--- a/actions/accesstoken.php
+++ b/actions/accesstoken.php
@@ -59,7 +59,7 @@ class AccesstokenAction extends Action
try {
common_debug('getting request from env variables', __FILE__);
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_locale_url('accesstoken'));
common_debug('getting a server', __FILE__);
$server = omb_oauth_server();
common_debug('fetching the access token', __FILE__);
diff --git a/actions/all.php b/actions/all.php
index f5bbfe2e3..a92e55462 100644
--- a/actions/all.php
+++ b/actions/all.php
@@ -25,7 +25,7 @@ require_once INSTALLDIR.'/lib/feedlist.php';
class AllAction extends ProfileAction
{
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -69,6 +69,17 @@ class AllAction extends ProfileAction
sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname)));
}
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'all', array('nickname' => $this->user->nickname));
+ }
+
function showLocalNav()
{
$nav = new PersonalGroupNav($this);
diff --git a/actions/api.php b/actions/api.php
index c18d551b6..d2f0a2eff 100644
--- a/actions/api.php
+++ b/actions/api.php
@@ -134,8 +134,8 @@ class ApiAction extends Action
'favorites/favorites');
$fullname = "$this->api_action/$this->api_method";
-
- // If the site is "private", all API methods except laconica/config
+
+ // If the site is "private", all API methods except laconica/config
// need authentication
if (common_config('site', 'private')) {
return $fullname != 'laconica/config' || false;
@@ -180,11 +180,11 @@ class ApiAction extends Action
}
}
- function isReadOnly()
+ function isReadOnly($args)
{
- # NOTE: before handle(), can't use $this->arg
- $apiaction = $_REQUEST['apiaction'];
- $method = $_REQUEST['method'];
+ $apiaction = $args['apiaction'];
+ $method = $args['method'];
+
list($cmdtext, $fmt) = explode('.', $method);
static $write_methods = array(
@@ -207,5 +207,4 @@ class ApiAction extends Action
return false;
}
-
}
diff --git a/actions/avatarbynickname.php b/actions/avatarbynickname.php
index ca58c9653..e92a99372 100644
--- a/actions/avatarbynickname.php
+++ b/actions/avatarbynickname.php
@@ -98,7 +98,7 @@ class AvatarbynicknameAction extends Action
common_redirect($url, 302);
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php
index 60f69b685..c2bb35a39 100644
--- a/actions/avatarsettings.php
+++ b/actions/avatarsettings.php
@@ -383,7 +383,7 @@ class AvatarsettingsAction extends AccountSettingsAction
{
parent::showStylesheets();
$jcropStyle =
- common_path('theme/default/base/css/jquery.Jcrop.css?version='.LACONICA_VERSION);
+ common_path('theme/base/css/jquery.Jcrop.css?version='.LACONICA_VERSION);
$this->element('link', array('rel' => 'stylesheet',
'type' => 'text/css',
diff --git a/actions/designsettings.php b/actions/designsettings.php
index 05293f712..cdd950e78 100644
--- a/actions/designsettings.php
+++ b/actions/designsettings.php
@@ -196,7 +196,7 @@ class DesignsettingsAction extends AccountSettingsAction
{
parent::showStylesheets();
$farbtasticStyle =
- common_path('theme/default/base/css/farbtastic.css?version='.LACONICA_VERSION);
+ common_path('theme/base/css/farbtastic.css?version='.LACONICA_VERSION);
$this->element('link', array('rel' => 'stylesheet',
'type' => 'text/css',
diff --git a/actions/doc.php b/actions/doc.php
index ebffb7c15..e6508030b 100644
--- a/actions/doc.php
+++ b/actions/doc.php
@@ -108,7 +108,7 @@ class DocAction extends Action
return ucfirst($this->title);
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/favorited.php b/actions/favorited.php
index 09ab1216a..7e31303e3 100644
--- a/actions/favorited.php
+++ b/actions/favorited.php
@@ -85,7 +85,7 @@ class FavoritedAction extends Action
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -221,4 +221,15 @@ class FavoritedAction extends Action
$this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
$this->page, 'favorited');
}
+
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'favorited');
+ }
}
diff --git a/actions/featured.php b/actions/featured.php
index 86fd3f374..79eba2aa6 100644
--- a/actions/featured.php
+++ b/actions/featured.php
@@ -50,7 +50,7 @@ class FeaturedAction extends Action
{
var $page = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php
index d54c29a60..3e3a81715 100644
--- a/actions/finishremotesubscribe.php
+++ b/actions/finishremotesubscribe.php
@@ -44,7 +44,7 @@ class FinishremotesubscribeAction extends Action
common_debug('stored request: '.print_r($omb,true), __FILE__);
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('finishuserauthorization'));
$token = $req->get_parameter('oauth_token');
diff --git a/actions/foaf.php b/actions/foaf.php
index 416935b1b..2d5b78d12 100644
--- a/actions/foaf.php
+++ b/actions/foaf.php
@@ -25,7 +25,7 @@ define('BOTH', 0);
class FoafAction extends Action
{
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/groupbyid.php b/actions/groupbyid.php
index 678119a94..7d327d56c 100644
--- a/actions/groupbyid.php
+++ b/actions/groupbyid.php
@@ -59,7 +59,7 @@ class GroupbyidAction extends Action
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/groupmembers.php b/actions/groupmembers.php
index 00f43a9f5..909935bec 100644
--- a/actions/groupmembers.php
+++ b/actions/groupmembers.php
@@ -48,7 +48,7 @@ class GroupmembersAction extends Action
{
var $page = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -137,4 +137,15 @@ class GroupmembersAction extends Action
$this->page, 'groupmembers',
array('nickname' => $this->group->nickname));
}
-} \ No newline at end of file
+
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'groupmembers', array('nickname' => $this->group->nickname));
+ }
+}
diff --git a/actions/grouprss.php b/actions/grouprss.php
index de76a5960..a9a2eef87 100644
--- a/actions/grouprss.php
+++ b/actions/grouprss.php
@@ -57,7 +57,7 @@ class groupRssAction extends Rss10Action
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/groups.php b/actions/groups.php
index 39dc2232b..e20acce70 100644
--- a/actions/groups.php
+++ b/actions/groups.php
@@ -51,7 +51,7 @@ class GroupsAction extends Action
var $page = null;
var $profile = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -129,4 +129,15 @@ class GroupsAction extends Action
$gbm = new GroupsByMembersSection($this);
$gbm->show();
}
+
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'groups', array('nickname' => $this->group->nickname));
+ }
}
diff --git a/actions/inbox.php b/actions/inbox.php
index b553ab26c..7b5cf2d20 100644
--- a/actions/inbox.php
+++ b/actions/inbox.php
@@ -64,6 +64,17 @@ class InboxAction extends MailboxAction
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'inbox', array('nickname' => $this->user->nickname));
+ }
+
+ /**
* Retrieve the messages for this user and this page
*
* Does a query for the right messages
diff --git a/actions/invite.php b/actions/invite.php
index df6e3b714..7e52cdbcc 100644
--- a/actions/invite.php
+++ b/actions/invite.php
@@ -27,7 +27,7 @@ class InviteAction extends Action
var $subbed = null;
var $sent = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return false;
}
diff --git a/actions/login.php b/actions/login.php
index 59c6b4874..50de83f6f 100644
--- a/actions/login.php
+++ b/actions/login.php
@@ -55,7 +55,7 @@ class LoginAction extends Action
* @return boolean false
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return false;
}
diff --git a/actions/logout.php b/actions/logout.php
index b7681be38..9f3bfe247 100644
--- a/actions/logout.php
+++ b/actions/logout.php
@@ -52,7 +52,7 @@ class LogoutAction extends Action
*
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return false;
}
diff --git a/actions/microsummary.php b/actions/microsummary.php
index 065a2e0eb..0b408ec95 100644
--- a/actions/microsummary.php
+++ b/actions/microsummary.php
@@ -74,7 +74,7 @@ class MicrosummaryAction extends Action
print $user->nickname . ': ' . $notice->content;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/noticesearch.php b/actions/noticesearch.php
index 095d0a454..d996998fc 100644
--- a/actions/noticesearch.php
+++ b/actions/noticesearch.php
@@ -184,11 +184,13 @@ class SearchNoticeListItem extends NoticeListItem {
function highlight($text, $terms)
{
/* Highligh search terms */
- $pattern = '/('.implode('|', array_map('htmlspecialchars', $terms)).')/i';
+ $options = implode('|', array_map('preg_quote', array_map('htmlspecialchars', $terms),
+ array_fill(0, sizeof($terms), '/')));
+ $pattern = "/($options)/i";
$result = preg_replace($pattern, '<strong>\\1</strong>', $text);
/* Remove highlighting from inside links, loop incase multiple highlights in links */
- $pattern = '/(href="[^"]*)<strong>('.implode('|', array_map('htmlspecialchars', $terms)).')<\/strong>([^"]*")/iU';
+ $pattern = '/(href="[^"]*)<strong>('.$options.')<\/strong>([^"]*")/iU';
do {
$result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count);
} while ($count);
diff --git a/actions/noticesearchrss.php b/actions/noticesearchrss.php
index ba5276d06..f6da969ee 100644
--- a/actions/noticesearchrss.php
+++ b/actions/noticesearchrss.php
@@ -92,7 +92,7 @@ class NoticesearchrssAction extends Rss10Action
return null;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/nudge.php b/actions/nudge.php
index b4e5e01dd..c23d3e643 100644
--- a/actions/nudge.php
+++ b/actions/nudge.php
@@ -124,7 +124,7 @@ class NudgeAction extends Action
}
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/opensearch.php b/actions/opensearch.php
index 2eb818306..d1f4895ce 100644
--- a/actions/opensearch.php
+++ b/actions/opensearch.php
@@ -84,7 +84,7 @@ class OpensearchAction extends Action
$this->endXML();
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/outbox.php b/actions/outbox.php
index c8d7f2812..deef1cc87 100644
--- a/actions/outbox.php
+++ b/actions/outbox.php
@@ -63,6 +63,17 @@ class OutboxAction extends MailboxAction
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'outbox', array('nickname' => $this->user->nickname));
+ }
+
+ /**
* retrieve the messages for this user and this page
*
* Does a query for the right messages
diff --git a/actions/postnotice.php b/actions/postnotice.php
index c32d8ca94..3e98b3cd5 100644
--- a/actions/postnotice.php
+++ b/actions/postnotice.php
@@ -28,7 +28,7 @@ class PostnoticeAction extends Action
parent::handle($args);
try {
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('postnotice'));
# Note: server-to-server function!
$server = omb_oauth_server();
list($consumer, $token) = $server->verify_request($req);
diff --git a/actions/public.php b/actions/public.php
index 5a380de9a..d2f9da646 100644
--- a/actions/public.php
+++ b/actions/public.php
@@ -56,7 +56,7 @@ class PublicAction extends Action
var $page = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -136,6 +136,17 @@ class PublicAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'public');
+ }
+
+ /**
* Extra head elements
*
* We include a <meta> element linking to the publicxrds page, for OpenID
diff --git a/actions/publicrss.php b/actions/publicrss.php
index 77e26e0f4..bc52f2952 100644
--- a/actions/publicrss.php
+++ b/actions/publicrss.php
@@ -102,7 +102,7 @@ class PublicrssAction extends Rss10Action
// nop
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php
index 855cfed9b..e9f33d58b 100644
--- a/actions/publictagcloud.php
+++ b/actions/publictagcloud.php
@@ -47,7 +47,7 @@ define('TAGS_PER_PAGE', 100);
class PublictagcloudAction extends Action
{
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/publicxrds.php b/actions/publicxrds.php
index 2c52f1246..283a932ca 100644
--- a/actions/publicxrds.php
+++ b/actions/publicxrds.php
@@ -54,7 +54,7 @@ class PublicxrdsAction extends Action
*
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/replies.php b/actions/replies.php
index 2769cb422..dfb520d64 100644
--- a/actions/replies.php
+++ b/actions/replies.php
@@ -139,6 +139,17 @@ class RepliesAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'replies', array('nickname' => $this->user->nickname));
+ }
+
+ /**
* show the personal group nav
*
* @return void
@@ -196,7 +207,7 @@ class RepliesAction extends Action
$this->elementEnd('div');
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/repliesrss.php b/actions/repliesrss.php
index 985318bf1..2017c4309 100644
--- a/actions/repliesrss.php
+++ b/actions/repliesrss.php
@@ -83,7 +83,7 @@ class RepliesrssAction extends Rss10Action
return ($avatar) ? $avatar->url : null;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/requesttoken.php b/actions/requesttoken.php
index ca253b97a..9507e3d6c 100644
--- a/actions/requesttoken.php
+++ b/actions/requesttoken.php
@@ -52,7 +52,7 @@ class RequesttokenAction extends Action
*
* @return boolean false
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return false;
}
@@ -69,7 +69,7 @@ class RequesttokenAction extends Action
parent::handle($args);
try {
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('requesttoken'));
$server = omb_oauth_server();
$token = $server->fetch_request_token($req);
print $token;
diff --git a/actions/showfavorites.php b/actions/showfavorites.php
index 4d4349505..6e011d5ca 100644
--- a/actions/showfavorites.php
+++ b/actions/showfavorites.php
@@ -58,7 +58,7 @@ class ShowfavoritesAction extends Action
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -151,6 +151,18 @@ class ShowfavoritesAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'showfavorites', array('nickname' => $this->user->nickname));
+ }
+
+
+ /**
* show the personal group nav
*
* @return void
diff --git a/actions/showgroup.php b/actions/showgroup.php
index 79445851f..025f8383a 100644
--- a/actions/showgroup.php
+++ b/actions/showgroup.php
@@ -60,7 +60,7 @@ class ShowgroupAction extends Action
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -312,6 +312,17 @@ class ShowgroupAction extends Action
}
/**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'showgroup', array('nickname' => $this->group->nickname));
+ }
+
+ /**
* Fill in the sidebar.
*
* @return void
diff --git a/actions/showmessage.php b/actions/showmessage.php
index 572a71739..4fcaadbe8 100644
--- a/actions/showmessage.php
+++ b/actions/showmessage.php
@@ -177,7 +177,7 @@ class ShowmessageAction extends MailboxAction
return '';
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/shownotice.php b/actions/shownotice.php
index ccae49bb3..2c469c9de 100644
--- a/actions/shownotice.php
+++ b/actions/shownotice.php
@@ -106,7 +106,7 @@ class ShownoticeAction extends Action
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/showstream.php b/actions/showstream.php
index ce237dae2..82665e5b8 100644
--- a/actions/showstream.php
+++ b/actions/showstream.php
@@ -56,7 +56,7 @@ require_once INSTALLDIR.'/lib/feedlist.php';
class ShowstreamAction extends ProfileAction
{
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
@@ -135,6 +135,17 @@ class ShowstreamAction extends ProfileAction
sprintf(_('FOAF for %s'), $this->user->nickname)));
}
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'showstream', array('nickname' => $this->user->nickname));
+ }
+
function extraHead()
{
// for remote subscriptions etc.
diff --git a/actions/subscribers.php b/actions/subscribers.php
index 7ebb54d33..d91a7d4fd 100644
--- a/actions/subscribers.php
+++ b/actions/subscribers.php
@@ -130,7 +130,7 @@ class SubscribersList extends ProfileList
$bf->show();
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/sup.php b/actions/sup.php
index 246b3299d..691153d6a 100644
--- a/actions/sup.php
+++ b/actions/sup.php
@@ -79,7 +79,7 @@ class SupAction extends Action
return $updates;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/tag.php b/actions/tag.php
index c413bf8c3..02f3e3522 100644
--- a/actions/tag.php
+++ b/actions/tag.php
@@ -45,6 +45,13 @@ class TagAction extends Action
return true;
}
+ function showSections()
+ {
+ $pop = new PopularNoticeSection($this);
+ $pop->show();
+ }
+
+
function title()
{
if ($this->page == 1) {
@@ -70,6 +77,17 @@ class TagAction extends Action
sprintf(_('Feed for tag %s'), $this->tag)));
}
+ /**
+ * Output document relationship links
+ *
+ * @return void
+ */
+ function showRelationshipLinks()
+ {
+ $this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
+ $this->page, 'tag', array('tag' => $this->tag));
+ }
+
function showPageNotice()
{
return sprintf(_('Messages tagged "%s", most recent first'), $this->tag);
@@ -87,7 +105,7 @@ class TagAction extends Action
$this->page, 'tag', array('tag' => $this->tag));
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/tagrss.php b/actions/tagrss.php
index a77fa12c9..83cf3afe2 100644
--- a/actions/tagrss.php
+++ b/actions/tagrss.php
@@ -65,7 +65,7 @@ class TagrssAction extends Rss10Action
return $c;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/twitapisearchjson.php b/actions/twitapisearchjson.php
index 0f9f523a1..b0e3be687 100644
--- a/actions/twitapisearchjson.php
+++ b/actions/twitapisearchjson.php
@@ -142,7 +142,7 @@ class TwitapisearchjsonAction extends TwitterapiAction
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/updateprofile.php b/actions/updateprofile.php
index 7dc52fda9..08cb31ae0 100644
--- a/actions/updateprofile.php
+++ b/actions/updateprofile.php
@@ -29,7 +29,7 @@ class UpdateprofileAction extends Action
parent::handle($args);
try {
common_remove_magic_from_request();
- $req = OAuthRequest::from_request();
+ $req = OAuthRequest::from_request('POST', common_local_url('updateprofile'));
# Note: server-to-server function!
$server = omb_oauth_server();
list($consumer, $token) = $server->verify_request($req);
diff --git a/actions/userbyid.php b/actions/userbyid.php
index 1e30d1aac..4a985fcd7 100644
--- a/actions/userbyid.php
+++ b/actions/userbyid.php
@@ -50,7 +50,7 @@ class UserbyidAction extends Action
*
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/usergroups.php b/actions/usergroups.php
index 06b2334bf..e3088dcbd 100644
--- a/actions/usergroups.php
+++ b/actions/usergroups.php
@@ -52,7 +52,7 @@ class UsergroupsAction extends Action
var $page = null;
var $profile = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/userrss.php b/actions/userrss.php
index d3bf352d8..5861d9ee3 100644
--- a/actions/userrss.php
+++ b/actions/userrss.php
@@ -96,7 +96,7 @@ class UserrssAction extends Rss10Action
parent::initRss($limit);
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/actions/xrds.php b/actions/xrds.php
index 075831803..1335b6b80 100644
--- a/actions/xrds.php
+++ b/actions/xrds.php
@@ -52,7 +52,7 @@ class XrdsAction extends Action
*
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/config.php.sample b/config.php.sample
index 4c4c9f08b..b8ed45fa8 100644
--- a/config.php.sample
+++ b/config.php.sample
@@ -18,7 +18,6 @@ $config['site']['server'] = 'localhost';
$config['site']['path'] = 'laconica';
#$config['site']['fancy'] = false;
#$config['site']['theme'] = 'default';
-#$config['site']['skin'] = 'default';
#To enable the built-in mobile style sheet, defaults to false.
#$config['site']['mobile'] = true;
#For contact email, defaults to $_SERVER["SERVER_ADMIN"]
diff --git a/db/notice_source.sql b/db/notice_source.sql
index ac23f14aa..d5124e223 100644
--- a/db/notice_source.sql
+++ b/db/notice_source.sql
@@ -1,29 +1,28 @@
INSERT INTO notice_source
(code, name, url, created)
VALUES
- ('Do','Gnome Do','http://do.davebsd.com/wiki/index.php?title=Microblog_Plugin', now()),
- ('Facebook','Facebook','http://apps.facebook.com/identica/', now()),
- ('Gwibber','Gwibber','http://launchpad.net/gwibber', now()),
- ('HelloTxt','HelloTxt','http://hellotxt.com/', now()),
- ('IdentiFox','IdentiFox','http://www.bitbucket.org/uncryptic/identifox/', now()),
- ('LaTwit','LaTwit','http://latwit.mac65.com/', now()),
- ('Nambu','Nambu','http://www.nambu.com/', now()),
- ('Pikchur','Pikchur','http://www.pikchur.com/', now()),
- ('Ping.fm','Ping.fm','http://ping.fm/', now()),
- ('Twidge','Twidge','http://software.complete.org/twidge', now()),
- ('Updating.Me','Updating.Me','http://updating.me/', now()),
+ ('adium', 'Adium', 'http://www.adiumx.com/', now()),
('betwittered','BeTwittered','http://www.32hours.com/betwitteredinfo/', now()),
('bti','bti','http://gregkh.github.com/bti/', now()),
('cliqset', 'Cliqset', 'http://www.cliqset.com/', now()),
('deskbar','Deskbar-Applet','http://www.gnome.org/projects/deskbar-applet/', now()),
+ ('Do','Gnome Do','http://do.davebsd.com/wiki/index.php?title=Microblog_Plugin', now()),
+ ('Facebook','Facebook','http://apps.facebook.com/identica/', now()),
+ ('Gwibber','Gwibber','http://launchpad.net/gwibber', now()),
+ ('HelloTxt','HelloTxt','http://hellotxt.com/', now()),
('identicatools','Laconica Tools','http://bitbucketlabs.net/laconica-tools/', now()),
('identichat','identichat','http://identichat.prosody.im/', now()),
+ ('IdentiFox','IdentiFox','http://www.bitbucket.org/uncryptic/identifox/', now()),
('identitwitch','IdentiTwitch','http://richfish.org/identitwitch/', now()),
+ ('LaTwit','LaTwit','http://latwit.mac65.com/', now()),
('maisha', 'Maisha', 'http://maisha.grango.org/', now()),
('mbpidgin','mbpidgin','http://code.google.com/p/microblog-purple/', now()),
('Mobidentica', 'Mobidentica', 'http://www.substanceofcode.com/software/mobidentica/', now()),
('moconica','Moconica','http://moconica.com/', now()),
+ ('nambu','Nambu','http://www.nambu.com/', now()),
('peoplebrowsr', 'PeopleBrowsr', 'http://www.peoplebrowsr.com/', now()),
+ ('Pikchur','Pikchur','http://www.pikchur.com/', now()),
+ ('Ping.fm','Ping.fm','http://ping.fm/', now()),
('pocketwit','PockeTwit','http://code.google.com/p/pocketwit/', now()),
('posty','Posty','http://spreadingfunkyness.com/posty/', now()),
('royalewithcheese','Royale With Cheese','http://p.hellyeah.org/', now()),
@@ -35,9 +34,11 @@ VALUES
('tarpipe','tarpipe','http://tarpipe.com/', now()),
('tjunar','Tjunar','http://nederflash.nl/boek/titels/tjunar-air', now()),
('tr.im','tr.im','http://tr.im/', now()),
+ ('triklepost', 'Tricklepost', 'http://github.com/zcopley/tricklepost/tree/master', now()),
('tweenky','Tweenky','http://beta.tweenky.com/', now()),
('twhirl','Twhirl','http://www.twhirl.org/', now()),
('twibble','twibble','http://www.twibble.de/', now()),
+ ('Twidge','Twidge','http://software.complete.org/twidge', now()),
('twidge','Twidge','http://software.complete.org/twidge', now()),
('twidroid','twidroid','http://www.twidroid.com/', now()),
('twittelator','Twittelator','http://www.stone.com/iPhone/Twittelator/', now()),
@@ -47,6 +48,6 @@ VALUES
('twittertools','Twitter Tools','http://wordpress.org/extend/plugins/twitter-tools/', now()),
('twitux','Twitux','http://live.gnome.org/DanielMorales/Twitux', now()),
('twitvim','TwitVim','http://vim.sourceforge.net/scripts/script.php?script_id=2204', now()),
+ ('Updating.Me','Updating.Me','http://updating.me/', now()),
('urfastr','urfastr','http://urfastr.net/', now()),
- ('adium', 'Adium', 'http://www.adiumx.com/', now()),
('yatca','Yatca','http://www.yatca.com/', now());
diff --git a/index.php b/index.php
index e83d08c13..e24bde917 100644
--- a/index.php
+++ b/index.php
@@ -128,7 +128,7 @@ function main()
// XXX: find somewhere for this little block to live
- if (common_config('db', 'mirror') && $action_obj->isReadOnly()) {
+ if (common_config('db', 'mirror') && $action_obj->isReadOnly($args)) {
if (is_array(common_config('db', 'mirror'))) {
// "load balancing", ha ha
$arr = common_config('db', 'mirror');
diff --git a/install.php b/install.php
index 0240349bb..87a99a650 100644
--- a/install.php
+++ b/install.php
@@ -1,4 +1,22 @@
-<?
+<?php
+/**
+ * Laconica - a distributed open-source microblogging tool
+ * Copyright (C) 2009, 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/>.
+ */
+
define('INSTALLDIR', dirname(__FILE__));
function main()
@@ -19,12 +37,12 @@ function checkPrereqs()
{
if (file_exists(INSTALLDIR.'/config.php')) {
?><p class="error">Config file &quot;config.php&quot; already exists.</p>
- <?
+ <?php
return false;
}
if (version_compare(PHP_VERSION, '5.0.0', '<')) {
- ?><p class="error">Require PHP version 5 or greater.</p><?
+ ?><p class="error">Require PHP version 5 or greater.</p><?php
return false;
}
@@ -34,23 +52,23 @@ function checkPrereqs()
foreach ($reqs as $req) {
if (!checkExtension($req)) {
- ?><p class="error">Cannot load required extension &quot;<?= $req ?>&quot;.</p><?
+ ?><p class="error">Cannot load required extension &quot;<?php echo $req; ?>&quot;.</p><?php
return false;
}
}
if (!is_writable(INSTALLDIR)) {
- ?><p class="error">Cannot write config file to &quot;<?= INSTALLDIR ?>&quot;.</p>
+ ?><p class="error">Cannot write config file to &quot;<?php echo INSTALLDIR; ?>&quot;.</p>
<p>On your server, try this command:</p>
- <blockquote>chmod a+w <?= INSTALLDIR ?></blockquote>
- <?
+ <blockquote>chmod a+w <?php echo INSTALLDIR; ?></blockquote>
+ <?php
return false;
}
if (!is_writable(INSTALLDIR.'/avatar/')) {
- ?><p class="error">Cannot write avatar directory &quot;<?= INSTALLDIR ?>/avatar/&quot;.</p>
+ ?><p class="error">Cannot write avatar directory &quot;<?php echo INSTALLDIR; ?>/avatar/&quot;.</p>
<p>On your server, try this command:</p>
- <blockquote>chmod a+w <?= INSTALLDIR ?>/avatar/</blockquote>
+ <blockquote>chmod a+w <?php echo INSTALLDIR; ?>/avatar/</blockquote>
<?
return false;
}
@@ -211,7 +229,7 @@ function handlePost()
function writeConf($sitename, $sqlUrl)
{
$res = file_put_contents(INSTALLDIR.'/config.php',
- "<?\n".
+ "<?php\n".
"\$config['site']['name'] = \"$sitename\";\n\n".
"\$config['db']['database'] = \"$sqlUrl\";\n\n");
return $res;
@@ -247,9 +265,9 @@ function runDbScript($filename, $conn)
<div id="core">
<div id="content">
<h1>Install Laconica</h1>
-<? main() ?>
+<?php main(); ?>
</div>
</div>
</div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/lib/action.php b/lib/action.php
index ecd1978f2..3e43ffe3e 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -124,6 +124,7 @@ class Action extends HTMLOutputter // lawsuit
$this->showShortcutIcon();
$this->showStylesheets();
$this->showScripts();
+ $this->showRelationshipLinks();
$this->showOpenSearch();
$this->showFeeds();
$this->showDescription();
@@ -194,37 +195,33 @@ class Action extends HTMLOutputter // lawsuit
if (Event::handle('StartShowLaconicaStyles', array($this))) {
$this->element('link', array('rel' => 'stylesheet',
'type' => 'text/css',
- 'href' => theme_path('base/css/display.css') . '?version=' . LACONICA_VERSION,
- 'media' => 'screen, projection, tv'));
- $this->element('link', array('rel' => 'stylesheet',
- 'type' => 'text/css',
- 'href' => skin_path('css/display.css') . '?version=' . LACONICA_VERSION,
+ 'href' => theme_path('css/display.css', null) . '?version=' . LACONICA_VERSION,
'media' => 'screen, projection, tv'));
if (common_config('site', 'mobile')) {
$this->element('link', array('rel' => 'stylesheet',
'type' => 'text/css',
- 'href' => theme_path('base/css/mobile.css') . '?version=' . LACONICA_VERSION,
+ 'href' => theme_path('css/mobile.css', 'base') . '?version=' . LACONICA_VERSION,
// TODO: "handheld" CSS for other mobile devices
'media' => 'only screen and (max-device-width: 480px)')); // Mobile WebKit
}
$this->element('link', array('rel' => 'stylesheet',
'type' => 'text/css',
- 'href' => theme_path('base/css/print.css') . '?version=' . LACONICA_VERSION,
+ 'href' => theme_path('css/print.css', 'base') . '?version=' . LACONICA_VERSION,
'media' => 'print'));
Event::handle('EndShowLaconicaStyles', array($this));
}
if (Event::handle('StartShowUAStyles', array($this))) {
$this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
- 'href="'.theme_path('base/css/ie.css').'?version='.LACONICA_VERSION.'" /><![endif]');
+ 'href="'.theme_path('css/ie.css', 'base').'?version='.LACONICA_VERSION.'" /><![endif]');
foreach (array(6,7) as $ver) {
- if (file_exists(theme_file('base/css/ie'.$ver.'.css'))) {
+ if (file_exists(theme_file('css/ie'.$ver.'.css', 'base'))) {
// Yes, IE people should be put in jail.
$this->comment('[if lte IE '.$ver.']><link rel="stylesheet" type="text/css" '.
- 'href="'.theme_path('base/css/ie'.$ver.'.css').'?version='.LACONICA_VERSION.'" /><![endif]');
+ 'href="'.theme_path('css/ie'.$ver.'.css', 'base').'?version='.LACONICA_VERSION.'" /><![endif]');
}
}
$this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
- 'href="'.skin_path('css/ie.css').'?version='.LACONICA_VERSION.'" /><![endif]');
+ 'href="'.theme_path('css/ie.css', null).'?version='.LACONICA_VERSION.'" /><![endif]');
Event::handle('EndShowUAStyles', array($this));
}
Event::handle('EndShowStyles', array($this));
@@ -265,6 +262,19 @@ class Action extends HTMLOutputter // lawsuit
}
/**
+ * Show document relationship links
+ *
+ * SHOULD overload
+ *
+ * @return nothing
+ */
+ function showRelationshipLinks()
+ {
+ // output <link> elements with appropriate HTML4.01 link types:
+ // http://www.w3.org/TR/html401/types.html#type-links
+ }
+
+ /**
* Show OpenSearch headers
*
* @return nothing
@@ -791,9 +801,12 @@ class Action extends HTMLOutputter // lawsuit
*
* MAY override
*
+ * @param array $args other arguments
+ *
* @return boolean is read only action?
*/
- function isReadOnly()
+
+ function isReadOnly($args)
{
return false;
}
@@ -1041,4 +1054,36 @@ class Action extends HTMLOutputter // lawsuit
{
return null;
}
+
+ /**
+ * Generate document metadata for sequential navigation
+ *
+ * @param boolean $have_before is there something before?
+ * @param boolean $have_after is there something after?
+ * @param integer $page current page
+ * @param string $action current action
+ * @param array $args rest of query arguments
+ *
+ * @return nothing
+ */
+ function sequenceRelationships($have_next, $have_previous, $page, $action, $args=null)
+ {
+ // Outputs machine-readable pagination in <link> elements.
+ // Pattern taken from $this->pagination() method.
+
+ // "next" is equivalent to "after"
+ if ($have_next) {
+ $pargs = array('page' => $page-1);
+ $this->element('link', array('rel' => 'next',
+ 'href' => common_local_url($action, $args, $pargs),
+ 'title' => _('Next')));
+ }
+ // "previous" is equivalent to "before"
+ if ($have_previous=true) { // FIXME
+ $pargs = array('page' => $page+1);
+ $this->element('link', array('rel' => 'prev',
+ 'href' => common_local_url($action, $args, $pargs),
+ 'title' => _('Previous')));
+ }
+ }
}
diff --git a/lib/error.php b/lib/error.php
index 526d9f81b..282682133 100644
--- a/lib/error.php
+++ b/lib/error.php
@@ -93,7 +93,7 @@ class ErrorAction extends Action
return $this->message;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/lib/galleryaction.php b/lib/galleryaction.php
index 8e21d7393..0484918ce 100644
--- a/lib/galleryaction.php
+++ b/lib/galleryaction.php
@@ -76,7 +76,7 @@ class GalleryAction extends Action
return true;
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php
index 0cdcf0c51..f786c20a8 100644
--- a/lib/jsonsearchresultslist.php
+++ b/lib/jsonsearchresultslist.php
@@ -232,7 +232,7 @@ class ResultItem
$this->profile_image_url = ($avatar) ?
$avatar->displayUrl() : Avatar::defaultImage(AVATAR_STREAM_SIZE);
- $this->created_at = date('r', $this->notice->created);
+ $this->created_at = common_date_rfc2822($this->notice->created);
}
/**
diff --git a/lib/peoplesearchresults.php b/lib/peoplesearchresults.php
index f8ab7cf3b..d3f840852 100644
--- a/lib/peoplesearchresults.php
+++ b/lib/peoplesearchresults.php
@@ -67,7 +67,7 @@ class PeopleSearchResults extends ProfileList
return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text));
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/lib/personal.php b/lib/personal.php
index e46350c63..f92732375 100644
--- a/lib/personal.php
+++ b/lib/personal.php
@@ -47,7 +47,7 @@ class PersonalAction extends Action
var $user = null;
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php
index 0505f0fa9..a8d47ef54 100644
--- a/lib/popularnoticesection.php
+++ b/lib/popularnoticesection.php
@@ -50,17 +50,26 @@ class PopularNoticeSection extends NoticeSection
{
if (common_config('db', 'type') == 'pgsql') {
$weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))';
+ if (!empty($this->out->tag)) {
+ $tag = pg_escape_string($this->tag);
+ }
} else {
$weightexpr='sum(exp(-(now() - fave.modified) / %s))';
+ if (!empty($this->out->tag)) {
+ $tag = mysql_escape_string($this->out->tag);
+ }
}
-
- $qry = 'SELECT notice.*, '.
- $weightexpr . ' as weight ' .
- 'FROM notice JOIN fave ON notice.id = fave.notice_id ' .
- 'GROUP BY notice.id,notice.profile_id,notice.content,notice.uri,' .
- 'notice.rendered,notice.url,notice.created,notice.modified,' .
- 'notice.reply_to,notice.is_local,notice.source ' .
- 'ORDER BY weight DESC';
+ $qry = "SELECT notice.*, $weightexpr as weight ";
+ if(isset($tag)) {
+ $qry .= 'FROM notice_tag, notice JOIN fave ON notice.id = fave.notice_id ' .
+ "WHERE notice.id = notice_tag.notice_id and '$tag' = notice_tag.tag";
+ } else {
+ $qry .= 'FROM notice JOIN fave ON notice.id = fave.notice_id';
+ }
+ $qry .= ' GROUP BY notice.id,notice.profile_id,notice.content,notice.uri,' .
+ 'notice.rendered,notice.url,notice.created,notice.modified,' .
+ 'notice.reply_to,notice.is_local,notice.source ' .
+ 'ORDER BY weight DESC';
$offset = 0;
$limit = NOTICES_PER_SECTION + 1;
diff --git a/lib/profileaction.php b/lib/profileaction.php
index c81924e31..1f2e30994 100644
--- a/lib/profileaction.php
+++ b/lib/profileaction.php
@@ -179,6 +179,11 @@ class ProfileAction extends Action
$this->element('h2', null, _('Statistics'));
// Other stats...?
+ $this->elementStart('dl', 'entity_user-id');
+ $this->element('dt', null, _('User ID'));
+ $this->element('dd', null, $this->profile->id);
+ $this->elementEnd('dl');
+
$this->elementStart('dl', 'entity_member-since');
$this->element('dt', null, _('Member since'));
$this->element('dd', null, date('j M Y',
diff --git a/lib/searchaction.php b/lib/searchaction.php
index e7ad4affd..e74450e11 100644
--- a/lib/searchaction.php
+++ b/lib/searchaction.php
@@ -51,7 +51,7 @@ class SearchAction extends Action
*
* @return boolean true
*/
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php
index 56a26176b..881ead99e 100644
--- a/plugins/LinkbackPlugin.php
+++ b/plugins/LinkbackPlugin.php
@@ -99,7 +99,7 @@ class LinkbackPlugin extends Plugin
if (array_key_exists('X-Pingback', $result->headers)) {
$pb = $result->headers['X-Pingback'];
- } else if (preg_match('/<link rel="pingback" href="([^"]+)" ?/?>/',
+ } else if (preg_match('/<link rel="pingback" href="([^"]+)" ?\/?>/',
$result->body,
$match)) {
$pb = $match[1];
diff --git a/scripts/triminboxes.php b/scripts/triminboxes.php
new file mode 100644
index 000000000..0d2eaeaf0
--- /dev/null
+++ b/scripts/triminboxes.php
@@ -0,0 +1,83 @@
+#!/usr/bin/env php
+<?php
+/*
+ * Laconica - a distributed open-source microblogging tool
+ * Copyright (C) 2009, Control Yourself, 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/>.
+ */
+
+# Abort if called from a web server
+if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
+ print "This script must be run from the command line\n";
+ exit(1);
+}
+
+ini_set("max_execution_time", "0");
+ini_set("max_input_time", "0");
+set_time_limit(0);
+mb_internal_encoding('UTF-8');
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+define('LACONICA', true);
+
+require_once(INSTALLDIR . '/lib/common.php');
+
+$user = new User();
+if ($argc > 1) {
+ $user->whereAdd('id > ' . $argv[1]);
+}
+$cnt = $user->find();
+
+while ($user->fetch()) {
+
+ $inbox_entry = new Notice_inbox();
+ $inbox_entry->user_id = $user->id;
+ $inbox_entry->orderBy('created DESC');
+ $inbox_entry->limit(1000, 1);
+
+ $id = null;
+
+ if ($inbox_entry->find(true)) {
+ $id = $inbox_entry->notice_id;
+ }
+
+ $inbox_entry->free();
+ unset($inbox_entry);
+
+ if (is_null($id)) {
+ continue;
+ }
+
+ $start = microtime(true);
+
+ $old_inbox = new Notice_inbox();
+ $cnt = $old_inbox->query('DELETE from notice_inbox WHERE user_id = ' . $user->id . ' AND notice_id < ' . $id);
+ $old_inbox->free();
+ unset($old_inbox);
+
+ print "Deleted $cnt notices for $user->nickname ($user->id).\n";
+
+ $finish = microtime(true);
+
+ $delay = 3.0 * ($finish - $start);
+
+ print "Delaying $delay seconds...";
+
+ // Wait to let slaves catch up
+
+ usleep($delay * 1000000);
+
+ print "DONE.\n";
+}
diff --git a/theme/default/base/css/display.css b/theme/base/css/display.css
index a6fe8eb75..a6fe8eb75 100644
--- a/theme/default/base/css/display.css
+++ b/theme/base/css/display.css
diff --git a/theme/cloudy/base/css/facebookapp.css b/theme/base/css/facebookapp.css
index 163b41fb4..163b41fb4 100644
--- a/theme/cloudy/base/css/facebookapp.css
+++ b/theme/base/css/facebookapp.css
diff --git a/theme/default/base/css/farbtastic.css b/theme/base/css/farbtastic.css
index 3b8fec58f..7efcc73c3 100644
--- a/theme/default/base/css/farbtastic.css
+++ b/theme/base/css/farbtastic.css
@@ -16,17 +16,17 @@
height: 101px;
}
.farbtastic .wheel {
- background: url(../../../../js/farbtastic/wheel.png) no-repeat;
+ background: url(../../../js/farbtastic/wheel.png) no-repeat;
width: 195px;
height: 195px;
}
.farbtastic .overlay {
- background: url(../../../../js/farbtastic/mask.png) no-repeat;
+ background: url(../../../js/farbtastic/mask.png) no-repeat;
}
.farbtastic .marker {
width: 17px;
height: 17px;
margin: -8px 0 0 -8px;
overflow: hidden;
- background: url(../../../../js/farbtastic/marker.png) no-repeat;
+ background: url(../../../js/farbtastic/marker.png) no-repeat;
}
diff --git a/theme/cloudy/base/css/ie.css b/theme/base/css/ie.css
index 5d8bea8ae..5d8bea8ae 100644
--- a/theme/cloudy/base/css/ie.css
+++ b/theme/base/css/ie.css
diff --git a/theme/cloudy/base/css/ie6.css b/theme/base/css/ie6.css
index 76a82c004..76a82c004 100644
--- a/theme/cloudy/base/css/ie6.css
+++ b/theme/base/css/ie6.css
diff --git a/theme/cloudy/base/css/jquery.Jcrop.css b/theme/base/css/jquery.Jcrop.css
index 6c6dfb503..6c6dfb503 100644
--- a/theme/cloudy/base/css/jquery.Jcrop.css
+++ b/theme/base/css/jquery.Jcrop.css
diff --git a/theme/cloudy/base/css/mobile.css b/theme/base/css/mobile.css
index eee98317c..eee98317c 100644
--- a/theme/cloudy/base/css/mobile.css
+++ b/theme/base/css/mobile.css
diff --git a/theme/cloudy/base/css/print.css b/theme/base/css/print.css
index d76dd608c..d76dd608c 100644
--- a/theme/cloudy/base/css/print.css
+++ b/theme/base/css/print.css
diff --git a/theme/cloudy/base/css/thickbox.css b/theme/base/css/thickbox.css
index d24b9bedf..d24b9bedf 100644
--- a/theme/cloudy/base/css/thickbox.css
+++ b/theme/base/css/thickbox.css
diff --git a/theme/base/default-avatar-mini.png b/theme/base/default-avatar-mini.png
new file mode 100644
index 000000000..38b8692b4
--- /dev/null
+++ b/theme/base/default-avatar-mini.png
Binary files differ
diff --git a/theme/base/default-avatar-profile.png b/theme/base/default-avatar-profile.png
new file mode 100644
index 000000000..f8357d4fc
--- /dev/null
+++ b/theme/base/default-avatar-profile.png
Binary files differ
diff --git a/theme/base/default-avatar-stream.png b/theme/base/default-avatar-stream.png
new file mode 100644
index 000000000..6b63baa70
--- /dev/null
+++ b/theme/base/default-avatar-stream.png
Binary files differ
diff --git a/theme/cloudy/base/images/icons/icon_atom.png b/theme/base/images/icons/icon_atom.png
index 6a001f11a..6a001f11a 100644
--- a/theme/cloudy/base/images/icons/icon_atom.png
+++ b/theme/base/images/icons/icon_atom.png
Binary files differ
diff --git a/theme/cloudy/base/images/icons/icon_foaf.gif b/theme/base/images/icons/icon_foaf.gif
index f8f784423..f8f784423 100644
--- a/theme/cloudy/base/images/icons/icon_foaf.gif
+++ b/theme/base/images/icons/icon_foaf.gif
Binary files differ
diff --git a/theme/cloudy/base/images/icons/icon_processing.gif b/theme/base/images/icons/icon_processing.gif
index d0bce1542..d0bce1542 100644
--- a/theme/cloudy/base/images/icons/icon_processing.gif
+++ b/theme/base/images/icons/icon_processing.gif
Binary files differ
diff --git a/theme/cloudy/base/images/icons/icon_rss.png b/theme/base/images/icons/icon_rss.png
index 0ccd1ce25..0ccd1ce25 100644
--- a/theme/cloudy/base/images/icons/icon_rss.png
+++ b/theme/base/images/icons/icon_rss.png
Binary files differ
diff --git a/theme/cloudy/base/images/icons/icon_vcard.gif b/theme/base/images/icons/icon_vcard.gif
index 6d52947f3..6d52947f3 100644
--- a/theme/cloudy/base/images/icons/icon_vcard.gif
+++ b/theme/base/images/icons/icon_vcard.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/arrow-left.gif b/theme/base/images/icons/twotone/green/arrow-left.gif
index afed19084..afed19084 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/arrow-left.gif
+++ b/theme/base/images/icons/twotone/green/arrow-left.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/arrow-right.gif b/theme/base/images/icons/twotone/green/arrow-right.gif
index ee1707ed9..ee1707ed9 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/arrow-right.gif
+++ b/theme/base/images/icons/twotone/green/arrow-right.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/disfavourite.gif b/theme/base/images/icons/twotone/green/disfavourite.gif
index 3946869ae..3946869ae 100644
--- a/theme/default/skin/default/images/icons/twotone/green/disfavourite.gif
+++ b/theme/base/images/icons/twotone/green/disfavourite.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/edit.gif b/theme/base/images/icons/twotone/green/edit.gif
index c746aca60..c746aca60 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/edit.gif
+++ b/theme/base/images/icons/twotone/green/edit.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/favourite.gif b/theme/base/images/icons/twotone/green/favourite.gif
index d93515e37..d93515e37 100644
--- a/theme/default/skin/default/images/icons/twotone/green/favourite.gif
+++ b/theme/base/images/icons/twotone/green/favourite.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/mail.gif b/theme/base/images/icons/twotone/green/mail.gif
index 1084c862f..1084c862f 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/mail.gif
+++ b/theme/base/images/icons/twotone/green/mail.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/news.gif b/theme/base/images/icons/twotone/green/news.gif
index 712c685dc..712c685dc 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/news.gif
+++ b/theme/base/images/icons/twotone/green/news.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/quote.gif b/theme/base/images/icons/twotone/green/quote.gif
index 4ba1f0c03..4ba1f0c03 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/quote.gif
+++ b/theme/base/images/icons/twotone/green/quote.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/reply.gif b/theme/base/images/icons/twotone/green/reply.gif
index 6ff01bb35..6ff01bb35 100644
--- a/theme/default/skin/default/images/icons/twotone/green/reply.gif
+++ b/theme/base/images/icons/twotone/green/reply.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/twotone/green/shield.gif b/theme/base/images/icons/twotone/green/shield.gif
index 419d5ee4b..419d5ee4b 100644
--- a/theme/cloudy/skin/default/images/icons/twotone/green/shield.gif
+++ b/theme/base/images/icons/twotone/green/shield.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/trash.gif b/theme/base/images/icons/twotone/green/trash.gif
index 78dd64a3d..78dd64a3d 100644
--- a/theme/default/skin/default/images/icons/twotone/green/trash.gif
+++ b/theme/base/images/icons/twotone/green/trash.gif
Binary files differ
diff --git a/theme/cloudy/base/images/illustrations/illu_jcrop.gif b/theme/base/images/illustrations/illu_jcrop.gif
index 72ea7ccb5..72ea7ccb5 100644
--- a/theme/cloudy/base/images/illustrations/illu_jcrop.gif
+++ b/theme/base/images/illustrations/illu_jcrop.gif
Binary files differ
diff --git a/theme/cloudy/base/images/illustrations/illu_progress_loading-01.gif b/theme/base/images/illustrations/illu_progress_loading-01.gif
index 82290f483..82290f483 100644
--- a/theme/cloudy/base/images/illustrations/illu_progress_loading-01.gif
+++ b/theme/base/images/illustrations/illu_progress_loading-01.gif
Binary files differ
diff --git a/theme/default/logo.png b/theme/base/logo.png
index 7c68b34f6..7c68b34f6 100644
--- a/theme/default/logo.png
+++ b/theme/base/logo.png
Binary files differ
diff --git a/theme/cloudy/base/css/display.css b/theme/cloudy/css/display.css
index c71a59ef2..b87722eec 100644
--- a/theme/cloudy/base/css/display.css
+++ b/theme/cloudy/css/display.css
@@ -1240,3 +1240,311 @@ padding-top:160px;
#tag #form_notice {
display:none;
}
+
+
+html,
+body,
+a:active {
+background-color:#9AE4E8;
+}
+body {
+font-family:'Lucida Grande',sans-serif;
+background:#9AE4E8 url(../images/illustrations/illu_clouds-01.gif) 0 0 no-repeat;
+color:#333333;
+}
+#core {
+background:url(../images/illustrations/illu_arrow-up-01.gif) no-repeat 25px 0;
+}
+
+input, textarea, select, option {
+font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
+}
+input, textarea, select,
+.entity_remote_subscribe {
+border-color:#aaa;
+}
+#filter_tags ul li {
+border-color:#ddd;
+}
+
+.form_settings input.form_action-secondary {
+background:none;
+}
+
+input.submit,
+#form_notice.warning #notice_text-count,
+#nav_register a,
+.form_settings .form_note,
+.entity_remote_subscribe {
+background-color:#9BB43E;
+}
+
+input:focus, textarea:focus, select:focus,
+#form_notice.warning #notice_data-text {
+border-color:#9BB43E;
+}
+input.submit,
+#nav_register a,
+.entity_remote_subscribe {
+color:#fff;
+}
+
+a,
+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,
+.form_settings input.form_action-secondary {
+color:#0084B4;
+}
+
+.notice,
+.profile {
+border-top-color:#DDFFCC;
+}
+.section .profile {
+border-top-color:#87B4C8;
+}
+
+
+#content .notice p.entry-content a:visited {
+background-color:#fcfcfc;
+}
+#content .notice p.entry-content .vcard a {
+background-color:#fcfffc;
+}
+
+#aside_primary {
+background-color:#DDFFCC;
+}
+
+
+#notice_text-count {
+color:#333;
+}
+#form_notice.warning #notice_text-count {
+color:#000;
+}
+#form_notice.processing #notice_action-submit {
+background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
+cursor:wait;
+text-indent:-9999px;
+}
+
+#content,
+#site_nav_local_views a,
+#aside_primary {
+border-color:#fff;
+}
+#content,
+#site_nav_local_views .current a {
+background-color:#fff;
+}
+
+#site_nav_local_views a {
+background-color:rgba(135, 180, 200, 0.3);
+}
+#site_nav_local_views a:hover {
+background-color:rgba(255, 255, 255, 0.7);
+}
+
+
+.error {
+background-color:#F7E8E8;
+}
+.success {
+background-color:#EFF3DC;
+}
+
+
+#anon_notice {
+background-color:#FEFFDF;
+color:#333;
+border-color:#fff;
+}
+
+#showstream #anon_notice {
+background-color:#FEFFDF;
+}
+
+
+#export_data li a {
+background-repeat:no-repeat;
+background-position:0 45%;
+}
+#export_data li a.rss {
+background-image:url(../../base/images/icons/icon_rss.png);
+}
+#export_data li a.atom {
+background-image:url(../../base/images/icons/icon_atom.png);
+}
+#export_data li a.foaf {
+background-image:url(../../base/images/icons/icon_foaf.gif);
+}
+
+.entity_edit a,
+.entity_send-a-message a,
+.form_user_nudge input.submit,
+.form_user_block input.submit,
+.form_user_unblock input.submit,
+.entity_nudge p {
+background-position: 0 40%;
+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 {
+background-color:#9BB43E;
+color:#fff;
+}
+.form_user_unsubscribe input.submit,
+.form_group_leave input.submit {
+background-color:#87B4C8;
+}
+
+.entity_edit a {
+background-image:url(../images/icons/twotone/green/edit.gif);
+}
+.entity_send-a-message a {
+background-image:url(../images/icons/twotone/green/quote.gif);
+}
+.entity_nudge p,
+.form_user_nudge input.submit {
+background-image:url(../images/icons/twotone/green/mail.gif);
+}
+.form_user_block input.submit,
+.form_user_unblock input.submit {
+background-image:url(../images/icons/twotone/green/shield.gif);
+}
+
+
+
+/* NOTICES */
+.notices li.over {
+background-color:#fcfcfc;
+}
+
+.notice-options .notice_reply a,
+.notice-options form input.submit {
+background-color:transparent;
+}
+.notice-options .notice_reply a {
+background:transparent url(../images/icons/icon_reply.gif) no-repeat 0 45%;
+}
+.notice-options form.form_favor input.submit {
+background:transparent url(../images/icons/icon_favourite.gif) no-repeat 0 45%;
+}
+.notice-options form.form_disfavor input.submit {
+background:transparent url(../images/icons/icon_disfavourite.gif) no-repeat 0 45%;
+}
+.notice-options .notice_delete a {
+background:transparent url(../images/icons/icon_trash.gif) no-repeat 0 45%;
+}
+
+.notices div.entry-content,
+.notices div.notice-options {
+opacity:0.4;
+}
+.notices li.hover div.entry-content,
+.notices li.hover div.notice-options {
+opacity:1;
+}
+div.entry-content {
+color:#333;
+}
+div.notice-options a,
+div.notice-options input {
+font-family:sans-serif;
+}
+.notices li.hover {
+background-color:#fcfcfc;
+}
+/*END: NOTICES */
+
+
+#new_group a {
+background:transparent url(../../base/images/icons/twotone/green/news.gif) no-repeat 0 45%;
+}
+
+.pagination .nav_prev a,
+.pagination .nav_next a {
+background-repeat:no-repeat;
+border-color:#DDFFCC;
+}
+.pagination .nav_prev a {
+background-image:url(../../base/images/icons/twotone/green/arrow-left.gif);
+background-position:10% 45%;
+}
+.pagination .nav_next a {
+background-image:url(../../base/images/icons/twotone/green/arrow-right.gif);
+background-position:90% 45%;
+}
+
+
+/*--------------------------------------*/
+
+#anon_notice {
+background:url(../images/illustrations/illu_unicorn-01.png) no-repeat 0 0;
+}
+#showstream #anon_notice,
+#content .notice p.entry-content a:visited,
+content .notice p.entry-content .vcard a {
+background-color:transparent;
+}
+
+#anon_notice p {
+background-color:#FEFFDF;
+border-color:#FFFF00;
+}
+
+
+#form_notice .form_note {
+color:#CCC;
+}
+input.submit {
+background-color:#eee;
+color:#666;
+}
+
+.notices li.hover {
+background-color:#F7F7F7;
+}
+
+
+.notice div.entry-content,
+.notice div.entry-content a {
+color:#999;
+}
+
+.notices div.entry-content,
+.notices div.notice-options {
+opacity:1;
+}
+
+#site_nav_local_views {
+background-color:#DDFFCC;
+}
+#site_nav_local_views li,
+#aside_primary {
+border-color:#BDDCAD;
+}
+#site_nav_local_views a,
+.aside .section h2 {
+background-color:transparent;
+border-color:transparent;
+color:#4C4C4C;
+}
+#site_nav_local_views .current {
+border-left-color:#fff;
+}
+
+#site_nav_local_views .current a,
+#site_nav_global_primary,
+#footer {
+background-color:#fff;
+}
+
diff --git a/theme/cloudy/skin/default/css/ie.css b/theme/cloudy/css/ie.css
index 095122100..095122100 100644
--- a/theme/cloudy/skin/default/css/ie.css
+++ b/theme/cloudy/css/ie.css
diff --git a/theme/default/base/images/icons/icon_atom.png b/theme/cloudy/images/icons/icon_atom.png
index 6a001f11a..6a001f11a 100644
--- a/theme/default/base/images/icons/icon_atom.png
+++ b/theme/cloudy/images/icons/icon_atom.png
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_disfavourite.gif b/theme/cloudy/images/icons/icon_disfavourite.gif
index 2b02ac8a6..2b02ac8a6 100644
--- a/theme/cloudy/skin/default/images/icons/icon_disfavourite.gif
+++ b/theme/cloudy/images/icons/icon_disfavourite.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_favourite.gif b/theme/cloudy/images/icons/icon_favourite.gif
index 716ce3549..716ce3549 100644
--- a/theme/cloudy/skin/default/images/icons/icon_favourite.gif
+++ b/theme/cloudy/images/icons/icon_favourite.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_foaf.gif b/theme/cloudy/images/icons/icon_foaf.gif
index f8f784423..f8f784423 100644
--- a/theme/cloudy/skin/default/images/icons/icon_foaf.gif
+++ b/theme/cloudy/images/icons/icon_foaf.gif
Binary files differ
diff --git a/theme/default/base/images/icons/icon_processing.gif b/theme/cloudy/images/icons/icon_processing.gif
index d0bce1542..d0bce1542 100644
--- a/theme/default/base/images/icons/icon_processing.gif
+++ b/theme/cloudy/images/icons/icon_processing.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_reply.gif b/theme/cloudy/images/icons/icon_reply.gif
index a4379a70b..a4379a70b 100644
--- a/theme/cloudy/skin/default/images/icons/icon_reply.gif
+++ b/theme/cloudy/images/icons/icon_reply.gif
Binary files differ
diff --git a/theme/default/base/images/icons/icon_rss.png b/theme/cloudy/images/icons/icon_rss.png
index 0ccd1ce25..0ccd1ce25 100644
--- a/theme/default/base/images/icons/icon_rss.png
+++ b/theme/cloudy/images/icons/icon_rss.png
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_trash.gif b/theme/cloudy/images/icons/icon_trash.gif
index 916a332a3..916a332a3 100644
--- a/theme/cloudy/skin/default/images/icons/icon_trash.gif
+++ b/theme/cloudy/images/icons/icon_trash.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_vcard.gif b/theme/cloudy/images/icons/icon_vcard.gif
index 6d52947f3..6d52947f3 100644
--- a/theme/cloudy/skin/default/images/icons/icon_vcard.gif
+++ b/theme/cloudy/images/icons/icon_vcard.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/arrow-left.gif b/theme/cloudy/images/icons/twotone/green/arrow-left.gif
index afed19084..afed19084 100644
--- a/theme/default/skin/default/images/icons/twotone/green/arrow-left.gif
+++ b/theme/cloudy/images/icons/twotone/green/arrow-left.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/arrow-right.gif b/theme/cloudy/images/icons/twotone/green/arrow-right.gif
index ee1707ed9..ee1707ed9 100644
--- a/theme/default/skin/default/images/icons/twotone/green/arrow-right.gif
+++ b/theme/cloudy/images/icons/twotone/green/arrow-right.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/edit.gif b/theme/cloudy/images/icons/twotone/green/edit.gif
index c746aca60..c746aca60 100644
--- a/theme/default/skin/default/images/icons/twotone/green/edit.gif
+++ b/theme/cloudy/images/icons/twotone/green/edit.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/mail.gif b/theme/cloudy/images/icons/twotone/green/mail.gif
index 1084c862f..1084c862f 100644
--- a/theme/default/skin/default/images/icons/twotone/green/mail.gif
+++ b/theme/cloudy/images/icons/twotone/green/mail.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/news.gif b/theme/cloudy/images/icons/twotone/green/news.gif
index 712c685dc..712c685dc 100644
--- a/theme/default/skin/default/images/icons/twotone/green/news.gif
+++ b/theme/cloudy/images/icons/twotone/green/news.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/quote.gif b/theme/cloudy/images/icons/twotone/green/quote.gif
index 4ba1f0c03..4ba1f0c03 100644
--- a/theme/default/skin/default/images/icons/twotone/green/quote.gif
+++ b/theme/cloudy/images/icons/twotone/green/quote.gif
Binary files differ
diff --git a/theme/default/skin/default/images/icons/twotone/green/shield.gif b/theme/cloudy/images/icons/twotone/green/shield.gif
index 419d5ee4b..419d5ee4b 100644
--- a/theme/default/skin/default/images/icons/twotone/green/shield.gif
+++ b/theme/cloudy/images/icons/twotone/green/shield.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/illustrations/illu_arrow-up-01.gif b/theme/cloudy/images/illustrations/illu_arrow-up-01.gif
index 577be1871..577be1871 100644
--- a/theme/cloudy/skin/default/images/illustrations/illu_arrow-up-01.gif
+++ b/theme/cloudy/images/illustrations/illu_arrow-up-01.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/illustrations/illu_clouds-01.gif b/theme/cloudy/images/illustrations/illu_clouds-01.gif
index 41cd622cf..41cd622cf 100644
--- a/theme/cloudy/skin/default/images/illustrations/illu_clouds-01.gif
+++ b/theme/cloudy/images/illustrations/illu_clouds-01.gif
Binary files differ
diff --git a/theme/default/base/images/illustrations/illu_jcrop.gif b/theme/cloudy/images/illustrations/illu_jcrop.gif
index 72ea7ccb5..72ea7ccb5 100644
--- a/theme/default/base/images/illustrations/illu_jcrop.gif
+++ b/theme/cloudy/images/illustrations/illu_jcrop.gif
Binary files differ
diff --git a/theme/default/base/images/illustrations/illu_progress_loading-01.gif b/theme/cloudy/images/illustrations/illu_progress_loading-01.gif
index 82290f483..82290f483 100644
--- a/theme/default/base/images/illustrations/illu_progress_loading-01.gif
+++ b/theme/cloudy/images/illustrations/illu_progress_loading-01.gif
Binary files differ
diff --git a/theme/cloudy/skin/default/images/illustrations/illu_unicorn-01.png b/theme/cloudy/images/illustrations/illu_unicorn-01.png
index 6cb51b298..6cb51b298 100644
--- a/theme/cloudy/skin/default/images/illustrations/illu_unicorn-01.png
+++ b/theme/cloudy/images/illustrations/illu_unicorn-01.png
Binary files differ
diff --git a/theme/cloudy/skin/default/css/display.css b/theme/cloudy/skin/default/css/display.css
deleted file mode 100644
index b30ca9d0d..000000000
--- a/theme/cloudy/skin/default/css/display.css
+++ /dev/null
@@ -1,314 +0,0 @@
-/** theme: twitter
- *
- * @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,
-body,
-a:active {
-background-color:#9AE4E8;
-}
-body {
-font-family:'Lucida Grande',sans-serif;
-background:#9AE4E8 url(../images/illustrations/illu_clouds-01.gif) 0 0 no-repeat;
-color:#333333;
-}
-#core {
-background:url(../images/illustrations/illu_arrow-up-01.gif) no-repeat 25px 0;
-}
-
-input, textarea, select, option {
-font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
-}
-input, textarea, select,
-.entity_remote_subscribe {
-border-color:#aaa;
-}
-#filter_tags ul li {
-border-color:#ddd;
-}
-
-.form_settings input.form_action-secondary {
-background:none;
-}
-
-input.submit,
-#form_notice.warning #notice_text-count,
-#nav_register a,
-.form_settings .form_note,
-.entity_remote_subscribe {
-background-color:#9BB43E;
-}
-
-input:focus, textarea:focus, select:focus,
-#form_notice.warning #notice_data-text {
-border-color:#9BB43E;
-}
-input.submit,
-#nav_register a,
-.entity_remote_subscribe {
-color:#fff;
-}
-
-a,
-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,
-.form_settings input.form_action-secondary {
-color:#0084B4;
-}
-
-.notice,
-.profile {
-border-top-color:#DDFFCC;
-}
-.section .profile {
-border-top-color:#87B4C8;
-}
-
-
-#content .notice p.entry-content a:visited {
-background-color:#fcfcfc;
-}
-#content .notice p.entry-content .vcard a {
-background-color:#fcfffc;
-}
-
-#aside_primary {
-background-color:#DDFFCC;
-}
-
-
-#notice_text-count {
-color:#333;
-}
-#form_notice.warning #notice_text-count {
-color:#000;
-}
-#form_notice.processing #notice_action-submit {
-background:#fff url(../../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
-cursor:wait;
-text-indent:-9999px;
-}
-
-#content,
-#site_nav_local_views a,
-#aside_primary {
-border-color:#fff;
-}
-#content,
-#site_nav_local_views .current a {
-background-color:#fff;
-}
-
-#site_nav_local_views a {
-background-color:rgba(135, 180, 200, 0.3);
-}
-#site_nav_local_views a:hover {
-background-color:rgba(255, 255, 255, 0.7);
-}
-
-
-.error {
-background-color:#F7E8E8;
-}
-.success {
-background-color:#EFF3DC;
-}
-
-
-#anon_notice {
-background-color:#FEFFDF;
-color:#333;
-border-color:#fff;
-}
-
-#showstream #anon_notice {
-background-color:#FEFFDF;
-}
-
-
-#export_data li a {
-background-repeat:no-repeat;
-background-position:0 45%;
-}
-#export_data li a.rss {
-background-image:url(../../../base/images/icons/icon_rss.png);
-}
-#export_data li a.atom {
-background-image:url(../../../base/images/icons/icon_atom.png);
-}
-#export_data li a.foaf {
-background-image:url(../../../base/images/icons/icon_foaf.gif);
-}
-
-.entity_edit a,
-.entity_send-a-message a,
-.form_user_nudge input.submit,
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_nudge p {
-background-position: 0 40%;
-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 {
-background-color:#9BB43E;
-color:#fff;
-}
-.form_user_unsubscribe input.submit,
-.form_group_leave input.submit {
-background-color:#87B4C8;
-}
-
-.entity_edit a {
-background-image:url(../images/icons/twotone/green/edit.gif);
-}
-.entity_send-a-message a {
-background-image:url(../images/icons/twotone/green/quote.gif);
-}
-.entity_nudge p,
-.form_user_nudge input.submit {
-background-image:url(../images/icons/twotone/green/mail.gif);
-}
-.form_user_block input.submit,
-.form_user_unblock input.submit {
-background-image:url(../images/icons/twotone/green/shield.gif);
-}
-
-
-
-/* NOTICES */
-.notices li.over {
-background-color:#fcfcfc;
-}
-
-.notice-options .notice_reply a,
-.notice-options form input.submit {
-background-color:transparent;
-}
-.notice-options .notice_reply a {
-background:transparent url(../images/icons/icon_reply.gif) no-repeat 0 45%;
-}
-.notice-options form.form_favor input.submit {
-background:transparent url(../images/icons/icon_favourite.gif) no-repeat 0 45%;
-}
-.notice-options form.form_disfavor input.submit {
-background:transparent url(../images/icons/icon_disfavourite.gif) no-repeat 0 45%;
-}
-.notice-options .notice_delete a {
-background:transparent url(../images/icons/icon_trash.gif) no-repeat 0 45%;
-}
-
-.notices div.entry-content,
-.notices div.notice-options {
-opacity:0.4;
-}
-.notices li.hover div.entry-content,
-.notices li.hover div.notice-options {
-opacity:1;
-}
-div.entry-content {
-color:#333;
-}
-div.notice-options a,
-div.notice-options input {
-font-family:sans-serif;
-}
-.notices li.hover {
-background-color:#fcfcfc;
-}
-/*END: NOTICES */
-
-
-#new_group a {
-background:transparent url(../images/icons/twotone/green/news.gif) no-repeat 0 45%;
-}
-
-.pagination .nav_prev a,
-.pagination .nav_next a {
-background-repeat:no-repeat;
-border-color:#DDFFCC;
-}
-.pagination .nav_prev a {
-background-image:url(../images/icons/twotone/green/arrow-left.gif);
-background-position:10% 45%;
-}
-.pagination .nav_next a {
-background-image:url(../images/icons/twotone/green/arrow-right.gif);
-background-position:90% 45%;
-}
-
-
-/*--------------------------------------*/
-
-#anon_notice {
-background:url(../images/illustrations/illu_unicorn-01.png) no-repeat 0 0;
-}
-#showstream #anon_notice,
-#content .notice p.entry-content a:visited,
-content .notice p.entry-content .vcard a {
-background-color:transparent;
-}
-
-#anon_notice p {
-background-color:#FEFFDF;
-border-color:#FFFF00;
-}
-
-
-#form_notice .form_note {
-color:#CCC;
-}
-input.submit {
-background-color:#eee;
-color:#666;
-}
-
-.notices li.hover {
-background-color:#F7F7F7;
-}
-
-
-.notice div.entry-content,
-.notice div.entry-content a {
-color:#999;
-}
-
-.notices div.entry-content,
-.notices div.notice-options {
-opacity:1;
-}
-
-#site_nav_local_views {
-background-color:#DDFFCC;
-}
-#site_nav_local_views li,
-#aside_primary {
-border-color:#BDDCAD;
-}
-#site_nav_local_views a,
-.aside .section h2 {
-background-color:transparent;
-border-color:transparent;
-color:#4C4C4C;
-}
-#site_nav_local_views .current {
-border-left-color:#fff;
-}
-
-#site_nav_local_views .current a,
-#site_nav_global_primary,
-#footer {
-background-color:#fff;
-}
-
diff --git a/theme/cloudy/skin/default/images/icons/icon_atom.jpg b/theme/cloudy/skin/default/images/icons/icon_atom.jpg
deleted file mode 100644
index 22853edc4..000000000
--- a/theme/cloudy/skin/default/images/icons/icon_atom.jpg
+++ /dev/null
Binary files differ
diff --git a/theme/cloudy/skin/default/images/icons/icon_rss.jpg b/theme/cloudy/skin/default/images/icons/icon_rss.jpg
deleted file mode 100644
index da23422d0..000000000
--- a/theme/cloudy/skin/default/images/icons/icon_rss.jpg
+++ /dev/null
Binary files differ
diff --git a/theme/default/base/css/facebookapp.css b/theme/default/base/css/facebookapp.css
deleted file mode 100644
index 163b41fb4..000000000
--- a/theme/default/base/css/facebookapp.css
+++ /dev/null
@@ -1,100 +0,0 @@
-@import url("display.css");
-@import url("../../identica/css/display.css");
-
-* {
-font-size:14px;
-font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
-}
-
-#wrap {
-background-color:#F0F2F5;
-padding-left:18px;
-padding-right:18px;
-width:auto;
-}
-
-p,label,
-h1,h2,h3,h4,h5,h6 {
-color:#000;
-}
-
-#content {
-width:95%;
-}
-
-#site_nav_local_views a {
-background-color:#D0DFE7;
-}
-#site_nav_local_views a:hover {
-background-color:#FAFBFC;
-}
-
-span.facebook-button {
-border: 2px solid #aaa;
-padding: 3px;
-display: block;
-float: left;
-margin-right: 20px;
--moz-border-radius: 4px;
-border-radius:4px;
--webkit-border-radius:4px;
-font-weight: bold;
-background-color:#A9BF4F;
-color:#fff;
-font-size:1.2em
-}
-
-span.facebook-button a { color:#fff }
-
-.facebook_guide {
-margin-bottom:18px;
-}
-.facebook_guide p {
-font-weight:bold;
-}
-
-
-input {
-height:auto !important;
-}
-
-#facebook-friends {
-float:left;
-width:100%;
-}
-
-#facebook-friends li {
-float:left;
-margin-right:2%;
-margin-bottom:11px;
-width:18%;
-height:115px;
-}
-#facebook-friends li a {
-float:left;
-}
-
-#add_to_profile {
-position:absolute;
-right:18px;
-top:10px;
-z-index:2;
-}
-
-.notice div.entry-content dl,
-.notice div.entry-content dt,
-.notice div.entry-content dd {
-margin-right:5px;
-}
-
-#content_inner p {
-margin-bottom:18px;
-}
-
-#content_inner ul {
-list-style-type:none;
-}
-
-.form_settings label {
-margin-right:18px;
-}
diff --git a/theme/default/base/css/ie.css b/theme/default/base/css/ie.css
deleted file mode 100644
index 5d8bea8ae..000000000
--- a/theme/default/base/css/ie.css
+++ /dev/null
@@ -1,32 +0,0 @@
-/* IE specific styles */
-legend {
-margin-left:-7px;
-}
-input.checkbox {
-top:0;
-}
-#form_notice textarea {
-width:78%;
-}
-#form_notice #notice_action-submit {
-width:17%;
-max-width:17%;
-}
-#anon_notice {
-max-width:39%;
-}
-
-.notice-options input.submit {
-font-size:0;
-margin-top:3px;
-height:16px;
-text-align:right;
-text-indent:0;
-width:24px;
-}
-.notice div.entry-content .timestamp a {
-margin-right:4px;
-}
-.entity_profile {
-width:64%;
-}
diff --git a/theme/default/base/css/ie6.css b/theme/default/base/css/ie6.css
deleted file mode 100644
index 76a82c004..000000000
--- a/theme/default/base/css/ie6.css
+++ /dev/null
@@ -1,30 +0,0 @@
-/* IE6 specific styles */
-address {
-margin-left:7px;
-}
-address .fn {
-display:none;
-}
-#content {
-width:70%;
-}
-#aside_primary {
-padding:5%;
-width:29.5%;
-}
-.entity_profile .entity_nickname,
-.entity_profile .entity_location,
-.entity_profile .entity_url,
-.entity_profile .entity_note,
-.entity_profile .entity_tags {
-margin-left:0;
-}
-.entity_profile .entity_depiction {
-margin-bottom:123px;
-}
-.entity_actions {
-width:20%;
-}
-.notice div.entry-content {
-width:63%;
-}
diff --git a/theme/default/base/css/jquery.Jcrop.css b/theme/default/base/css/jquery.Jcrop.css
deleted file mode 100644
index 6c6dfb503..000000000
--- a/theme/default/base/css/jquery.Jcrop.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Fixes issue here http://code.google.com/p/jcrop/issues/detail?id=1 */
-.jcrop-holder
-{
- text-align: left;
-}
-
-.jcrop-vline, .jcrop-hline
-{
- font-size: 0;
- position: absolute;
- background: #fff url(../images/illustrations/illu_jcrop.gif) top left repeat;
- /*
- opacity: .5;
- *filter:alpha(opacity=50);
- */
-}
-.jcrop-vline { height: 100%; width: 1px !important; }
-.jcrop-hline { width: 100%; height: 1px !important; }
-.jcrop-handle {
- font-size: 1px;
- width: 7px !important;
- height: 7px !important;
- border: 1px #eee solid;
- background-color: #333;
- /*width: 9px;
- height: 9px;*/
-}
-
-.jcrop-tracker {
- /*background-color: gray;*/
- width: 100%; height: 100%;
-}
-
-.custom .jcrop-vline,
-.custom .jcrop-hline
-{
- background: yellow;
-}
-.custom .jcrop-handle
-{
- border-color: black;
- background-color: #C7BB00;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
-}
diff --git a/theme/default/base/css/mobile.css b/theme/default/base/css/mobile.css
deleted file mode 100644
index eee98317c..000000000
--- a/theme/default/base/css/mobile.css
+++ /dev/null
@@ -1,150 +0,0 @@
-/** theme: base
- *
- * @package Laconica
- * @author Meitar Moscovitz <meitar@maymay.net>
- * @author Sarven Capadisli <csarven@controlyourself.ca>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://laconi.ca/
- */
-
-body {
-font-size:2.5em;
-}
-
-#wrap {
-width:95%;
-}
-
-#header,
-#header address,
-#anon_notice,
-#site_nav_local_views .nav,
-#form_notice,
-#form_notice .form_data li,
-#core,
-#content_inner,
-#notices_primary,
-.notice,
-.notice .entry-title,
-.notice div.entry-content,
-.notice-options,
-.notice .notice-options a,
-.pagination,
-.pagination .nav,
-.aside .section {
-float:none;
-}
-
-.notice-options .notice_reply,
-.notice-options .notice_delete,
-.notice-options .form_favor,
-.notice-options .form_disfavor {
-position:static;
-}
-
-#form_notice,
-#anon_notice,
-#footer,
-#form_notice .form_actions input.submit {
-width:auto;
-}
-
-.form_settings label {
-width:25%;
-}
-.form_settings .form_data p.form_guide {
-margin-left:26%;
-}
-
-#site_nav_global_primary {
-width:75%;
-}
-
-.entity_profile {
-width:65%;
-}
-.entity_actions {
-margin-left:0;
-}
-
-#form_notice,
-#anon_notice {
-clear:both;
-}
-
-#content,
-#aside_primary {
-width:96%;
-padding-left:2%;
-padding-right:2%;
-}
-
-#site_notice {
-position:static;
-float:right;
-clear:right;
-width:75%;
-margin-right:0;
-margin-bottom:11px;
-}
-
-.notices {
-font-size:1.5em;
-}
-
-#form_notice textarea {
-width:80%;
-height:5em;
-}
-#form_notice .form_note {
-right:20%;
-top:6em;
-}
-
-
-.vcard .photo,
-.section .vcard .photo {
-margin-right:18px;
-}
-.notice,
-.profile {
-margin-bottom:18px;
-}
-
-.notices .entry-title,
-.notices div.entry-content {
-width:90%;
-}
-.notice div.entry-content {
-margin-left:0;
-}
-
-.notice .author .photo {
-height:4.5em;
-width:4.5em;
-}
-.notice-options {
-position:absolute;
-top:0;
-right:0;
-padding-left:7%;
-width:3%;
-}
-
-.notice-options .notice_delete a {
-float:left;
-}
-.pagination .nav {
-overflow:auto;
-}
-
-#export_data {
-display:none;
-}
-
-#site_nav_local_views li {
-margin-right:4px;
-}
-#site_nav_local_views a {
-padding:18px 11px;
-}
diff --git a/theme/default/base/css/print.css b/theme/default/base/css/print.css
deleted file mode 100644
index d76dd608c..000000000
--- a/theme/default/base/css/print.css
+++ /dev/null
@@ -1,36 +0,0 @@
-/** theme: base
- *
- * @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/
- */
-
-a:after { background-color:#fff; }
-a:not([href^="#"]):after { content:" ( "attr(href)" ) "; }
-
-img { border:none; }
-p { orphans: 2; widows: 1; }
-
-#site_nav_global_primary,
-#site_nav_local_views,
-#form_notice,
-.pagination,
-#site_nav_global_secondary,
-.entity_actions,
-.notice-options,
-#aside_primary,
-.form_subscription_edit .submit {
-display:none;
-}
-
-.timestamp dt, .timestamp dd,
-.device dt, .device dd {
-display:inline;
-}
-
-.profiles li,
-.notices li {
-margin-bottom:18px;
-}
diff --git a/theme/default/base/css/thickbox.css b/theme/default/base/css/thickbox.css
deleted file mode 100644
index d24b9bedf..000000000
--- a/theme/default/base/css/thickbox.css
+++ /dev/null
@@ -1,163 +0,0 @@
-/* ----------------------------------------------------------------------------------------------------------------*/
-/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
-/* ----------------------------------------------------------------------------------------------------------------*/
-*{padding: 0; margin: 0;}
-
-/* ----------------------------------------------------------------------------------------------------------------*/
-/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
-/* ----------------------------------------------------------------------------------------------------------------*/
-#TB_window {
- font: 12px Arial, Helvetica, sans-serif;
- color: #333333;
-}
-
-#TB_secondLine {
- font: 10px Arial, Helvetica, sans-serif;
- color:#666666;
-}
-
-#TB_window a:link {color: #666666;}
-#TB_window a:visited {color: #666666;}
-#TB_window a:hover {color: #000;}
-#TB_window a:active {color: #666666;}
-#TB_window a:focus{color: #666666;}
-
-/* ----------------------------------------------------------------------------------------------------------------*/
-/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
-/* ----------------------------------------------------------------------------------------------------------------*/
-#TB_overlay {
- position: fixed;
- z-index:100;
- top: 0px;
- left: 0px;
- height:100%;
- width:100%;
-}
-
-.TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;}
-.TB_overlayBG {
- background-color:#000;
- filter:alpha(opacity=75);
- -moz-opacity: 0.75;
- opacity: 0.75;
-}
-
-* html #TB_overlay { /* ie6 hack */
- position: absolute;
- height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
-}
-
-#TB_window {
- position: fixed;
- background: #ffffff;
- z-index: 102;
- color:#000000;
- display:none;
- border: 4px solid #525252;
- text-align:left;
- top:50%;
- left:50%;
-}
-
-* html #TB_window { /* ie6 hack */
-position: absolute;
-margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
-}
-
-#TB_window img#TB_Image {
- display:block;
- margin: 15px 0 0 15px;
- border-right: 1px solid #ccc;
- border-bottom: 1px solid #ccc;
- border-top: 1px solid #666;
- border-left: 1px solid #666;
-}
-
-#TB_caption{
- height:25px;
- padding:7px 30px 10px 25px;
- float:left;
-}
-
-#TB_closeWindow{
- height:25px;
- padding:11px 25px 10px 0;
- float:right;
-}
-
-#TB_closeAjaxWindow{
- padding:7px 10px 5px 0;
- margin-bottom:1px;
- text-align:right;
- float:right;
-}
-
-#TB_ajaxWindowTitle{
- float:left;
- padding:7px 0 5px 10px;
- margin-bottom:1px;
-}
-
-#TB_title{
- background-color:#e8e8e8;
- height:27px;
-}
-
-#TB_ajaxContent{
- clear:both;
- padding:2px 15px 15px 15px;
- overflow:auto;
- text-align:left;
- line-height:1.4em;
-}
-
-#TB_ajaxContent.TB_modal{
- padding:15px;
-}
-
-#TB_ajaxContent p{
- padding:5px 0px 5px 0px;
-}
-
-#TB_load{
- position: fixed;
- display:none;
- height:13px;
- width:208px;
- z-index:103;
- top: 50%;
- left: 50%;
- margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
-}
-
-* html #TB_load { /* ie6 hack */
-position: absolute;
-margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
-}
-
-#TB_HideSelect{
- z-index:99;
- position:fixed;
- top: 0;
- left: 0;
- background-color:#fff;
- border:none;
- filter:alpha(opacity=0);
- -moz-opacity: 0;
- opacity: 0;
- height:100%;
- width:100%;
-}
-
-* html #TB_HideSelect { /* ie6 hack */
- position: absolute;
- height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
-}
-
-#TB_iframeContent{
- clear:both;
- border:none;
- margin-bottom:-1px;
- margin-top:1px;
- _margin-bottom:1px;
-}
diff --git a/theme/default/base/images/icons/icon_foaf.gif b/theme/default/base/images/icons/icon_foaf.gif
deleted file mode 100644
index f8f784423..000000000
--- a/theme/default/base/images/icons/icon_foaf.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/base/images/icons/icon_vcard.gif b/theme/default/base/images/icons/icon_vcard.gif
deleted file mode 100644
index 6d52947f3..000000000
--- a/theme/default/base/images/icons/icon_vcard.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/default/css/display.css b/theme/default/css/display.css
index e290c208b..0c8fae166 100644
--- a/theme/default/skin/default/css/display.css
+++ b/theme/default/css/display.css
@@ -7,6 +7,8 @@
* @link http://laconi.ca/
*/
+@import url(../../base/css/display.css);
+
html,
body,
a:active {
@@ -70,7 +72,6 @@ border-top-color:#D1D9E4;
border-top-color:#97BFD1;
}
-
#content .notice p.entry-content a:visited {
background-color:#fcfcfc;
}
@@ -82,7 +83,6 @@ background-color:#fcfffc;
background-color:#CEE1E9;
}
-
#notice_text-count {
color:#333;
}
@@ -90,7 +90,7 @@ color:#333;
color:#000;
}
#form_notice.processing #notice_action-submit {
-background:#fff url(../../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
+background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
cursor:wait;
text-indent:-9999px;
}
@@ -112,7 +112,6 @@ background-color:rgba(255, 255, 255, 0.2);
background-color:rgba(255, 255, 255, 0.7);
}
-
.error {
background-color:#F7E8E8;
}
@@ -120,7 +119,6 @@ background-color:#F7E8E8;
background-color:#EFF3DC;
}
-
#anon_notice {
background-color:#97BFD1;
color:#fff;
@@ -131,19 +129,18 @@ border-color:#fff;
background-color:#A9BF4F;
}
-
#export_data li a {
background-repeat:no-repeat;
background-position:0 45%;
}
#export_data li a.rss {
-background-image:url(../../../base/images/icons/icon_rss.png);
+background-image:url(../../base/images/icons/icon_rss.png);
}
#export_data li a.atom {
-background-image:url(../../../base/images/icons/icon_atom.png);
+background-image:url(../../base/images/icons/icon_atom.png);
}
#export_data li a.foaf {
-background-image:url(../../../base/images/icons/icon_foaf.gif);
+background-image:url(../../base/images/icons/icon_foaf.gif);
}
.entity_edit a,
@@ -170,22 +167,20 @@ background-color:#97BFD1;
}
.entity_edit a {
-background-image:url(../images/icons/twotone/green/edit.gif);
+background-image:url(../../base/images/icons/twotone/green/edit.gif);
}
.entity_send-a-message a {
-background-image:url(../images/icons/twotone/green/quote.gif);
+background-image:url(../../base/images/icons/twotone/green/quote.gif);
}
.entity_nudge p,
.form_user_nudge input.submit {
-background-image:url(../images/icons/twotone/green/mail.gif);
+background-image:url(../../base/images/icons/twotone/green/mail.gif);
}
.form_user_block input.submit,
.form_user_unblock input.submit {
-background-image:url(../images/icons/twotone/green/shield.gif);
+background-image:url(../../base/images/icons/twotone/green/shield.gif);
}
-
-
/* NOTICES */
.notices li.over {
background-color:#fcfcfc;
@@ -196,16 +191,16 @@ background-color:#fcfcfc;
background-color:transparent;
}
.notice-options .notice_reply a {
-background:transparent url(../images/icons/twotone/green/reply.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/reply.gif) no-repeat 0 45%;
}
.notice-options form.form_favor input.submit {
-background:transparent url(../images/icons/twotone/green/favourite.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/favourite.gif) no-repeat 0 45%;
}
.notice-options form.form_disfavor input.submit {
-background:transparent url(../images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
}
.notice-options .notice_delete a {
-background:transparent url(../images/icons/twotone/green/trash.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
}
.notices div.entry-content,
@@ -228,9 +223,8 @@ background-color:#fcfcfc;
}
/*END: NOTICES */
-
#new_group a {
-background:transparent url(../images/icons/twotone/green/news.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/news.gif) no-repeat 0 45%;
}
.pagination .nav_prev a,
@@ -239,10 +233,10 @@ background-repeat:no-repeat;
border-color:#D1D9E4;
}
.pagination .nav_prev a {
-background-image:url(../images/icons/twotone/green/arrow-left.gif);
+background-image:url(../../base/images/icons/twotone/green/arrow-left.gif);
background-position:10% 45%;
}
.pagination .nav_next a {
-background-image:url(../images/icons/twotone/green/arrow-right.gif);
+background-image:url(../../base/images/icons/twotone/green/arrow-right.gif);
background-position:90% 45%;
}
diff --git a/theme/default/skin/default/css/ie.css b/theme/default/css/ie.css
index 2b06768ea..2b06768ea 100644
--- a/theme/default/skin/default/css/ie.css
+++ b/theme/default/css/ie.css
diff --git a/theme/default/skin/default/images/icons/icon_atom.jpg b/theme/default/skin/default/images/icons/icon_atom.jpg
deleted file mode 100644
index 22853edc4..000000000
--- a/theme/default/skin/default/images/icons/icon_atom.jpg
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/default/images/icons/icon_foaf.gif b/theme/default/skin/default/images/icons/icon_foaf.gif
deleted file mode 100644
index f8f784423..000000000
--- a/theme/default/skin/default/images/icons/icon_foaf.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/default/images/icons/icon_rss.jpg b/theme/default/skin/default/images/icons/icon_rss.jpg
deleted file mode 100644
index da23422d0..000000000
--- a/theme/default/skin/default/images/icons/icon_rss.jpg
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/default/images/icons/icon_vcard.gif b/theme/default/skin/default/images/icons/icon_vcard.gif
deleted file mode 100644
index 6d52947f3..000000000
--- a/theme/default/skin/default/images/icons/icon_vcard.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/icon_atom.jpg b/theme/default/skin/identica/images/icons/icon_atom.jpg
deleted file mode 100644
index 22853edc4..000000000
--- a/theme/default/skin/identica/images/icons/icon_atom.jpg
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/icon_foaf.gif b/theme/default/skin/identica/images/icons/icon_foaf.gif
deleted file mode 100644
index f8f784423..000000000
--- a/theme/default/skin/identica/images/icons/icon_foaf.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/icon_rss.jpg b/theme/default/skin/identica/images/icons/icon_rss.jpg
deleted file mode 100644
index da23422d0..000000000
--- a/theme/default/skin/identica/images/icons/icon_rss.jpg
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/icon_vcard.gif b/theme/default/skin/identica/images/icons/icon_vcard.gif
deleted file mode 100644
index 6d52947f3..000000000
--- a/theme/default/skin/identica/images/icons/icon_vcard.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/arrow-left.gif b/theme/default/skin/identica/images/icons/twotone/green/arrow-left.gif
deleted file mode 100644
index afed19084..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/arrow-left.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/arrow-right.gif b/theme/default/skin/identica/images/icons/twotone/green/arrow-right.gif
deleted file mode 100644
index ee1707ed9..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/arrow-right.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/disfavourite.gif b/theme/default/skin/identica/images/icons/twotone/green/disfavourite.gif
deleted file mode 100644
index 3946869ae..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/disfavourite.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/edit.gif b/theme/default/skin/identica/images/icons/twotone/green/edit.gif
deleted file mode 100644
index c746aca60..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/edit.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/favourite.gif b/theme/default/skin/identica/images/icons/twotone/green/favourite.gif
deleted file mode 100644
index d93515e37..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/favourite.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/mail.gif b/theme/default/skin/identica/images/icons/twotone/green/mail.gif
deleted file mode 100644
index 1084c862f..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/mail.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/news.gif b/theme/default/skin/identica/images/icons/twotone/green/news.gif
deleted file mode 100644
index 712c685dc..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/news.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/quote.gif b/theme/default/skin/identica/images/icons/twotone/green/quote.gif
deleted file mode 100644
index 4ba1f0c03..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/quote.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/reply.gif b/theme/default/skin/identica/images/icons/twotone/green/reply.gif
deleted file mode 100644
index 6ff01bb35..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/reply.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/shield.gif b/theme/default/skin/identica/images/icons/twotone/green/shield.gif
deleted file mode 100644
index 419d5ee4b..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/shield.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/images/icons/twotone/green/trash.gif b/theme/default/skin/identica/images/icons/twotone/green/trash.gif
deleted file mode 100644
index 78dd64a3d..000000000
--- a/theme/default/skin/identica/images/icons/twotone/green/trash.gif
+++ /dev/null
Binary files differ
diff --git a/theme/default/skin/identica/css/display.css b/theme/identica/css/display.css
index a44b8cdd7..cc19da0f7 100644
--- a/theme/default/skin/identica/css/display.css
+++ b/theme/identica/css/display.css
@@ -7,6 +7,8 @@
* @link http://laconi.ca/
*/
+@import url(../../base/css/display.css);
+
html,
body,
a:active {
@@ -70,7 +72,6 @@ border-top-color:#CEE1E9;
border-top-color:#87B4C8;
}
-
#content .notice p.entry-content a:visited {
background-color:#fcfcfc;
}
@@ -82,7 +83,6 @@ background-color:#fcfffc;
background-color:#CEE1E9;
}
-
#notice_text-count {
color:#333;
}
@@ -90,7 +90,7 @@ color:#333;
color:#000;
}
#form_notice.processing #notice_action-submit {
-background:#fff url(../../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
+background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
cursor:wait;
text-indent:-9999px;
}
@@ -112,7 +112,6 @@ background-color:rgba(135, 180, 200, 0.3);
background-color:rgba(255, 255, 255, 0.7);
}
-
.error {
background-color:#F7E8E8;
}
@@ -120,7 +119,6 @@ background-color:#F7E8E8;
background-color:#EFF3DC;
}
-
#anon_notice {
background-color:#87B4C8;
color:#fff;
@@ -131,19 +129,18 @@ border-color:#fff;
background-color:#9BB43E;
}
-
#export_data li a {
background-repeat:no-repeat;
background-position:0 45%;
}
#export_data li a.rss {
-background-image:url(../../../base/images/icons/icon_rss.png);
+background-image:url(../../base/images/icons/icon_rss.png);
}
#export_data li a.atom {
-background-image:url(../../../base/images/icons/icon_atom.png);
+background-image:url(../../base/images/icons/icon_atom.png);
}
#export_data li a.foaf {
-background-image:url(../../../base/images/icons/icon_foaf.gif);
+background-image:url(../../base/images/icons/icon_foaf.gif);
}
.entity_edit a,
@@ -170,22 +167,20 @@ background-color:#87B4C8;
}
.entity_edit a {
-background-image:url(../images/icons/twotone/green/edit.gif);
+background-image:url(../../base/images/icons/twotone/green/edit.gif);
}
.entity_send-a-message a {
-background-image:url(../images/icons/twotone/green/quote.gif);
+background-image:url(../../base/images/icons/twotone/green/quote.gif);
}
.entity_nudge p,
.form_user_nudge input.submit {
-background-image:url(../images/icons/twotone/green/mail.gif);
+background-image:url(../../base/images/icons/twotone/green/mail.gif);
}
.form_user_block input.submit,
.form_user_unblock input.submit {
-background-image:url(../images/icons/twotone/green/shield.gif);
+background-image:url(../../base/images/icons/twotone/green/shield.gif);
}
-
-
/* NOTICES */
.notices li.over {
background-color:#fcfcfc;
@@ -196,16 +191,16 @@ background-color:#fcfcfc;
background-color:transparent;
}
.notice-options .notice_reply a {
-background:transparent url(../images/icons/twotone/green/reply.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/reply.gif) no-repeat 0 45%;
}
.notice-options form.form_favor input.submit {
-background:transparent url(../images/icons/twotone/green/favourite.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/favourite.gif) no-repeat 0 45%;
}
.notice-options form.form_disfavor input.submit {
-background:transparent url(../images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
}
.notice-options .notice_delete a {
-background:transparent url(../images/icons/twotone/green/trash.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
}
.notices div.entry-content,
@@ -228,9 +223,8 @@ background-color:#fcfcfc;
}
/*END: NOTICES */
-
#new_group a {
-background:transparent url(../images/icons/twotone/green/news.gif) no-repeat 0 45%;
+background:transparent url(../../base/images/icons/twotone/green/news.gif) no-repeat 0 45%;
}
.pagination .nav_prev a,
@@ -239,10 +233,10 @@ background-repeat:no-repeat;
border-color:#CEE1E9;
}
.pagination .nav_prev a {
-background-image:url(../images/icons/twotone/green/arrow-left.gif);
+background-image:url(../../base/images/icons/twotone/green/arrow-left.gif);
background-position:10% 45%;
}
.pagination .nav_next a {
-background-image:url(../images/icons/twotone/green/arrow-right.gif);
+background-image:url(../../base/images/icons/twotone/green/arrow-right.gif);
background-position:90% 45%;
}
diff --git a/theme/default/skin/identica/css/ie.css b/theme/identica/css/ie.css
index 2f463bb44..2f463bb44 100644
--- a/theme/default/skin/identica/css/ie.css
+++ b/theme/identica/css/ie.css
diff --git a/theme/identica/default-avatar-mini.png b/theme/identica/default-avatar-mini.png
new file mode 100644
index 000000000..38b8692b4
--- /dev/null
+++ b/theme/identica/default-avatar-mini.png
Binary files differ
diff --git a/theme/identica/default-avatar-profile.png b/theme/identica/default-avatar-profile.png
new file mode 100644
index 000000000..f8357d4fc
--- /dev/null
+++ b/theme/identica/default-avatar-profile.png
Binary files differ
diff --git a/theme/identica/default-avatar-stream.png b/theme/identica/default-avatar-stream.png
new file mode 100644
index 000000000..6b63baa70
--- /dev/null
+++ b/theme/identica/default-avatar-stream.png
Binary files differ
diff --git a/theme/identica/logo.png b/theme/identica/logo.png
new file mode 100644
index 000000000..7c68b34f6
--- /dev/null
+++ b/theme/identica/logo.png
Binary files differ
diff --git a/theme/iphone/display.css b/theme/iphone/display.css
index 6ac471c1e..1838a8e86 100644
--- a/theme/iphone/display.css
+++ b/theme/iphone/display.css
@@ -2,6 +2,8 @@
/* Design & CSS by Marie-Claude Doyon http://www.marieclaudedoyon.com */
/* Simplified for mobile by Ken Sheppardson http://identi.ca/kshep */
+@import url(../../base/css/display.css);
+
html {}
body {
width: 100%;
@@ -28,7 +30,6 @@ h1 {
font-size: 1.2em;
}
-
#wrap {
margin: 0;
}
@@ -196,7 +197,7 @@ p#branding a {
}
.instructions a:hover, .success a:hover, .error a:hover {
color: #FCFFF5;
-}
+}
.success {
clear: both;
float: left;
@@ -210,7 +211,6 @@ p#branding a {
background-color: #ce3728;
}
-
/* ----- Stream -----*/
#notices {
@@ -273,7 +273,7 @@ p.time {
p.time a {
color: #91AA9D;
}
-
+
/* ----- Profile -----*/
#profile {
clear: both;
@@ -356,7 +356,7 @@ dl.statistics {
clear: left;
float: left;
width: 200px;
-}
+}
.statistics dd {
float: left;
}
@@ -402,8 +402,6 @@ ul.subscriptions li, ul.subscribers li {
}
/* ----- End Subscriptions & Subscribers -----*/
-
-
#pagination {
margin: 18px auto;
}
@@ -488,7 +486,7 @@ input#submit:hover, input.submit:hover {
input.checkbox {
width: auto;
border: 0;
-}
+}
textarea, input {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 1em;
@@ -629,7 +627,7 @@ input#openid_url {
#profiles a:hover {
text-decoration: underline;
}
-
+
.profile_single {
clear: both;
display: block;