]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch '0.7.x' of git://gitorious.org/laconica/sgmurphy-clone into sgmurphy...
authorEvan Prodromou <evan@controlyourself.ca>
Fri, 6 Feb 2009 06:05:30 +0000 (01:05 -0500)
committerEvan Prodromou <evan@controlyourself.ca>
Fri, 6 Feb 2009 06:05:30 +0000 (01:05 -0500)
48 files changed:
README
actions/all.php
actions/avatarsettings.php
actions/facebookhome.php
actions/facebookinvite.php
actions/finishopenidlogin.php
actions/login.php
actions/newnotice.php
actions/openidlogin.php
actions/opensearch.php
actions/showstream.php
actions/twitapistatuses.php
classes/Channel.php
classes/User.php
lib/action.php
lib/error.php
lib/facebookaction.php
lib/htmloutputter.php
lib/noticelist.php
lib/popularnoticesection.php
lib/settingsaction.php
lib/util.php
theme/base/css/display.css
theme/base/css/facebookapp.css
theme/base/images/icons/icon_atom.jpg [deleted file]
theme/base/images/icons/icon_atom.png [new file with mode: 0644]
theme/base/images/icons/icon_rss.jpg [deleted file]
theme/base/images/icons/icon_rss.png [new file with mode: 0644]
theme/default/bg-body.gif [deleted file]
theme/default/bg-header.gif [deleted file]
theme/default/css/display.css
theme/default/css/ie.css [new file with mode: 0644]
theme/default/display.css [deleted file]
theme/default/icon_feed.jpg [deleted file]
theme/default/icon_foaf.gif [deleted file]
theme/default/icon_heart-01.gif [deleted file]
theme/default/icon_heart-02.gif [deleted file]
theme/default/icon_tag-01.gif [deleted file]
theme/default/ie6.css [deleted file]
theme/default/ie7.css [deleted file]
theme/default/login-bg.gif [deleted file]
theme/identica/bg-body.gif [deleted file]
theme/identica/bg-header.gif [deleted file]
theme/identica/css/display.css
theme/identica/display.css [deleted file]
theme/identica/ie6.css [deleted file]
theme/identica/ie7.css [deleted file]
theme/identica/login-bg.gif [deleted file]

diff --git a/README b/README
index a60017063470fb5ee10323cb3a0009c2732d7107..f3aa0d9de1a8df09e77826c82163613ec210070c 100644 (file)
--- a/README
+++ b/README
@@ -26,14 +26,14 @@ instant messenger programs (GTalk/Jabber), and specially-designed
 desktop clients that support the Twitter API.
 
 Laconica supports an open standard called OpenMicroBlogging
-(http://openmicroblogging.org/) that lets users on different Web sites
+<http://openmicroblogging.org/> that lets users on different Web sites
 or in different companies subscribe to each others' notices. It
 enables a distributed social network spread all across the Web.
 
 Laconica was originally developed for the Open Software Service,
-Identi.ca (http://identi.ca/). It is shared with you in hope that you
+Identi.ca <http://identi.ca/>. It is shared with you in hope that you
 too make an Open Software Service available to your users. To learn
-more, please see the Open Software Service Definition 1.0:
+more, please see the Open Software Service Definition 1.1:
 
       http://www.opendefinition.org/ossd
 
@@ -404,7 +404,7 @@ config.php, and access to the Laconica database from the mail server.
 XMPP
 ----
 
-XMPP (eXtended Message and Presence Protocol, http://xmpp.org/) is the
+XMPP (eXtended Message and Presence Protocol, <http://xmpp.org/>) is the
 instant-messenger protocol that drives Jabber and GTalk IM. You can
 distribute messages via XMPP using the system below; however, you
 need to run the XMPP incoming daemon to allow incoming messages as
@@ -537,7 +537,7 @@ Sample cron job:
 Sitemaps
 --------
 
-Sitemap files (http://sitemaps.org/) are a very nice way of telling
+Sitemap files <http://sitemaps.org/> are a very nice way of telling
 search engines and other interested bots what's available on your site
 and what's changed recently. You can generate sitemap files for your
 Laconica instance.
@@ -558,7 +558,7 @@ Laconica instance.
    like './sitemapindex.xml'. sitemap-directory is the directory where
    you want the sitemaps stored, like './sitemaps/' (make sure the dir
    exists). URL-prefix-for-sitemaps is the full URL for the sitemap dir,
-   typically something like 'http://example.net/mublog/sitemaps/'.
+   typically something like <http://example.net/mublog/sitemaps/>.
 
 You can use several methods for submitting your sitemap index to
 search engines to get your site indexed. One is to add a line like the
@@ -612,7 +612,7 @@ modification to use the new output format.
 Translation
 -----------
 
-Translations in Laconica use the gettext system (http://www.gnu.org/software/gettext/).
+Translations in Laconica use the gettext system <http://www.gnu.org/software/gettext/>.
 Theoretically, you can add your own sub-directory to the locale/
 subdirectory to add a new language to your system. You'll need to
 compile the ".po" files into ".mo" files, however.
@@ -627,7 +627,7 @@ Backups
 
 There is no built-in system for doing backups in Laconica. You can make
 backups of a working Laconica system by backing up the database and
-the Web directory. To backup the database use mysqldump (http://ur1.ca/7xo)
+the Web directory. To backup the database use mysqldump <http://ur1.ca/7xo>
 and to backup the Web directory, try tar.
 
 Private
@@ -819,7 +819,7 @@ db
 --
 
 This section is a reference to the configuration options for
-DB_DataObject (see http://ur1.ca/7xp). The ones that you may want to
+DB_DataObject (see <http://ur1.ca/7xp>). The ones that you may want to
 set are listed below for clarity.
 
 database: a DSN (Data Source Name) for your Laconica database. This is
@@ -919,7 +919,7 @@ server: If set, defines another server where avatars are stored in the
        the client to speed up page loading, either with another
        virtual server or with an NFS or SAMBA share. Clients
        typically only make 2 connections to a single server at a
-       time (http://ur1.ca/6ih), so this can parallelize the job.
+       time <http://ur1.ca/6ih>, so this can parallelize the job.
        Defaults to null.
 
 public
@@ -1000,7 +1000,7 @@ memcached
 ---------
 
 You can get a significant boost in performance by caching some
-database data in memcached (http://www.danga.com/memcached/).
+database data in memcached <http://www.danga.com/memcached/>.
 
 enabled: Set to true to enable. Default false.
 server: a string with the hostname of the memcached server. Can also
@@ -1011,7 +1011,7 @@ sphinx
 
 You can get a significant boost in performance using Sphinx Search
 instead of your database server to search for users and notices.
-(http://sphinxsearch.com/).
+<http://sphinxsearch.com/>.
 
 enabled: Set to true to enable. Default false.
 server: a string with the hostname of the sphinx server.
@@ -1024,7 +1024,7 @@ A catch-all for integration with other systems.
 
 source: The name to use for the source of posts to Twitter. Defaults
        to 'laconica', but if you request your own source name from
-       Twitter (http://twitter.com/help/request_source), you can use
+       Twitter <http://twitter.com/help/request_source>, you can use
        that here instead. Status updates on Twitter will then have
        links to your site.
 
@@ -1101,7 +1101,7 @@ Unstable version
 
 If you're adventurous or impatient, you may want to install the
 development version of Laconica. To get it, use the git version
-control tool (http://git-scm.com/) like so:
+control tool <http://git-scm.com/> like so:
 
        git clone http://laconi.ca/software/laconica.git
 
@@ -1114,7 +1114,7 @@ There are several ways to get more information about Laconica.
 
 * There is a mailing list for Laconica developers and admins at
   http://mail.laconi.ca/mailman/listinfo/laconica-dev
-* The #laconica IRC channel on freenode.net (http://www.freenode.net/).
+* The #laconica IRC channel on freenode.net <http://www.freenode.net/>.
 * The Laconica wiki, http://laconi.ca/trac/
 
 Feedback
index 428466f243edb7555b8d12de3a4a99418e114f53..b03ad7ec367af5ac115e9037ef2276d61694b3b1 100644 (file)
@@ -101,4 +101,15 @@ class AllAction extends Action
         $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
                           $this->page, 'all', array('nickname' => $this->user->nickname));
     }
+
+    function showPageTitle()
+    {
+        $user =& common_current_user();
+        if ($user && ($user->id == $this->user->id)) {
+            $this->element('h1', NULL, _("You and friends"));
+        } else { 
+            $this->element('h1', NULL, sprintf(_('%s and friends'), $this->user->nickname));
+        }
+    }
+
 }
index 139d85b4c28e1cf6933998dd9d1c10d21754fdc0..0f8122c075c32d838186a59058568888d8d262b6 100644 (file)
@@ -320,7 +320,7 @@ class AvatarsettingsAction extends AccountSettingsAction
             $this->serverError(_('Lost our file data.'));
             return;
         }
-        
+
         // If image is not being cropped assume pos & dimentions of original
         $dest_x = $this->arg('avatar_crop_x') ? $this->arg('avatar_crop_x'):0;
         $dest_y = $this->arg('avatar_crop_y') ? $this->arg('avatar_crop_y'):0;
@@ -328,10 +328,10 @@ class AvatarsettingsAction extends AccountSettingsAction
         $dest_h = $this->arg('avatar_crop_h') ? $this->arg('avatar_crop_h'):$filedata['height'];
         $size = min($dest_w, $dest_h);
         $size = ($size > MAX_ORIGINAL) ? MAX_ORIGINAL:$size;
-        
+
         $user = common_current_user();
         $profile = $user->getProfile();
-        
+
         $imagefile = new ImageFile($user->id, $filedata['filepath']);
         $filename = $imagefile->resize($size, $dest_x, $dest_y, $dest_w, $dest_h);
 
index d943104c2b3b6ff1038e279a98ce2b0014713d5b..5946e6c984b36190428c31c28c095f43b12180e8 100644 (file)
@@ -148,14 +148,11 @@ class FacebookhomeAction extends FacebookAction
 
     function showNoticeForm()
     {
-        
         $post_action = "$this->app_uri/index.php";
         
         $notice_form = new FacebookNoticeForm($this, $post_action, null, 
             $post_action, $this->user);
         $notice_form->show();
-    
-    
     }
 
     function title()
@@ -169,7 +166,6 @@ class FacebookhomeAction extends FacebookAction
 
     function showContent()
     {
-
         $notice = $this->user->noticesWithFriends(($this->page-1) *
             NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
         
@@ -179,7 +175,6 @@ class FacebookhomeAction extends FacebookAction
 
         $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
                           $this->page, 'index.php', array('nickname' => $this->user->nickname));
-
     }
 
     function showNoticeList($notice)
index b7224783a7d7c8e0a7dd5dff338287be67f76d57..3c872f94bf2901fd5e13d3a17fa2d8fc6d82e11f 100644 (file)
@@ -73,7 +73,7 @@ class FacebookinviteAction extends FacebookAction
 
         $friend_ids = $_POST['ids']; // XXX: Hmm... is this the best way to acces the list?
 
-        $this->elementStart("ul");
+        $this->elementStart('ul', array('id' => 'facebook-friends'));
 
         foreach ($friend_ids as $friend) {
             $this->elementStart('li');
@@ -112,11 +112,11 @@ class FacebookinviteAction extends FacebookAction
 
         $this->element('h2', null, sprintf(_('Friends already using %s:'), 
             common_config('site', 'name')));
-        $this->elementStart("ul");
-
+        $this->elementStart('ul', array('id' => 'facebook-friends'));
+        
         foreach ($exclude_ids as $friend) {
             $this->elementStart('li');
-            $this->element('fb:profile-pic', array('uid' => $friend));
+            $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square'));
             $this->element('fb:name', array('uid' => $friend,
                                             'capitalize' => 'true'));
             $this->elementEnd('li');
index 880a9505b4c07d7294bb64961018183c84fd3fd0..bc91511207653fd2e0ad1fa910afeba632ece3ae 100644 (file)
@@ -30,7 +30,7 @@ class FinishopenidloginAction extends Action
     function handle($args)
     {
         parent::handle($args);
-        if (common_logged_in()) {
+        if (common_is_real_login()) {
             $this->clientError(_('Already logged in.'));
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             $token = $this->trimmed('token');
index 7a3c6d3748435780c93e466008ad4c0fb8b401d6..71e4679292c79102dd97f80f6683a655dfef5535 100644 (file)
@@ -97,7 +97,7 @@ class LoginAction extends Action
     {
         // XXX: login throttle
 
-        // CSRF protection - token set in common_notice_form()
+        // CSRF protection - token set in NoticeForm
         $token = $this->trimmed('token');
         if (!$token || $token != common_session_token()) {
             $this->clientError(_('There was a problem with your session token. '.
@@ -107,35 +107,14 @@ class LoginAction extends Action
 
         $nickname = common_canonical_nickname($this->trimmed('nickname'));
         $password = $this->arg('password');
-        if (common_check_user($nickname, $password)) {
-            // success!
-            if (!common_set_user($nickname)) {
-                $this->serverError(_('Error setting user.'));
-                return;
-            }
-            common_real_login(true);
-            if ($this->boolean('rememberme')) {
-                common_debug('Adding rememberme cookie for ' . $nickname);
-                common_rememberme();
-            }
-            // success!
-            $url = common_get_returnto();
-            if ($url) {
-                // We don't have to return to it again
-                common_set_returnto(null);
-            } else {
-                $url = common_local_url('all',
-                                        array('nickname' =>
-                                              $nickname));
-            }
-            common_redirect($url);
-        } else {
+
+        if (!common_check_user($nickname, $password)) {
             $this->showForm(_('Incorrect username or password.'));
             return;
         }
 
         // success!
-        if (!common_set_user($user)) {
+        if (!common_set_user($nickname)) {
             $this->serverError(_('Error setting user.'));
             return;
         }
@@ -143,11 +122,11 @@ class LoginAction extends Action
         common_real_login(true);
 
         if ($this->boolean('rememberme')) {
-            common_debug('Adding rememberme cookie for ' . $nickname);
             common_rememberme($user);
         }
-        // success!
+
         $url = common_get_returnto();
+
         if ($url) {
             // We don't have to return to it again
             common_set_returnto(null);
@@ -156,6 +135,7 @@ class LoginAction extends Action
                                     array('nickname' =>
                                           $nickname));
         }
+
         common_redirect($url);
     }
 
index 5142cb5ff2894b3ac9f6e961519f9531ec8651d4..5e7691f33d1cae68442b8b18b4c643eb3deca24b 100644 (file)
@@ -90,7 +90,7 @@ class NewnoticeAction extends Action
             $this->clientError(_('Not logged in.'));
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
 
-            // CSRF protection - token set in common_notice_form()
+            // CSRF protection
             $token = $this->trimmed('token');
             if (!$token || $token != common_session_token()) {
                 $this->clientError(_('There was a problem with your session token. '.
@@ -141,9 +141,9 @@ class NewnoticeAction extends Action
 
         if ($cmd) {
             if ($this->boolean('ajax')) {
-                $cmd->execute(new AjaxWebChannel());
+                $cmd->execute(new AjaxWebChannel($this));
             } else {
-                $cmd->execute(new WebChannel());
+                $cmd->execute(new WebChannel($this));
             }
             return;
         }
@@ -195,7 +195,7 @@ class NewnoticeAction extends Action
 
     function ajaxErrorMsg($msg)
     {
-        common_start_html('text/xml;charset=utf-8', true);
+        $this->startHTML('text/xml;charset=utf-8', true);
         $this->elementStart('head');
         $this->element('title', null, _('Ajax Error'));
         $this->elementEnd('head');
index 7a267a2bdc00829dbe1ac4a444bcf9dbdd67dda7..1a4372d73e76722dfe5f60d30b220b6ba191b3f0 100644 (file)
@@ -26,7 +26,7 @@ class OpenidloginAction extends Action
     function handle($args)
     {
         parent::handle($args);
-        if (common_logged_in()) {
+        if (common_is_real_login()) {
             $this->clientError(_('Already logged in.'));
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             $openid_url = $this->trimmed('openid_url');
@@ -59,7 +59,16 @@ class OpenidloginAction extends Action
 
     function getInstructions()
     {
-        return _('Login with an [OpenID](%%doc.openid%%) account.');
+        if (common_logged_in() && !common_is_real_login() &&
+            common_get_returnto()) {
+            // rememberme logins have to reauthenticate before
+            // changing any profile settings (cookie-stealing protection)
+            return _('For security reasons, please re-login with your ' .
+                     '[OpenID](%%doc.openid%%) ' .
+                     'before changing your settings.');
+        } else {
+            return _('Login with an [OpenID](%%doc.openid%%) account.');
+        }
     }
 
     function showPageNotice()
index 7709249bb195150e29945f5c9c6354df396b68e0..2eb8183066b062dc9111d890eeb6936656373aab 100644 (file)
@@ -67,7 +67,7 @@ class OpensearchAction extends Action
             $short_name = _('Notice Search');
         }
         header('Content-Type: text/html');
-        common_start_xml();
+        $this->startXML();
         $this->elementStart('OpenSearchDescription', array('xmlns' => 'http://a9.com/-/spec/opensearch/1.1/'));
         $short_name =  common_config('site', 'name').' '.$short_name;
         $this->element('ShortName', null, $short_name);
@@ -81,7 +81,7 @@ class OpensearchAction extends Action
         $this->element('OutputEncoding', null, 'UTF-8');
         $this->element('InputEncoding', null, 'UTF-8');
         $this->elementEnd('OpenSearchDescription');
-        common_end_xml();
+        $this->endXML();
     }
 
     function isReadOnly()
index eab1fc0a2d0df9693e14274aee10171a89f2d853..4b16799697e31fec7e13dc9f303ddbffa32a2dbe 100644 (file)
@@ -140,7 +140,12 @@ class ShowstreamAction extends Action
 
     function showPageTitle()
     {
-         $this->element('h1', NULL, $this->profile->nickname._("'s profile"));
+        $user =& common_current_user();
+        if ($user && ($user->id == $this->profile->id)) {
+            $this->element('h1', NULL, _("Your profile"));
+        } else {
+            $this->element('h1', NULL, sprintf(_('%s\'s profile'), $this->profile->nickname));
+        }
     }
 
     function showPageNoticeBlock()
@@ -170,26 +175,22 @@ class ShowstreamAction extends Action
 
     function showFeeds()
     {
-        // Feeds
-        $this->element('link', array('rel' => 'alternate',
-                                     'href' => common_local_url('api',
-                                                                array('apiaction' => 'statuses',
-                                                                      'method' => 'entity_timeline.rss',
-                                                                      'argument' => $this->user->nickname)),
-                                     'type' => 'application/rss+xml',
-                                     'title' => sprintf(_('Notice feed for %s'), $this->user->nickname)));
-        $this->element('link', array('rel' => 'alternate feed',
-                                     'href' => common_local_url('api',
-                                                                array('apiaction' => 'statuses',
-                                                                      'method' => 'entity_timeline.atom',
-                                                                      'argument' => $this->user->nickname)),
-                                     'type' => 'application/atom+xml',
-                                     'title' => sprintf(_('Notice feed for %s'), $this->user->nickname)));
         $this->element('link', array('rel' => 'alternate',
-                                     'href' => common_local_url('userrss', array('nickname' =>
-                                                                               $this->user->nickname)),
-                                     'type' => 'application/rdf+xml',
-                                     'title' => sprintf(_('Notice feed for %s'), $this->user->nickname)));
+                        'type' => 'application/rss+xml',
+                        'href' => common_local_url('userrss',
+                         array('nickname' => $this->user->nickname)),
+                               'title' => sprintf(_('Notice feed for %s (RSS)'),
+                                 $this->user->nickname)));
+
+         $this->element('link',
+             array('rel' => 'alternate',
+                   'href' => common_local_url('api',
+                     array('apiaction' => 'statuses',
+                           'method' => 'user_timeline.atom',
+                           'argument' => $this->user->nickname)),
+                           'type' => 'application/atom+xml',
+                           'title' => sprintf(_('Notice feed for %s (Atom)'),
+                             $this->user->nickname)));
     }
 
     function extraHead()
@@ -312,14 +313,22 @@ class ShowstreamAction extends Action
         }
         $this->elementEnd('div');
 
-        //XXX: entity_actions doesn't need to be outputted if entity is looking at their own profile
         $this->elementStart('div', 'entity_actions');
         $this->element('h2', null, _('User actions'));
         $this->elementStart('ul');
-        $this->elementStart('li', array('class' => 'entity_subscribe'));
         $cur = common_current_user();
+
+        if ($cur && $cur->id == $this->profile->id) {
+            $this->elementStart('li', 'entity_edit');
+            $this->element('a', array('href' => common_local_url('profilesettings'),
+                                      'title' => _('Edit profile settings')),
+                                      _('Edit'));
+            $this->elementEnd('li');
+        }
+
         if ($cur) {
             if ($cur->id != $this->profile->id) {
+                $this->elementStart('li', 'entity_subscribe');
                 if ($cur->isSubscribed($this->profile)) {
                     $usf = new UnsubscribeForm($this, $this->profile);
                     $usf->show();
@@ -327,24 +336,24 @@ class ShowstreamAction extends Action
                     $sf = new SubscribeForm($this, $this->profile);
                     $sf->show();
                 }
+                $this->elementEnd('li');
             }
         } else {
+            $this->elementStart('li', 'entity_subscribe');
             $this->showRemoteSubscribeLink();
+            $this->elementEnd('li');
         }
-        $this->elementEnd('li');
-
-//        common_profile_new_message_nudge($cur, $this->user, $this->profile);
 
         $user = User::staticGet('id', $this->profile->id);
         if ($cur && $cur->id != $user->id && $cur->mutuallySubscribed($user)) {
-           $this->elementStart('li', array('class' => 'entity_send-a-message'));
+           $this->elementStart('li', 'entity_send-a-message');
             $this->element('a', array('href' => common_local_url('newmessage', array('to' => $user->id)),
                                       'title' => _('Send a direct message to this user')),
                            _('Message'));
             $this->elementEnd('li');
 
             if ($user->email && $user->emailnotifynudge) {
-                $this->elementStart('li', array('class' => 'entity_nudge'));
+                $this->elementStart('li', 'entity_nudge');
                 $nf = new NudgeForm($this, $user);
                 $nf->show();
                 $this->elementEnd('li');
@@ -353,7 +362,7 @@ class ShowstreamAction extends Action
 
         if ($cur && $cur->id != $this->profile->id) {
             $blocked = $cur->hasBlocked($this->profile);
-            $this->elementStart('li', array('class' => 'entity_block'));
+            $this->elementStart('li', 'entity_block');
             if ($blocked) {
                 $ubf = new UnblockForm($this, $this->profile);
                 $ubf->show();
index a35f4b12eaa4f1d3f25c4a41628e1bc1260a2c1d..18e24c0f582c1a1781dc09f058510e3c2bd32276 100644 (file)
@@ -450,7 +450,6 @@ class TwitapistatusesAction extends TwitterapiAction
         if ($user->id == $notice->profile_id) {
             $replies = new Reply;
             $replies->get('notice_id', $notice_id);
-            common_dequeue_notice($notice);
             $replies->delete();
             $notice->delete();
 
index 2e3e4e8d4a7cd5c9f44804edf9c10e195bda7189..fdeff21fc6d984107a21913b190f4bf64c8d3a3e 100644 (file)
@@ -21,7 +21,7 @@ if (!defined('LACONICA')) { exit(1); }
 
 class Channel
 {
-    
+
     function on($user)
     {
         return false;
@@ -36,12 +36,12 @@ class Channel
     {
         return false;
     }
-    
+
     function error($user, $text)
     {
         return false;
     }
-    
+
     function source()
     {
         return null;
@@ -52,22 +52,22 @@ class XMPPChannel extends Channel
 {
 
     var $conn = null;
-    
+
     function source()
     {
         return 'xmpp';
     }
-    
+
     function __construct($conn)
     {
         $this->conn = $conn;
     }
-    
+
     function on($user)
     {
         return $this->set_notify($user, 1);
     }
-    
+
     function off($user)
     {
         return $this->set_notify($user, 0);
@@ -78,13 +78,13 @@ class XMPPChannel extends Channel
         $text = '['.common_config('site', 'name') . '] ' . $text;
         jabber_send_message($user->jabber, $text);
     }
-    
+
     function error($user, $text)
     {
         $text = '['.common_config('site', 'name') . '] ' . $text;
         jabber_send_message($user->jabber, $text);
     }
-    
+
     function set_notify(&$user, $notify)
     {
         $orig = clone($user);
@@ -105,20 +105,25 @@ class XMPPChannel extends Channel
     }
 }
 
-
 class WebChannel extends Channel
 {
+    var $out = null;
+
+    function __construct($out=null)
+    {
+        $this->out = $out;
+    }
 
     function source()
     {
         return 'web';
     }
-    
+
     function on($user)
     {
         return false;
     }
-    
+
     function off($user)
     {
         return false;
@@ -129,47 +134,49 @@ class WebChannel extends Channel
         # XXX: buffer all output and send it at the end
         # XXX: even better, redirect to appropriate page
         #      depending on what command was run
-        common_show_header(_('Command results'));
-        common_element('p', null, $text);
-        common_show_footer();
+        $this->out->startHTML();
+        $this->out->elementStart('head');
+        $this->out->element('title', null, _('Command results'));
+        $this->out->elementEnd('head');
+        $this->out->elementStart('body');
+        $this->out->element('p', array('id' => 'command_result'), $text);
+        $this->out->elementEnd('body');
+        $this->out->endHTML();
     }
-    
+
     function error($user, $text)
     {
         common_user_error($text);
     }
 }
 
-
 class AjaxWebChannel extends WebChannel
 {
-
     function output($user, $text)
     {
-        common_start_html('text/xml;charset=utf-8', true);
-        common_element_start('head');
-        common_element('title', null, _('Command results'));
-        common_element_end('head');
-        common_element_start('body');
-        common_element('p', array('id' => 'command_result'), $text);
-        common_element_end('body');
-        common_element_end('html');
+        $this->out->startHTML('text/xml;charset=utf-8');
+        $this->out->elementStart('head');
+        $this->out->element('title', null, _('Command results'));
+        $this->out->elementEnd('head');
+        $this->out->elementStart('body');
+        $this->out->element('p', array('id' => 'command_result'), $text);
+        $this->out->elementEnd('body');
+        $this->out->endHTML();
     }
 
     function error($user, $text)
     {
-        common_start_html('text/xml;charset=utf-8', true);
-        common_element_start('head');
-        common_element('title', null, _('Ajax Error'));
-        common_element_end('head');
-        common_element_start('body');
-        common_element('p', array('id' => 'error'), $text);
-        common_element_end('body');
-        common_element_end('html');
+        $this->out->startHTML('text/xml;charset=utf-8');
+        $this->out->elementStart('head');
+        $this->out->element('title', null, _('Ajax Error'));
+        $this->out->elementEnd('head');
+        $this->out->elementStart('body');
+        $this->out->element('p', array('id' => 'error'), $text);
+        $this->out->elementEnd('body');
+        $this->out->endHTML();
     }
 }
 
-
 class MailChannel extends Channel
 {
 
@@ -179,17 +186,17 @@ class MailChannel extends Channel
     {
         return 'mail';
     }
-    
+
     function __construct($addr=null)
     {
         $this->addr = $addr;
     }
-    
+
     function on($user)
     {
         return $this->set_notify($user, 1);
     }
-    
+
     function off($user)
     {
         return $this->set_notify($user, 0);
@@ -200,23 +207,23 @@ class MailChannel extends Channel
 
         $headers['From'] = $user->incomingemail;
         $headers['To'] = $this->addr;
-        
+
         $headers['Subject'] = _('Command complete');
 
         return mail_send(array($this->addr), $headers, $text);
     }
-    
+
     function error($user, $text)
     {
-        
+
         $headers['From'] = $user->incomingemail;
         $headers['To'] = $this->addr;
-        
+
         $headers['Subject'] = _('Command failed');
 
         return mail_send(array($this->addr), $headers, $text);
     }
-    
+
     function set_notify($user, $value)
     {
         $orig = clone($user);
index b1c061c18fb096f59c43115813b7a6505ae0516f..a6a1b11b9f502d7a6a27d155ce840eb92154a0ae 100644 (file)
@@ -630,4 +630,15 @@ class User extends Memcached_DataObject
 
         return $profile;
     }
+
+    function hasOpenID()
+    {
+        $oid = new User_openid();
+
+        $oid->user_id = $this->id;
+
+        $cnt = $oid->find();
+
+        return ($cnt > 0);
+    }
 }
index 587d2ab13a409be4c9efd8215b914e58c98fc76a..c4172ada1135293fd2ce5a5d7c3487cfb7184c8a 100644 (file)
@@ -73,7 +73,6 @@ class Action extends HTMLOutputter // lawsuit
         parent::__construct($output, $indent);
     }
 
-
     /**
      * For initializing members of the class.
      *
@@ -162,15 +161,15 @@ class Action extends HTMLOutputter // lawsuit
                                      'media' => 'screen, projection, tv'));
         $this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
                        'href="'.theme_path('css/ie.css', 'base').'?version='.LACONICA_VERSION.'" /><![endif]');
-        $this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
-                       'href="'.theme_path('css/ie.css', null).'?version='.LACONICA_VERSION.'" /><![endif]');
         foreach (array(6,7) as $ver) {
-            if (file_exists(theme_file('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('css/ie'.$ver.'.css', 'base').'?version='.LACONICA_VERSION.'" /><![endif]');
             }
         }
+        $this->comment('[if IE]><link rel="stylesheet" type="text/css" '.
+                       'href="'.theme_path('css/ie.css', null).'?version='.LACONICA_VERSION.'" /><![endif]');
     }
 
     /**
@@ -246,7 +245,6 @@ class Action extends HTMLOutputter // lawsuit
         // does nothing by default
     }
 
-    
     /**
      * Show body.
      *
@@ -257,7 +255,7 @@ class Action extends HTMLOutputter // lawsuit
     function showBody()
     {
         $this->elementStart('body', array('id' => $this->trimmed('action')));
-        $this->elementStart('div', 'wrap');
+        $this->elementStart('div', array('id' => 'wrap'));
         $this->showHeader();
         $this->showCore();
         $this->showFooter();
@@ -354,7 +352,7 @@ class Action extends HTMLOutputter // lawsuit
         $this->elementEnd('dd');
         $this->elementEnd('dl');
     }
-    
+
     /**
      * Show site notice.
      *
@@ -368,7 +366,9 @@ class Action extends HTMLOutputter // lawsuit
             $this->elementStart('dl', array('id' => 'site_notice',
                                             'class' => 'system_notice'));
             $this->element('dt', null, _('Site notice'));
-            $this->element('dd', null, $text);
+            $this->elementStart('dd', null);
+            $this->raw($text);
+            $this->elementEnd('dd');
             $this->elementEnd('dl');
         }
     }
@@ -385,7 +385,7 @@ class Action extends HTMLOutputter // lawsuit
         $notice_form = new NoticeForm($this);
         $notice_form->show();
     }
-    
+
     /**
      * Show anonymous message.
      *
@@ -761,7 +761,7 @@ class Action extends HTMLOutputter // lawsuit
     /**
      * Boolean understands english (yes, no, true, false)
      *
-     * @param string $key query key we're interested in 
+     * @param string $key query key we're interested in
      * @param string $def default value
      *
      * @return boolean interprets yes/no strings as boolean
index 03065bc709c42c2ac0ebd4c4125a4f7b34c69c6a..526d9f81be245a36e1173814415b25e6e3720818 100644 (file)
@@ -111,7 +111,7 @@ class ErrorAction extends Action
     function showBody()
     {
         $this->elementStart('body', array('id' => 'error'));
-        $this->elementStart('div', 'wrap');
+        $this->elementStart('div', array('id' => 'wrap'));
         $this->showHeader();
         $this->showCore();
         $this->showFooter();
index bfba702e6a09b6bb5d09c95a6b2b280ad0f38ead..043a078cd5bbd2fa8b0849fa7dc3c5238927cc3f 100644 (file)
@@ -129,7 +129,7 @@ class FacebookAction extends Action
      * Start an Facebook ready HTML document
      *
      *  For Facebook we don't want to actually output any headers,
-     *  DTD info, etc.
+     *  DTD info, etc.  Just Stylesheet and JavaScript links.
      *
      * If $type isn't specified, will attempt to do content negotiation.
      *
@@ -140,6 +140,9 @@ class FacebookAction extends Action
 
     function startHTML($type=null) 
     {          
+        $this->showStylesheets();
+        $this->showScripts();
+        
         $this->elementStart('div', array('class' => 'facebook-page'));
     }
 
@@ -168,7 +171,7 @@ class FacebookAction extends Action
 
     function showBody()
     {
-        $this->elementStart('div', 'wrap');
+        $this->elementStart('div', array('id' => 'wrap'));
         $this->showHeader();
         $this->showCore();
         $this->showFooter();
@@ -181,8 +184,6 @@ class FacebookAction extends Action
 
     function showHead($error, $success)
     {
-        $this->showStylesheets();
-        $this->showScripts();
         
         if ($error) {
             $this->element("h1", null, $error);
@@ -204,7 +205,6 @@ class FacebookAction extends Action
     // Make this into a widget later
     function showLocalNav()
     {
-                
         $this->elementStart('ul', array('class' => 'nav'));
 
         $this->elementStart('li', array('class' =>
@@ -229,18 +229,7 @@ class FacebookAction extends Action
         $this->elementEnd('li');
 
         $this->elementEnd('ul');
-
     }     
-
-    /**
-     * Show primary navigation.
-     *
-     * @return nothing
-     */
-    function showPrimaryNav()
-    {
-        // we don't want to show anything for this
-    }
     
     /**
      * Show header of the page.
@@ -254,7 +243,6 @@ class FacebookAction extends Action
         $this->elementStart('div', array('id' => 'header'));
         $this->showLogo();
         $this->showNoticeForm();
-        $this->showPrimaryNav();
         $this->elementEnd('div');
     }
     
@@ -282,7 +270,6 @@ class FacebookAction extends Action
 
         $loginmsg_part1 = _('To use the %s Facebook Application you need to login ' .
             'with your username and password. Don\'t have a username yet? ');
-
         $loginmsg_part2 = _(' a new account.');
 
         $this->elementStart('dd');
@@ -291,18 +278,18 @@ class FacebookAction extends Action
         $this->element('a',
             array('href' => common_local_url('register')), _('Register'));
         $this->text($loginmsg_part2);
+       $this->elementEnd('p');
         $this->elementEnd('dd');
+
         $this->elementEnd('dl');
-        
         $this->elementEnd('div');
-        
     }
 
 
     function showLoginForm($msg = null)
     {
 
-        $this->elementStart('div', array('class' => 'content'));
+        $this->elementStart('div', array('id' => 'content'));
         $this->element('h1', null, _('Login'));
 
         if ($msg) {
@@ -330,6 +317,7 @@ class FacebookAction extends Action
         $this->elementEnd('ul');
 
         $this->submit('submit', _('Login'));
+       $this->elementEnd('fieldset');
         $this->elementEnd('form');
 
         $this->elementStart('p');
@@ -338,6 +326,7 @@ class FacebookAction extends Action
         $this->elementEnd('p');
 
         $this->elementEnd('div');
+        $this->elementEnd('div');
 
     }
     
@@ -347,42 +336,70 @@ class FacebookAction extends Action
 
         // Need to include inline CSS for styling the Profile box
 
+       $app_props = $this->facebook->api_client->Admin_getAppProperties(array('icon_url'));
+       $icon_url = $app_props['icon_url'];
+
         $style = '<style>
+        .entry-title *,
+        .entry-content * {
+        font-size:14px;
+        font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
+        }
+        .entry-title a,
+        .entry-content a {
+        color:#002E6E;
+        }
+
          .entry-title .vcard .photo {
          float:left;
          display:inline;
+        margin-right:11px;
+        margin-bottom:11px
          }
-         .entry-title .vcard .nickname {
-         margin-left:5px;
-         }
-
+        .entry-title {
+        margin-bottom:11px;
+        }
          .entry-title p.entry-content {
          display:inline;
-         margin-left:5px;
+        margin-left:5px;
          }
 
+        div.entry-content {
+        clear:both;
+        }
          div.entry-content dl,
          div.entry-content dt,
          div.entry-content dd {
          display:inline;
+        text-transform:lowercase;
          }
 
-         div.entry-content dt,
-         div.entry-content dd {
-         display:inline;
-         margin-left:5px;
+         div.entry-content dd,
+        div.entry-content .device dt {
+        margin-left:0;
+        margin-right:5px;
          }
-         div.entry-content dl.timestamp dt {
+         div.entry-content dl.timestamp dt,
+        div.entry-content dl.response dt {
          display:none;
          }
          div.entry-content dd a {
          display:inline-block;
          }
+
+        #facebook_laconica_app {
+        text-indent:-9999px;
+        height:16px;
+        width:16px;
+        display:block;
+        background:url('.$icon_url.') no-repeat 0 0;
+        float:right;
+        }
          </style>';        
 
         $this->xw->openMemory();
 
-        $item = new FacebookNoticeListItem($notice, $this);
+        $item = new FacebookProfileBoxNotice($notice, $this);
         $item->show();
 
         $fbml = "<fb:wide>$style " . $this->xw->outputMemory(false) . "</fb:wide>";
@@ -465,8 +482,6 @@ class FacebookAction extends Action
             $content_shortened = common_shorten_links($content);
 
             if (mb_strlen($content_shortened) > 140) {
-                common_debug("Content = '$content_shortened'", __FILE__);
-                common_debug("mb_strlen(\$content) = " . mb_strlen($content_shortened), __FILE__);
                 $this->showPage(_('That\'s too long. Max notice size is 140 chars.'));
                 return;
             }
@@ -539,6 +554,18 @@ class FacebookNoticeForm extends NoticeForm
 
 class FacebookNoticeList extends NoticeList
 {
+    
+    /**
+     * constructor
+     *
+     * @param Notice $notice stream of notices from DB_DataObject
+     */
+
+    function __construct($notice, $out=null)
+    {
+        parent::__construct($notice, $out);
+    }
+    
     /**
      * show the list of notices
      *
@@ -593,6 +620,20 @@ class FacebookNoticeList extends NoticeList
 
 class FacebookNoticeListItem extends NoticeListItem
 {    
+
+    /**
+     * constructor
+     *
+     * Also initializes the profile attribute.
+     *
+     * @param Notice $notice The notice we'll display
+     */
+
+    function __construct($notice, $out=null)
+    {
+        parent::__construct($notice, $out);
+    }
+
     /**
      * recipe function for displaying a single notice in the Facebook App.
      *
@@ -645,3 +686,65 @@ class FacebookNoticeListItem extends NoticeListItem
     }
 
 }
+
+
+class FacebookProfileBoxNotice extends FacebookNoticeListItem
+{    
+    
+    /**
+     * constructor
+     *
+     * Also initializes the profile attribute.
+     *
+     * @param Notice $notice The notice we'll display
+     */
+
+    function __construct($notice, $out=null)
+    {
+        parent::__construct($notice, $out);
+    }
+    
+    /**
+     * Recipe function for displaying a single notice in the 
+     * Facebook App's Profile
+     *
+     * @return void
+     */
+
+    function show()
+    {
+
+        $this->out->elementStart('div', 'entry-title');
+        $this->showAuthor();
+        $this->showContent();
+        $this->out->elementEnd('div');
+
+        $this->out->elementStart('div', 'entry-content');
+
+        $this->showNoticeLink();
+        $this->showNoticeSource();
+        $this->showReplyTo();
+        $this->out->elementEnd('div');
+        
+        $this->showAppLink();
+
+    }
+
+    function showAppLink() 
+    {
+        
+        $this->facebook = getFacebook();
+
+        $app_props = $this->facebook->api_client->Admin_getAppProperties(
+                array('canvas_name', 'application_name'));
+
+        $this->app_uri = 'http://apps.facebook.com/' . $app_props['canvas_name'];
+        $this->app_name = $app_props['application_name'];
+        
+        $this->out->elementStart('a', array('id' => 'facebook_laconica_app',
+                                            'href' => $this->app_uri));
+        $this->out->text($this->app_name);
+        $this->out->elementEnd('a');
+    }
+
+}
index f9245414f29348a90628363a21e7aeee879e6d38..7780b1c19d0c3af05980860ea1d3ae46efcb8a84 100644 (file)
@@ -172,7 +172,7 @@ class HTMLOutputter extends XMLOutputter
                        'type' => 'text',
                        'id' => $id);
         if ($value) {
-            $attrs['value'] = htmlspecialchars($value);
+            $attrs['value'] = $value;
         }
         $this->element('input', $attrs);
         if ($instructions) {
@@ -206,7 +206,7 @@ class HTMLOutputter extends XMLOutputter
                        'class' => 'checkbox',
                        'id' => $id);
         if ($value) {
-            $attrs['value'] = htmlspecialchars($value);
+            $attrs['value'] = $value;
         }
         if ($checked) {
             $attrs['checked'] = 'checked';
index 7c88c33cc44ccb5615571a3b966747e485be21e4..3ef6691afa1f1ee06f33fef9e6b3f1f302b0ba00 100644 (file)
@@ -203,11 +203,14 @@ class NoticeListItem extends Widget
 
     function showNoticeOptions()
     {
-        $this->out->elementStart('div', 'notice-options');
-        $this->showFaveForm();
-        $this->showReplyLink();
-        $this->showDeleteLink();
-        $this->out->elementEnd('div');
+        $user = common_current_user();
+        if ($user) {
+            $this->out->elementStart('div', 'notice-options');
+            $this->showFaveForm();
+            $this->showReplyLink();
+            $this->showDeleteLink();
+            $this->out->elementEnd('div');
+        }
     }
 
     /**
index 89daaa563ce7aa7a75e1f72c8e2e4a5157376630..5734d800189d9bdd7be139d85aef94775b8b53c7 100644 (file)
@@ -31,7 +31,7 @@ if (!defined('LACONICA')) {
     exit(1);
 }
 
-define('NOTICES_PER_SECTION', 6);
+define('NOTICES_PER_SECTION', 5);
 
 /**
  * Base class for sections showing lists of notices
index dfe1f114b21e1b73dc10b36692a1b144e4db27e8..53c807c6f9cc834aaa6955d6107e8e11a5811742 100644 (file)
@@ -76,7 +76,12 @@ class SettingsAction extends Action
             // change important settings or see private info, and
             // _all_ our settings are important
             common_set_returnto($this->selfUrl());
-            common_redirect(common_local_url('login'));
+            $user = common_current_user();
+            if ($user->hasOpenID()) {
+                common_redirect(common_local_url('openidlogin'));
+            } else {
+                common_redirect(common_local_url('login'));
+            }
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             $this->handlePost();
         } else {
index e96317520429d6c21213dfbbc638de85a9d4d601..330e5d12d7033c1f941540e4acc31cefdc1c7213 100644 (file)
@@ -937,7 +937,7 @@ function common_fancy_url($action, $args=null)
      case 'grouprss':
         return common_path('group/'.$args['nickname'].'/rss');
      case 'groupmembers':
-        return common_path('group/'.$args['nickname'].'/members');
+        return common_path('group/'.$args['nickname'].'/members' . (($args['page']) ? ('?page=' . $args['page']) : ''));
      case 'grouplogo':
         return common_path('group/'.$args['nickname'].'/logo');
      case 'usergroups':
index 809c1ba6f8481951a0f0bbf6f972c36cc5df9265..60eaa8f22ff51ccc7b83fca79cfe9cb6067f2355 100644 (file)
@@ -20,12 +20,11 @@ font-family:sans-serif;
 font-size:1em;
 line-height:1.65;
 position:relative;
-margin:0 auto;
-width:71.714em;
 }
 h1,h2,h3,h4,h5,h6 {
 text-transform:uppercase;
 margin-bottom:7px;
+overflow:hidden;
 }
 h1 {
 font-size:1.4em;
@@ -240,10 +239,9 @@ display:none;
 
 #site_notice {
 position:absolute;
-right:0;
-top:49px;
-float:right;
-width:300px;
+top:65px;
+right:18px;
+width:250px;
 }
 #page_notice {
 clear:both;
@@ -254,6 +252,7 @@ margin-bottom:18px;
 #anon_notice {
 float:left;
 width:432px;
+width:28.052em;
 padding:11px;
 border-radius:7px;
 -moz-border-radius:7px;
@@ -361,9 +360,10 @@ margin-right:4px;
 }
 
 #wrap {
-float:left;
 margin:0 auto;
 width:71.714em;
+width:1003px;
+overflow:hidden;
 }
 
 #core {
@@ -391,9 +391,9 @@ float:left;
 }
 
 #aside_primary {
-width:284px;
+width:280px;
 float:left;
-margin-left:2px;
+margin-left:4px;
 padding:18px;
 border-radius:7px;
 -moz-border-radius:7px;
@@ -509,6 +509,7 @@ min-height:123px;
 float:left;
 margin-bottom:18px;
 margin-left:0;
+overflow:hidden;
 }
 .entity_profile dt,
 #entity_statistics dt {
@@ -606,12 +607,14 @@ display:block;
 .form_user_block input.submit,
 .form_user_unblock input.submit,
 .entity_send-a-message a,
+.entity_edit a,
 .form_user_nudge input.submit,
 .entity_nudge p {
 border:0;
 padding-left:20px;
 }
 
+.entity_edit a,
 .entity_send-a-message a,
 .entity_nudge p {
 padding:4px 4px 4px 23px;
@@ -749,7 +752,7 @@ border-radius:4px;
 /* NOTICES */
 #notices_primary {
 float:left;
-width:644px;
+width:100%;
 border-radius:7px;
 -moz-border-radius:7px;
 -webkit-border-radius:7px;
@@ -766,6 +769,10 @@ padding-left:28px;
 margin-right:11px;
 }
 
+.fn {
+overflow:hidden;
+}
+
 .notice .author .fn {
 font-weight:bold;
 }
@@ -790,7 +797,7 @@ text-decoration:underline;
 .notice .entry-title {
 float:left;
 width:100%;
-overflow:auto;
+overflow:hidden;
 }
 #shownotice .notice .entry-title {
 font-size:2.2em;
@@ -1063,13 +1070,20 @@ margin-bottom:0;
 }
 
 .section .notice {
-padding-top:11px;
-padding-bottom:11px;
+padding-top:7px;
+padding-bottom:7px;
+border-top:0;
 }
 
 .section .notice:first-child {
 padding-top:0;
-border-top:0;
+}
+
+.section .notice .author {
+margin-right:0;
+}
+.section .notice .author .fn {
+display:none;
 }
 
 
@@ -1154,3 +1168,4 @@ clear:both;
 #form_settings_avatar .form_actions {
 margin-bottom:0;
 }
+
index af188ad7a1106c185945809ed14751697ea4a291..163b41fb4caa1e96ee857d0371db10dabb003436 100644 (file)
@@ -1,10 +1,86 @@
 @import url("display.css");
 @import url("../../identica/css/display.css");
 
-span.facebook-button { border: 2px solid #777; padding: 5px; 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 }
+* {
+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 {
@@ -19,12 +95,6 @@ margin-bottom:18px;
 list-style-type:none;
 }
 
-.facebook_guide p {
-margin-bottom:18px;
-font-size:1.3em;
-font-weight:bold;
-}
-
 .form_settings label {
 margin-right:18px;
 }
diff --git a/theme/base/images/icons/icon_atom.jpg b/theme/base/images/icons/icon_atom.jpg
deleted file mode 100644 (file)
index 22853ed..0000000
Binary files a/theme/base/images/icons/icon_atom.jpg and /dev/null differ
diff --git a/theme/base/images/icons/icon_atom.png b/theme/base/images/icons/icon_atom.png
new file mode 100644 (file)
index 0000000..6a001f1
Binary files /dev/null and b/theme/base/images/icons/icon_atom.png differ
diff --git a/theme/base/images/icons/icon_rss.jpg b/theme/base/images/icons/icon_rss.jpg
deleted file mode 100644 (file)
index da23422..0000000
Binary files a/theme/base/images/icons/icon_rss.jpg and /dev/null differ
diff --git a/theme/base/images/icons/icon_rss.png b/theme/base/images/icons/icon_rss.png
new file mode 100644 (file)
index 0000000..0ccd1ce
Binary files /dev/null and b/theme/base/images/icons/icon_rss.png differ
diff --git a/theme/default/bg-body.gif b/theme/default/bg-body.gif
deleted file mode 100644 (file)
index 5e1afa0..0000000
Binary files a/theme/default/bg-body.gif and /dev/null differ
diff --git a/theme/default/bg-header.gif b/theme/default/bg-header.gif
deleted file mode 100644 (file)
index a34b9b3..0000000
Binary files a/theme/default/bg-header.gif and /dev/null differ
index 97a6a12a8f2631ace41e87b1682dc44ae986d904..da1ba6717324f1cef96f495ce5d7588aba651e76 100644 (file)
@@ -67,7 +67,6 @@ color:#002E6E;
 .profile {
 border-top-color:#D1D9E4;
 }
-.section .notice,
 .section .profile {
 border-top-color:#97BFD1;
 }
@@ -92,12 +91,6 @@ color:#333;
 color:#000;
 }
 
-#form_notice #notice_data-attach_view {
-background-image:url(../images/icons/twotone/green/paper-clip.gif);
-background-repeat:no-repeat;
-background-position:0 45%;
-background-color:transparent;
-}
 
 #nav_register a {
 text-decoration:none;
@@ -123,8 +116,6 @@ background-color:rgba(255, 255, 255, 0.7);
 }
 
 
-
-
 #page_notice .error {
 background-color:#F7E8E8;
 }
@@ -144,26 +135,21 @@ 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.jpg);
+background-image:url(../../base/images/icons/icon_rss.png);
 }
 #export_data li a.atom {
-background-image:url(../../base/images/icons/icon_atom.jpg);
+background-image:url(../../base/images/icons/icon_atom.png);
 }
 #export_data li a.foaf {
 background-image:url(../../base/images/icons/icon_foaf.gif);
 }
-#export_data li a.export_vcard {
-background-image:url(../../base/images/icons/icon_vcard.gif);
-}
-
 
+.entity_edit a,
 .entity_send-a-message a,
 .form_user_nudge input.submit,
 .form_user_block input.submit,
@@ -185,6 +171,9 @@ color:#fff;
 background-color:#97BFD1;
 }
 
+.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);
 }
@@ -204,30 +193,6 @@ background-image:url(../images/icons/twotone/green/shield.gif);
 background-color:#fcfcfc;
 }
 
-.notice-data a span {
-background-color:transparent;
-background-repeat:no-repeat;
-background-position:0 45%;
-}
-.notice_video .notice-data a span {
-background-image:url(../images/icons/twotone/green/camera.gif);
-}
-.notice_audio .notice-data a span {
-background-image:url(../images/icons/twotone/green/music.gif);
-}
-.notice_image .notice-data a span {
-background-image:url(../images/icons/twotone/green/search.gif);
-}
-.notice_event .notice-data a span {
-background-image:url(../images/icons/twotone/green/calendar.gif);
-}
-.notice_location .notice-data a span {
-background-image:url(../images/icons/twotone/green/flag.gif);
-}
-.notice_document .notice-data a span {
-background-image:url(../images/icons/twotone/green/document.gif);
-}
-
 .notice-options .notice_reply a,
 .notice-options form input.submit {
 background-color:transparent;
@@ -274,12 +239,13 @@ background:transparent url(../images/icons/twotone/green/news.gif) no-repeat 0 4
 .pagination .nav_prev a,
 .pagination .nav_next a {
 background-repeat:no-repeat;
+border-color:#D1D9E4;
 }
 .pagination .nav_prev a {
 background-image:url(../images/icons/twotone/green/arrow-left.gif);
-background-position:0 45%;
+background-position:10% 45%;
 }
 .pagination .nav_next a {
 background-image:url(../images/icons/twotone/green/arrow-right.gif);
-background-position:100% 45%;
+background-position:90% 45%;
 }
diff --git a/theme/default/css/ie.css b/theme/default/css/ie.css
new file mode 100644 (file)
index 0000000..2b06768
--- /dev/null
@@ -0,0 +1,9 @@
+/* IE specific styles */
+
+.notice-options input.submit {
+color:#fff;
+}
+
+#site_nav_local_views a {
+background-color:#ACCCDA;
+}
diff --git a/theme/default/display.css b/theme/default/display.css
deleted file mode 100644 (file)
index f22f9aa..0000000
+++ /dev/null
@@ -1,1107 +0,0 @@
-/* CSS Document */
-/* Design & CSS by Marie-Claude Doyon http://www.marieclaudedoyon.com */
-
-html {
-       background-color: #f6e5b0;
-       }
-body {
-       position: absolute;
-       width: 100%;
-       margin: 0;
-       padding: 0;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 10px;
-       line-height: 12px;
-       min-height: 100%;
-       height: 100%;
-    color: #701238;
-       }
-a {
-       color: #d1451a;
-       text-decoration: none;
-       }
-a:hover {
-       text-decoration: underline;
-       }
-img, img a {
-       border: 0;
-       }
-h1 {
-       font-size: 14px;
-       }
-
-#wrap {
-       margin: 0 auto;
-       padding: 0 20px;
-       width: 760px;
-       background: url(bg-header.gif) repeat-x #fbf2d7;
-       }
-#header {
-       position: relative;
-       margin: 0 auto;
-       width: 600px;
-       height: 216px;
-       }
-#logo {
-       margin-top: 9px;
-       }
-p#branding {
-       margin: 0;
-       padding: 6px 0 3px 0;
-       color: #fbf2d7;
-       font-size: 21px;
-       font-weight: bold;
-       line-height: 27px;
-       }
-p#branding a {
-       color: #dab134;
-       }
-
-#header h1.pagetitle {
-       margin: 0;
-       padding: 0;
-       font-size: 15px;
-       line-height: 24px;
-       color: #fff6d5;
-}
-
-#header h2.sitename {
-       display: none;
-       margin: 0;
-       padding: 0;
-       color: #fff6d5;
-}
-
-abbr.published { border-bottom:0; }
-
-/* ===== Begin Navigation Styling ===== */
-
-/* ----- Navigation ------ */
-#nav {
-       float: right;
-       margin: 0;
-       padding: 0;
-       list-style-type: none;
-       font-size: 12px;
-       }
-#nav li {
-       display: block;
-       float: left;
-       }
-#nav li a {
-       display: block;
-       padding: 9px 9px 12px 9px;
-       color: #F60;
-       }
-#nav li a:hover {
-       text-decoration: underline;
-       }
-
-/* ----- Tabs ----- */
-#nav_views {
-       margin: 0 auto;
-       padding: 0;
-       position: absolute;
-       bottom: 0;
-       list-style-type: none;
-       font-size: 14px;
-       font-weight: bold;
-       width: 600px;
-       /*height: 30px;*/
-       }
-#nav_views li {
-       display: block;
-       float: left;
-       line-height: 21px;
-       }
-#nav_views li a {
-       display: block;
-       margin: 0;
-       padding: 4px 12px 3px 12px;
-       color: #fff6d5;
-       background-color: #d1451a;
-       border-right: 1px solid #dcaa3f;
-       }
-#nav_views li a:hover {
-       text-decoration: none;
-       }
-#nav_views li.current a, #nav_views li.current a:hover {
-       color: #701238;
-       background-color: #fff6d5;
-       border-right: 1px solid #dcaa3f;
-       }
-#nav_views li.current a:hover {
-       color: #d1451a;
-       }
-#nav_views li a:hover {
-       color: #fff6d5;
-       background-color: #701238;
-       border-right: 1px solid #dcaa3f;
-       }
-
-.feeds {
-clear:both;
-float:right;
-margin-top:1.25em;
-position:absolute;
-right:0;
-bottom:-30px;
-}
-.feeds * {
-line-height:1.4;
-padding:0;
-margin:0;
-font-size:12px;
-}
-
-.feeds p {
-font-weight:bold;
-display:inline;
-display:none;
-}
-.feeds ul {
-display:inline;
-}
-.feeds li {
-list-style-type:none;
-display:inline;
-margin-left:0.5em;
-}
-.feeds li a.rss,
-.feeds li a.atom {
-background:url(icon_feed.jpg) no-repeat;
-padding-top:2px;
-padding-left:20px;
-}
-.feeds li a.foaf {
-background:url(icon_foaf.gif) no-repeat;
-padding-top:2px;
-padding-left:30px;
-}
-
-form#disfavor, form.disfavor,
-form#favor, form.favor  {
-       float: right;
-}
-
-/*favorites*/
-input#favor, input.favor,
-input#disfavor, input.disfavor  {
-       background-color:#fcfff5;
-       background-color:transparent;
-       background-image:url(icon_heart-02.gif);
-       background-repeat:no-repeat;
-       cursor: pointer;
-       border: 0;
-       width: 16px;
-       height:16px;
-       text-indent:-9999px;
-}
-
-input#disfavor, input.disfavor {
-       background-image:url(icon_heart-01.gif);
-}
-
-.notice_single:hover input.favor,
-.notice_single:hover input.disfavor {
-       background-color:#f3f8ea;
-}
-
-/*profile_actions*/
-#profile_actions {
-padding-left:0;
-list-style-type:none;
-margin:0;
-}
-#profile_actions li {
-margin-bottom:0.5em;
-clear:both;
-}
-
-#profile_actions #profile_nudge input.submit,
-#profile_actions #profile_block input.submit,
-.profile_single form.block input.submit {
-margin:0 0 0 -3px;
-padding:0;
-background-color:transparent;
-color:#C15D42;
-font-family:Georgia,"Times New Roman",Times,serif;
-font-weight:normal;
-font-size:14px;
-text-align:left;
-float:left;
-line-height:18px;
-}
-#profile_actions #profile_nudge input.submit:hover,
-#profile_actions #profile_block input.submit:hover {
-background-color:transparent;
-color:#C15D42;
-}
-
-#wrap p#nudge_response {
-background-color:transparent;
-line-height:18px;
-font-size:14px;
-}
-#wrap #profile_nudge input.disabled {
-color:#999;
-cursor:default;
-}
-
-
-#wrap form input.disabled,
-#wrap form input.disabled:hover {
-background-color:#999;
-cursor:default;
-}
-
-/* ----- Nav Footer ----- */
-#nav_sub {
-       clear: both;
-       margin: 18px auto 0 auto;
-       padding: 0;
-       list-style-type: none;
-       font-size: 11px;
-       font-weight: bold;
-       line-height: 21px;
-       border-top: 1px solid #dec5b5;
-       width: 600px;
-       }
-#nav_sub li {
-       display: block;
-       float: left;
-       }
-#nav_sub li a {
-       padding: 6px 24px 6px 0;
-       }
-#nav_sub li a:hover {
-       text-decoration: underline;
-       }
-/* ===== End Navigation Styling ===== */
-
-#content {
-       clear: left;
-       margin: 40px 0 45px 0;
-       padding: 0 80px;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       font-size: 14px;
-       line-height: 18px;
-       }
-#content h2 {
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 15px;
-       }
-#content label {
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 12px;
-       }
-.instructions p, .success, .error {
-       font-weight: normal;
-       margin: 36px 0 0 0;
-       padding: 10px;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       font-size: 13px;
-       line-height: 15px;
-       border: 1px solid #dec5b5;
-       color: #fff6d5;
-       }
-.instructions a, .success a, .error a {
-       color: #d8e2d7;
-       text-decoration: underline;
-       }
-.instructions a:hover, .success a:hover, .error a:hover {
-       color: #fff6d5;
-       }
-.success {
-       background-color: #48705b;
-       }
-.error {
-       background-color: #ce3728;
-       }
-
-/* ----- Stream -----*/
-
-#notices {
-       clear: both;
-       margin: 0 auto;
-       padding: 0;
-       list-style-type: none;
-       width: 600px;
-       border-top: 1px solid #dec5b5;
-       }
-#notices a:hover {
-       text-decoration: underline;
-       }
-.notice_single {
-       clear: both;
-       display: block;
-       margin: 0;
-       padding: 5px 5px 5px 0;
-       min-height: 48px;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       font-size: 13px;
-       line-height: 16px;
-       border-bottom: 1px solid #dec5b5;
-       background-color:#FCFFF5;
-       opacity:1;
-       }
-.notice_single:hover {
-       background-color: #f7ebcc;
-       }
-.notice_single p {
-       display: inline;
-       margin: 0;
-       padding: 0;
-       }
-#notice_delete_form #confirmation_text {
-    display: block;
-       font-size: 14px;
-       font-weight: bold;
-       }
-
-input#submit_yes, input#submit_no {
-       margin: 18px 10px 0px 0px;
-       padding: 4px;
-       font-weight: bold;
-       color: #fff6d5;
-       background-color: #F60;
-       cursor: pointer;
-       border: 0;
-       width: 40px;
-       }
-input#submit_yes:hover, input#submit_no:hover {
-       background-color: #701238;
-       }
-.avatar.stream {
-       float: left;
-       margin: 0 10px 0.5em 0;
-       }
-p.time {
-       display: block;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 10px;
-       line-height: 15px;
-       }
-p.time a {
-       color: #dab134;
-       }
-
-/* ----- Profile -----*/
-#profile {
-       clear: left;
-       margin: 0 -80px;
-       padding: 10px 0 0 0;
-       min-height: 170px;
-       border-top: 1px solid #dec5b5;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       margin-bottom:1em;
-       float:left;
-       width:750px;
-       }
-#profile h1 {
-       margin: 0;
-       padding: 0;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 14px;
-       }
-#profile h2 {
-       margin: 0;
-       padding: 0;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 11px;
-       text-transform: uppercase;
-       color: #dab134;
-       }
-#profile p {
-       margin: 0 10px 0 0;
-       font-size: 12px;
-       line-height: 14px;
-       }
-#profile p.location {
-       margin: 0 10px 12px 0;
-       font-style: italic;
-       }
-#profile p.notice_current {
-       font-size: 18px;
-       line-height: 21px;
-       }
-#profile_avatar {
-       float: left;
-       margin-right: 4px;
-       }
-#profile_avatar img {
-       margin-bottom: 5px;
-       }
-.avatar.profile {
-       clear: left;
-       margin: 0 10px 5px 0;
-       }
-.avatar.original {
-       float: left;
-       margin: 0 10px 18px 0;
-       }
-
-#profilesettings {
-       margin-bottom:2em;
-}
-
-
-.avatar_view {
-       float:left;
-       margin-bottom:1em;
-       margin-right:1em;
-}
-
-#avatar_preview_view {
-       overflow:hidden;
-       width:96px;
-       height:96px;
-}
-#avatar_crop {
-       margin-bottom:2em;
-}
-
-#avatar_crop,
-#avatarfile {
-       clear:both;
-}
-
-a.nickname {
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-weight: bold;
-       font-size: 12px;
-       padding-right: 3px;
-       }
-.hentry a.nickname {
-       font-weight:normal;
-}
-#profile_information {
-       float: left;
-       position: relative;
-       width: 270px;
-       }
-.statistics {
-       margin-top: 18px;
-       }
-.statistics h2 {
-       margin: 12px 0 3px 0;
-       }
-dl.statistics {
-       margin: 0;
-       font-size: 12px;
-       line-height: 14px;
-       }
-.statistics dt {
-       float: left;
-       width: 96px;
-}
-.statistics dd {
-       margin-left: 100px;
-}
-.statistics dt:after {
-       content: ":";
-       }
-#subscriptions {
-       float: left;
-       margin: 18px 0 30px 0;
-       }
-#subscriptions_avatars {
-       float: left;
-       margin: 6px 0 0 0;
-       padding: 0;
-       list-style-type: none;
-       width: 270px;
-       }
-#subscriptions_avatars li .avatar.mini {
-       float: left;
-       margin: 0 3px 3px 0;
-       padding: 0;
-       line-height: 0;
-       /* border: 1px solid #f00; */
-       }
-#subscriptions_viewall {
-       clear: left;
-       }
-/* ----- End Profile -----*/
-
-/* ----- Begin Subscriptions & Subscribers -----*/
-
-ul.subscriptions, ul.subscribers {
-       float: none;
-       margin: 0;
-       padding: 0;
-       list-style-type: none;
-       overflow: auto;
-       clear:both;
-       }
-ul.subscriptions li, ul.subscribers li {
-       display: block;
-       float: left;
-       padding: 0;
-       }
-/* ----- End Subscriptions & Subscribers -----*/
-
-#pagination {
-       margin: 18px auto;
-       width: 600px;
-       }
-#nav_pagination {
-       margin: 0 0 36px 0;
-       padding: 0;
-       float: right;
-       list-style-type: none;
-       font-size: 12px;
-       font-weight: bold;
-       }
-#nav_pagination li {
-       display: block;
-       float: left;
-       background-color: #701238;
-       }
-#nav_pagination li.before {
-       margin-right: 1px;
-       }
-#nav_pagination li a {
-       padding: 6px 15px;
-       line-height: 21px;
-       background-color: #701238;
-       color: #fff6d5;
-       }
-#nav_pagination li a:hover {
-       background-color: #3F606F;
-       color: #fff6d5;
-       text-decoration: none;
-       }
-
-#footer {
-       clear: both;
-       margin: 0 auto;
-       padding: 0 0 36px 0;
-       width: 600px;
-       border-top: 1px solid #dec5b5;
-       }
-#footer p {
-       margin-top: 9px;
-       line-height: 12px;
-       }
-#cc {
-       float: left;
-       margin: 3px 10px 0 0;
-       }
-
-/* ===== Begin Forms Styling ===== */
-
-/* ----- Forms General Style ----- */
-form {
-       margin: 0 auto;
-       padding: 0;
-       }
-form {
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 12px;
-       }
-form label {
-       display: block;
-       font-size: 12px;
-       font-weight: bold;
-       line-height: 18px;
-       }
-form input {
-       border: 1px solid #dec5b5;
-       width: 264px;
-       }
-input#submit, input.submit  {
-       display: block;
-       margin: 18px 0;
-       padding: 4px;
-       font-weight: bold;
-       color: #fff6d5;
-       background-color: #F60;
-       cursor: pointer;
-       border: 0;
-       width: auto;
-       }
-input#submit:hover, input.submit:hover {
-       background-color: #701238;
-       }
-input.checkbox {
-       /*width: 14px;
-       height: 14px;*/
-       width: auto;
-       border: 0;
-       }
-
-label.checkbox_label {
-    display: inline;
-    font-weight: normal;
-}
-
-textarea, input {
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 12px;
-       color: #701238;
-       padding: 3px;
-       }
-textarea:focus, input:focus {
-       background-color: #f8ebc0;
-       }
-textarea {
-       width: 270px;
-       border: 1px solid #D8E2D7;
-       }
-.input_instructions {
-       margin-top: 3px;
-       display: block;
-       font-size: 11px;
-       line-height: 15px;
-       color: #924959;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       }
-
-/* ----- Status Form ----- */
-#status_form {
-       height: 96px;
-       /*background-color: #F00;*/
-       }
-#status_form p {
-       margin: 36px 0 0 0;
-       padding: 0;
-       }
-#status_label {
-       display: block;
-       clear: both;
-       margin: 0;
-       padding: 0 0 3px 0;
-       font-size: 18px;
-       font-weight: bold;
-       line-height: 24px;
-       color: #dab134;
-       }
-#status_textarea {
-       display: block;
-       float: left;
-       width: 463px;
-       height: 35px;
-       padding: 5px;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 12px;
-       color: #701238;
-       border: 0;
-       }
-#status_submit {
-       display: block;
-       float: left;
-       margin: 1px 0 0 4px;
-       width: 63px;
-       height: 45px;
-       background-color: #F60;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-weight: bold;
-       font-size: 14px;
-       color: #fff6d5;
-       cursor: pointer;
-       border: 0;
-       }
-#status_submit:hover {
-       background-color: #d1451a;
-       }
-#counter {
-       position: absolute;
-       top: 140px;
-       left: -64px;
-       width: 50px;
-       font-weight: bold;
-       text-align: right;
-}
-.response_error textarea,
-.response_error .on_max {
-background-color:#fee;
-}
-
-/* ----- Subscribe Form ----- */
-#content .subscribe .submit, #content .unsubscribe .submit, #remotesubscribe .button, #remotesubscribe {
-       clear: left;
-       margin: 0;
-       width: 96px;
-       height: 27px;
-       font-family: verdana, arial, helvetica, sans-serif;
-       font-weight: bold;
-       font-size: 10px;
-       text-transform: uppercase;
-       background-color: #F60;
-       color: #fff6d5;
-       border: 0;
-       }
-#remotesubscribe {
-       width: 96px;
-       height: 22px;
-       padding: 5px 0 0 0;
-       text-align: center;
-       }
-#content .subscribe .button:hover, #content .unsubscribe .button:hover {
-       background-color: #904632;
-       cursor: pointer;
-       }
-
-a#remotesubscribe {
-       display: block;
-}
-
-/* ----- Login Form -----*/
-input#license {
-       width: auto;
-       border: 0;
-       }
-/* ----- Avatar Form -----*/
-form {
-       clear: left;
-}
-
-/* ----- OpenID Form -----*/
-
-input#openid_url {
-   background: url(login-bg.gif) no-repeat;
-   background-color: #fff;
-   background-position: 4px 50%;
-   color: #000;
-   padding-left: 24px;
-}
-
-/* People lists (search results, maybe subscribers) */
-
-#profiles {
-       clear: both;
-       margin: 0 auto;
-       padding: 0;
-       list-style-type: none;
-       width: 600px;
-       border-top: 1px solid #dec5b5;
-       /*border: 1px solid #F00;*/
-       }
-#profiles a:hover {
-       text-decoration: underline;
-       }
-
-.profile_single {
-       clear: both;
-       display: block;
-       margin: 0;
-       padding: 5px 5px 5px 0;
-       min-height: 48px;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       font-size: 13px;
-       line-height: 16px;
-       border-bottom: 1px solid #dec5b5;
-       width:100%;
-       float:left;
-       }
-.profile_single:hover {
-       background-color: #f7ebcc;
-       }
-
-.profile_single form.block,
-.profile_single form.subscribe,
-.profile_single form.unsubscribe {
-       float: right;
-}
-
-form.subedit {
-       margin-left:4.5em;
-}
-form.subedit p {
-       display:inline;
-
-}
-form.subedit input.submit {
-       margin:0 0 0 0.5em;
-       display:inline;
-       background-color:transparent;
-       padding:0;
-       color:#C15D42;
-       border:1px solid #C15D42;
-}
-
-
-
-/* ----- IM Settings Form -----*/
-
-#imsettings p {
-       margin: 0;
-       padding: 0;
-       line-height: 15px;
-}
-
-/* ----- direct message ----- */
-
-#message_form {
-       height: 96px;
-       /*background-color: #F00;*/
-       }
-
-#message_form p {
-       margin: 21px 0 0 0;
-       padding: 0;
-       }
-#message_form label {
-       display: inline;
-       }
-
-#message_content {
-       display: block;
-       float: left;
-       width: 463px;
-       height: 35px;
-       padding: 5px;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-size: 12px;
-       color: #193441;
-       border: 0;
-       }
-
-#message_send {
-       display: block;
-       float: left;
-       margin: 1px 0 0 4px;
-       width: 63px;
-       height: 45px;
-       background-color: #C15D42;
-       font-family: Verdana, Arial, Helvetica, sans-serif;
-       font-weight: bold;
-       font-size: 14px;
-       color: #FCFFF5;
-       cursor: pointer;
-       border: 0;
-       }
-
-#message_send:hover {
-       background-color: #904632;
-       }
-
-/* ===== End Forms Styling ===== */
-
-/* ===== Tag Cloud Styling ===== */
-
-p.tagcloud {
-text-align: center;
-}
-
-p.tagcloud a {
-line-height:100%;
-vertical-align:middle;
-}
-
-p.tagcloud a.largest {
-font-size: 400%;
-}
-p.tagcloud a.verylarge {
-font-size: 300%;
-}
-
-p.tagcloud a.large {
-font-size: 200%;
-}
-
-p.tagcloud a.medium {
-font-size: 150%;
-}
-
-p.tagcloud a.small {
-font-size: 100%;
-}
-
-p.tagcloud a.verysmall {
-font-size: 80%;
-}
-
-p.tagcloud a.smallest {
-font-size: 60%;
-}
-
-#subscriptions_nav,
-#filter_tags {
-margin:0 0 2em 0;
-}
-
-#subscriptions_nav {
-padding-bottom:0.5em;
-/*border-bottom:1px solid #D8E2D7;*/
-float:right;
-}
-#filter_tags {
-float:left;
-}
-
-#subscriptions_nav dt,
-#filter_tags dt {
-display:none;
-}
-#subscriptions_nav dd,
-#filter_tags dd {
-margin-left:0;
-}
-#subscriptions_nav ul,
-#filter_tags ul {
-padding-left:0;
-list-style-type:none;
-margin-left:0;
-}
-#subscriptions_nav ul li {
-display:inline;
-padding-left:0.5em;
-margin-left:0.5em;
-border-left:1px solid #D8E2D7;;
-}
-#subscriptions_nav ul li.child_1 {
-border-left:0;
-padding-left:0;
-margin-left:0;
-}
-
-#filter_tags ul li {
-float:left;
-margin-left:0.5em;
-padding-left:0.5em;
-border-left:1px solid #D8E2D7;;
-}
-#filter_tags ul li.child_1 {
-margin-left:0;
-border-left:0;
-padding-left:0;
-}
-#filter_tags ul li li {
-margin-left:0;
-}
-#filter_tags ul li#filter_tags_item {
-width:30em;
-}
-#filter_tags ul li#filter_tags_item form {
-clear:none;
-}
-#filter_tags ul li#filter_tags_item label {
-margin-right:0.5em;
-font-size:14px;
-font-weight:normal;
-font-family:Georgia,"Times New Roman",Times,serif;
-}
-#filter_tags ul li#filter_tags_item label,
-#filter_tags ul li#filter_tags_item select {
-margin-top:-1px;
-margin-bottom:0.5em;
-display:inline;
-}
-#filter_tags ul li#filter_tags_item p {
-margin:0 1em 0 0;
-padding:0;
-float:left;
-}
-#filter_tags ul li .input_instructions {
-display:inline;
-display:block;
-margin:0;
-}
-#filter_tags ul li#filter_tags_item .submit {
-margin:0;
-}
-
-.tags_self,
-.tags_user {
-margin-left:4.5em;
-}
-.tags_self dl,
-.tags_user dl {
-margin-left:0;
-}
-
-.tags_self dt,
-.tags_user dt {
-display:inline;
-margin-right:0.5em;
-}
-
-.tags_self dd,
-.tags_user dd {
-margin-left:0;
-display:inline;
-}
-
-ul.tags {
-padding-left:0;
-margin-left:0;
-list-style-type:none;
-display:inline;
-}
-ul.tags li {
-display:inline;
-margin-right:0.75em;
-}
-ul.tags li a {
-padding-left:17px;
-background:url(icon_tag-01.gif) no-repeat;
-line-height:1.5;
-}
-
-.tags_user {
-margin-bottom:0.5em;
-}
-
-form#tag_user {
-margin-left:8.75em;
-clear:both;
-}
-form#tag_user p {
-margin:0;
-}
-
-form#tag_user label {
-display:inline;
-margin-right:1em;
-}
-form#tag_user .submit {
-margin-left:4em;
-}
-
-form#tag_user .input_instructions {
-margin-left:4.5em;
-}
-
-.profile_list p {
-margin:0 0 0.5em 0;
-}
-
-.profile_list .bio {
-margin-left:4.5em;
-}
-
-/* ----- Mailbox ----- */
-#messages {
-       clear: both;
-       margin: 0 auto;
-       padding: 0;
-       list-style-type: none;
-       width: 600px;
-       border-top: 1px solid #dec5b5;
-       }
-
-#messages a:hover {
-        text-decoration: underline;
-       }
-
-.message_single {
-       clear: both;
-       display: block;
-       margin: 0;
-       padding: 5px 5px 5px 0;
-       min-height: 48px;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       font-size: 13px;
-       line-height: 16px;
-       border-bottom: 1px solid #dec5b5;
-       }
-.message_single:hover {
-       background-color: #f7ebcc;
-       }
-.message_single p {
-       display: inline;
-       margin: 0;
-       padding: 0;
-       }
diff --git a/theme/default/icon_feed.jpg b/theme/default/icon_feed.jpg
deleted file mode 100644 (file)
index 53c4d49..0000000
Binary files a/theme/default/icon_feed.jpg and /dev/null differ
diff --git a/theme/default/icon_foaf.gif b/theme/default/icon_foaf.gif
deleted file mode 100644 (file)
index f8f7844..0000000
Binary files a/theme/default/icon_foaf.gif and /dev/null differ
diff --git a/theme/default/icon_heart-01.gif b/theme/default/icon_heart-01.gif
deleted file mode 100644 (file)
index bdfd748..0000000
Binary files a/theme/default/icon_heart-01.gif and /dev/null differ
diff --git a/theme/default/icon_heart-02.gif b/theme/default/icon_heart-02.gif
deleted file mode 100644 (file)
index cbb35e0..0000000
Binary files a/theme/default/icon_heart-02.gif and /dev/null differ
diff --git a/theme/default/icon_tag-01.gif b/theme/default/icon_tag-01.gif
deleted file mode 100644 (file)
index 92e5742..0000000
Binary files a/theme/default/icon_tag-01.gif and /dev/null differ
diff --git a/theme/default/ie6.css b/theme/default/ie6.css
deleted file mode 100644 (file)
index f9fc815..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-@charset "UTF-8";
-/* CSS Document */
-body {
-       text-align: center;
-}
-input {
-       height: 24px;
-}
-#wrap {
-       margin: 0 auto;
-       padding: 0 20px;
-       width: 800px;
-       text-align: left;
-       background: url(bg-header.gif) repeat-x #fbf2d7;
-       }
-#header {
-       position: relative;
-       margin-left: 108px;
-       }       
-#nav_views {
-       margin: 0;
-       }
-#nav_views li {
-       line-height: 19px;
-       }
-.statistics dd {
-       margin-top: -15px;
-       clear: both;
-       }       
-#notices {
-       margin: 0;
-       }                       
-.notice_single {
-       height: 48px;
-       }
-#profile {
-  margin-left:0px;
-}      
-#profile p.notice_current {
-       height: 96px;
-       }       
-#filter_tags {
-  margin-left:20px;
-}      
-#content .subscriptions {
-  margin-left:30px;
-  width:100%;
-}
-
-#subscriptions_avatars li {
-       float: left;
-       margin: 0;
-       padding: 0;
-       }
-img.avatar.original, img.avatar.profile {
-       clear: none;
-       float: left;
-}              
-#status_textarea {
-       height: 46px;
-       }
-                       
-#nav_pagination li a {
-       padding: 6px 15px;
-       line-height: 27px;
-       }
-#nav_sub {
-       position: relative;
-       margin-left: 108px;
-       }       
-#footer {
-       margin-left: 108px;
-}
diff --git a/theme/default/ie7.css b/theme/default/ie7.css
deleted file mode 100644 (file)
index 23a3241..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-@charset "UTF-8";
-/* CSS Document */
-input.disfavor,
-input.favor {
-       text-indent:0;
-       text-align:right;
-       padding-left:25px;
-}
-
-#profile_actions li {
-float:left;
-clear:both;
-}
-#profile_actions #profile_nudge input.submit {
-margin-left:0;
-width:100px;
-}
-
-#statistics dd {
-       clear: both;
-       }               
-       
-#subscriptions_avatars li {
-       float: left;
-       }
-img.avatar.original, img.avatar.profile {
-       clear: none;
-       float: left;
-}
-                       
-#nav_pagination li a {
-       padding: 6px 15px;
-       line-height: 27px;
-       }
-
-#filter_tags ul li#filter_tags_item label {
-position:relative;
-top:-8px;
-}
\ No newline at end of file
diff --git a/theme/default/login-bg.gif b/theme/default/login-bg.gif
deleted file mode 100644 (file)
index e2d8377..0000000
Binary files a/theme/default/login-bg.gif and /dev/null differ
diff --git a/theme/identica/bg-body.gif b/theme/identica/bg-body.gif
deleted file mode 100644 (file)
index d87e2e8..0000000
Binary files a/theme/identica/bg-body.gif and /dev/null differ
diff --git a/theme/identica/bg-header.gif b/theme/identica/bg-header.gif
deleted file mode 100644 (file)
index 5154b2e..0000000
Binary files a/theme/identica/bg-header.gif and /dev/null differ
index beb5a2c13dcfa3d11d107509f6b6d0b583e78ce5..6fcd730a90f0c5238536005dfef41e58064a9638 100644 (file)
@@ -67,7 +67,6 @@ color:#002E6E;
 .profile {
 border-top-color:#CEE1E9;
 }
-.section .notice,
 .section .profile {
 border-top-color:#87B4C8;
 }
@@ -92,12 +91,6 @@ color:#333;
 color:#000;
 }
 
-#form_notice #notice_data-attach_view {
-background-image:url(../images/icons/twotone/green/paper-clip.gif);
-background-repeat:no-repeat;
-background-position:0 45%;
-background-color:transparent;
-}
 
 #nav_register a {
 text-decoration:none;
@@ -123,8 +116,6 @@ background-color:rgba(255, 255, 255, 0.7);
 }
 
 
-
-
 #page_notice .error {
 background-color:#F7E8E8;
 }
@@ -144,26 +135,21 @@ 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.jpg);
+background-image:url(../../base/images/icons/icon_rss.png);
 }
 #export_data li a.atom {
-background-image:url(../../base/images/icons/icon_atom.jpg);
+background-image:url(../../base/images/icons/icon_atom.png);
 }
 #export_data li a.foaf {
 background-image:url(../../base/images/icons/icon_foaf.gif);
 }
-#export_data li a.export_vcard {
-background-image:url(../../base/images/icons/icon_vcard.gif);
-}
-
 
+.entity_edit a,
 .entity_send-a-message a,
 .form_user_nudge input.submit,
 .form_user_block input.submit,
@@ -185,6 +171,9 @@ color:#fff;
 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);
 }
@@ -204,30 +193,6 @@ background-image:url(../images/icons/twotone/green/shield.gif);
 background-color:#fcfcfc;
 }
 
-.notice-data a span {
-background-color:transparent;
-background-repeat:no-repeat;
-background-position:0 45%;
-}
-.notice_video .notice-data a span {
-background-image:url(../images/icons/twotone/green/camera.gif);
-}
-.notice_audio .notice-data a span {
-background-image:url(../images/icons/twotone/green/music.gif);
-}
-.notice_image .notice-data a span {
-background-image:url(../images/icons/twotone/green/search.gif);
-}
-.notice_event .notice-data a span {
-background-image:url(../images/icons/twotone/green/calendar.gif);
-}
-.notice_location .notice-data a span {
-background-image:url(../images/icons/twotone/green/flag.gif);
-}
-.notice_document .notice-data a span {
-background-image:url(../images/icons/twotone/green/document.gif);
-}
-
 .notice-options .notice_reply a,
 .notice-options form input.submit {
 background-color:transparent;
diff --git a/theme/identica/display.css b/theme/identica/display.css
deleted file mode 100644 (file)
index 62d34f0..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-/* CSS Document */
-/* Design & CSS by Marie-Claude Doyon http://www.marieclaudedoyon.com */
-
-@import url(../default/display.css);
-
-html {
-     background: url(bg-body.gif) repeat-y top center #d8e2d7;
-}
-
-body {
-     color: #193441;
-}
-
-a {
-     color: #C15D42;
-}
-
-#wrap {
-      background: url(bg-header.gif) repeat-x #FCFFF5;
-}
-
-#header h1.pagetitle {
-       color: #d8e2d7;
-}
-
-#header h2.sitename {
-       color: #FCFFF5;
-}
-
-#nav li a {
-     color: #91AA9D;
-}
-
-#nav_views li a {
-     color: #FCFFF5;
-     background-color: #91AA9D;
-     border-right: 1px solid #6A8787;
-}
-
-#nav_views li.current a, #nav_views li.current a:hover {
-     color: #3F606F;
-     background-color: #FCFFF5;
-     border-right: 1px solid #6A8787;
-}
-
-#nav_views li.current a:hover {
-     color: #193441;
-}
-
-#nav_views li a:hover {
-     color: #FCFFF5;
-     background-color: #3F606F;
-     border-right: 1px solid #6A8787;
-     }
-
-#nav_sub {
-     border-top: 1px solid #D8E2D7;
-     }
-
-.instructions p, .success, .error {
-     border: 1px solid #91AA9D;
-     color: #FCFFF5;
-     }
-.instructions a:hover, .success a:hover, .error a:hover {
-     color: #FCFFF5;
-     }
-
-#notices {
-     border-top: 1px solid #D8E2D7;
-     }
-
-.notice_single {
-     border-bottom: 1px solid #D8E2D7;
-}
-
-.notice_single:hover {
-     background-color: #F3F8EA;
-     }
-
-input#submit_yes, input#submit_no {
-     color: #FCFFF5;
-     background-color: #C15D42;
-     }
-
-input#submit_yes:hover, input#submit_no:hover {
-     background-color: #904632;
-     }
-
-p.time a {
-    color: #91AA9D;
-    }
-
-#profile {
-    border-top: 1px solid #D8E2D7;
-    }
-
-#profile h2 {
-    color: #91AA9D;
-    }
-
-#nav_pagination li {
-    background-color: #91AA9D;
-    }
-
-#nav_pagination li a {
-    background-color: #91AA9D;
-    color: #FCFFF5;
-    }
-
-#nav_pagination li a:hover {
-    color: #FCFFF5;
-    }
-
-#footer {
-    border-top: 1px solid #D8E2D7;
-    }
-
-form input {
-     border: 1px solid #D8E2D7;
-     }
-
-input#submit, input.submit  {
-    color: #FCFFF5;
-    background-color: #C15D42;
-    }
-
-input#submit:hover, input.submit:hover {
-    background-color: #904632;
-    }
-
-textarea, input {
-    color: #193441;
-    }
-
-textarea:focus, input:focus {
-    background-color: #f0f6eb;
-    }
-
-.input_instructions {
-    color: #91aa9d;
-    }
-
-#status_label {
-    color: #91AA9D;
-    }
-
-#status_textarea {
-    color: #193441;
-}
-
-#status_submit {
-    background-color: #C15D42;
-    color: #FCFFF5;
-    }
-
-#status_submit:hover {
-    background-color: #904632;
-    }
-
-#content .subscribe .submit, #content .unsubscribe .submit, #remotesubscribe .button, #remotesubscribe {
-    background-color: #c15d42;
-    color: #fcfff5;
-    }
-
-#profiles {
-    border-top: 1px solid #D8E2D7;
-    }
-
-.profile_single {
-    border-bottom: 1px solid #D8E2D7;
-    }
-
-.profile_single:hover {
-    background-color: #F3F8EA;
-    }
-
-#messages {
-    border-top: 1px solid #D8E2D7;
-    }
-
-.message_single {
-    border-bottom: 1px solid #D8E2D7;
-    }
-
-.message_single:hover {
-    background-color: #F3F8EA;
-    }
diff --git a/theme/identica/ie6.css b/theme/identica/ie6.css
deleted file mode 100644 (file)
index a301f1d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-@charset "UTF-8";
-/* CSS Document */
-@import url(../default/ie6.css);
-#wrap {
-       background: url(bg-header.gif) repeat-x #FCFFF5;
-       }
-
-
-input.disfavor,
-input.favor {
-       text-indent:0px;
-       text-align:right;
-       padding-left:25px;
-}
\ No newline at end of file
diff --git a/theme/identica/ie7.css b/theme/identica/ie7.css
deleted file mode 100644 (file)
index cab6f40..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-@charset "UTF-8";
-/* CSS Document */
-@import url(../default/ie7.css);
diff --git a/theme/identica/login-bg.gif b/theme/identica/login-bg.gif
deleted file mode 100644 (file)
index e2d8377..0000000
Binary files a/theme/identica/login-bg.gif and /dev/null differ