Merge branch '0.7.x' of git@gitorious.org:laconica/dev into 0.7.x

This commit is contained in:
Evan Prodromou 2009-03-04 11:05:58 -08:00
commit 8cc19b90ee
18 changed files with 223 additions and 97 deletions

View File

@ -88,9 +88,18 @@ StartShowLocalNavBlock: Showing the local nav menu
EndShowLocalNavBlock: At the end of the local nav menu
- $action: the current action
StartShowHTML: Chance to set document content type, charset, language, DOCTYPE and html element properties
StartShowHTML: Chance to set document headers (e.g., content type, charset, language), DOCTYPE and html element properties
- $action: the current action
EndShowHTML: Showing after the html element
- $action: the current action
StartPublicGroupNav: Showing the public group nav menu
- $action: the current action
EndPublicGroupNav: At the end of the public group nav menu
- $action: the current action
RouterInitialized: After the router instance has been initialized
- $m: the Net_URL_Mapper that has just been set up

View File

@ -324,11 +324,13 @@ class AvatarsettingsAction extends AccountSettingsAction
return;
}
// If image is not being cropped assume pos & dimensions of original.
$file_d = ($filedata['width'] > $filedata['height'])
? $filedata['height'] : $filedata['width'];
$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;
$dest_w = $this->arg('avatar_crop_w') ? $this->arg('avatar_crop_w'):$filedata['width'];
$dest_h = $this->arg('avatar_crop_h') ? $this->arg('avatar_crop_h'):$filedata['height'];
$dest_w = $this->arg('avatar_crop_w') ? $this->arg('avatar_crop_w'):$file_d;
$dest_h = $this->arg('avatar_crop_h') ? $this->arg('avatar_crop_h'):$file_d;
$size = min($dest_w, $dest_h, MAX_ORIGINAL);
$user = common_current_user();

View File

@ -169,8 +169,14 @@ class FavoritedAction extends Action
function showContent()
{
if (common_config('db', 'type') == 'pgsql') {
$weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))';
} else {
$weightexpr='sum(exp(-(now() - fave.modified) / %s))';
}
$qry = 'SELECT notice.*, '.
'sum(exp(-(now() - fave.modified) / %s)) as weight ' .
$weightexpr . ' as weight ' .
'FROM notice JOIN fave ON notice.id = fave.notice_id ' .
'GROUP BY fave.notice_id ' .
'ORDER BY weight DESC';

View File

@ -152,6 +152,11 @@ class NewnoticeAction extends Action
}
$replyto = $this->trimmed('inreplyto');
#If an ID of 0 is wrongly passed here, it will cause a database error,
#so override it...
if ($replyto == 0) {
$replyto = 'false';
}
$notice = Notice::saveNew($user->id, $content, 'web', 1,
($replyto == 'false') ? null : $replyto);

View File

@ -585,7 +585,7 @@ class Notice extends Memcached_DataObject
$inbox = new Notice_inbox();
$UT = common_config('db','type')=='pgsql'?'"user"':'user';
$qry = 'INSERT INTO notice_inbox (user_id, notice_id, created) ' .
"SELECT $UT.id, " . $this->id . ', "' . $this->created . '" ' .
"SELECT $UT.id, " . $this->id . ", '" . $this->created . "' " .
"FROM $UT JOIN subscription ON $UT.id = subscription.subscriber " .
'WHERE subscription.subscribed = ' . $this->profile_id . ' ' .
'AND NOT EXISTS (SELECT user_id, notice_id ' .
@ -655,7 +655,7 @@ class Notice extends Memcached_DataObject
$inbox = new Notice_inbox();
$UT = common_config('db','type')=='pgsql'?'"user"':'user';
$qry = 'INSERT INTO notice_inbox (user_id, notice_id, created, source) ' .
"SELECT $UT.id, " . $this->id . ', "' . $this->created . '", 2 ' .
"SELECT $UT.id, " . $this->id . ", '" . $this->created . "', 2 " .
"FROM $UT JOIN group_member ON $UT.id = group_member.profile_id " .
'WHERE group_member.group_id = ' . $group->id . ' ' .
'AND NOT EXISTS (SELECT user_id, notice_id ' .

View File

@ -34,6 +34,9 @@ $config['site']['path'] = 'laconica';
# If you want logging sent to a file instead of syslog
#$config['site']['logfile'] = '/tmp/laconica.log';
# Enables extra log information, for example full details of PEAR DB errors
#$config['site']['logdebug'] = true;
# This is a PEAR DB DSN, see http://pear.php.net/manual/en/package.database.db.intro-dsn.php
# Set it to match your actual database

View File

@ -8,7 +8,7 @@ create table profile (
homepage varchar(255) /* comment 'identifying URL' */,
bio varchar(140) /* comment 'descriptive biography' */,
location varchar(255) /* comment 'physical location' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
textsearch tsvector
@ -23,7 +23,7 @@ create table avatar (
mediatype varchar(32) not null /* comment 'file type' */,
filename varchar(255) null /* comment 'local filename, if local' */,
url varchar(255) unique /* comment 'avatar location' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key(profile_id, width, height)
@ -34,7 +34,7 @@ create table sms_carrier (
id serial primary key /* comment 'primary key for SMS carrier' */,
name varchar(64) unique /* comment 'name of the carrier' */,
email_pattern varchar(255) not null /* comment 'sprintf pattern for making an email address from a phone number' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified ' */
);
@ -50,6 +50,7 @@ create table "user" (
emailnotifyfav integer default 1 /* comment 'Notify by email of favorites' */,
emailnotifynudge integer default 1 /* comment 'Notify by email of nudges' */,
emailnotifymsg integer default 1 /* comment 'Notify by email of direct messages' */,
emailnotifyattn integer default 1 /* command 'Notify by email of @-replies' */,
emailmicroid integer default 1 /* comment 'whether to publish email microid' */,
language varchar(50) /* comment 'preferred language' */,
timezone varchar(50) /* comment 'timezone' */,
@ -68,7 +69,7 @@ create table "user" (
autosubscribe integer default 0 /* comment 'automatically subscribe to users who subscribe to us' */,
urlshorteningservice varchar(50) default 'ur1.ca' /* comment 'service to use for auto-shortening URLs' */,
inboxed integer default 0 /* comment 'has an inbox been created for this user?' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -81,7 +82,7 @@ create table remote_profile (
uri varchar(255) unique /* comment 'universally unique identifier, usually a tag URI' */,
postnoticeurl varchar(255) /* comment 'URL we use for posting notices' */,
updateprofileurl varchar(255) /* comment 'URL we use for updates to this profile' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -92,7 +93,7 @@ create table subscription (
sms integer default 1 /* comment 'deliver sms messages' */,
token varchar(255) /* comment 'authorization token' */,
secret varchar(255) /* comment 'token secret' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key (subscriber, subscribed)
@ -108,7 +109,7 @@ create table notice (
content varchar(140) /* comment 'update content' */,
rendered text /* comment 'HTML version of the content' */,
url varchar(255) /* comment 'URL of any attachment (image, video, bookmark, whatever)' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
reply_to integer /* comment 'notice replied to (usually a guess)' */ references notice (id) ,
is_local integer default 0 /* comment 'notice was generated by a user' */,
@ -123,7 +124,7 @@ create table notice_source (
code varchar(32) primary key not null /* comment 'source code' */,
name varchar(255) not null /* comment 'name of the source' */,
url varchar(255) not null /* comment 'url to link to' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -131,7 +132,7 @@ create table reply (
notice_id integer not null /* comment 'notice that is the reply' */ references notice (id) ,
profile_id integer not null /* comment 'profile replied to' */ references profile (id) ,
modified timestamp not null default 'now' /* comment 'date this record was modified' */,
modified timestamp /* comment 'date this record was modified' */,
replied_id integer /* comment 'notice replied to (not used, see notice.reply_to)' */,
primary key (notice_id, profile_id)
@ -145,7 +146,7 @@ create table fave (
notice_id integer not null /* comment 'notice that is the favorite' */ references notice (id),
user_id integer not null /* comment 'user who likes this notice' */ references "user" (id) ,
modified timestamp not null /* comment 'date this record was modified' */,
modified timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was modified' */,
primary key (notice_id, user_id)
);
@ -159,7 +160,7 @@ create table consumer (
consumer_key varchar(255) primary key /* comment 'unique identifier, root URL' */,
seed char(32) not null /* comment 'seed for new tokens by this consumer' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -170,7 +171,7 @@ create table token (
type integer not null default 0 /* comment 'request or access' */,
state integer default 0 /* comment 'for requests; 0 = initial, 1 = authorized, 2 = used' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key (consumer_key, tok)
@ -182,7 +183,7 @@ create table nonce (
nonce char(32) not null /* comment 'nonce' */,
ts timestamp not null /* comment 'timestamp sent' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key (consumer_key, tok, nonce),
@ -195,7 +196,7 @@ create table user_openid (
canonical varchar(255) primary key /* comment 'Canonical true URL' */,
display varchar(255) not null unique /* comment 'URL for viewing, may be different from canonical' */,
user_id integer not null /* comment 'user owning this URL' */ references "user" (id) ,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -241,7 +242,7 @@ create table queue_item (
notice_id integer not null /* comment 'notice queued' */ references notice (id) ,
transport varchar(8) not null /* comment 'queue for what? "email", "jabber", "sms", "irc", ...' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
claimed timestamp /* comment 'date this item was claimed' */,
primary key (notice_id, transport)
@ -253,7 +254,7 @@ create index queue_item_created_idx on queue_item using btree(created);
create table notice_tag (
tag varchar( 64 ) not null /* comment 'hash tag associated with this notice' */,
notice_id integer not null /* comment 'notice tagged' */ references notice (id) ,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
primary key (tag, notice_id)
);
@ -265,7 +266,7 @@ create table foreign_service (
id int not null primary key /* comment 'numeric key for service' */,
name varchar(32) not null unique /* comment 'name of the service' */,
description varchar(255) /* comment 'description' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -274,7 +275,7 @@ create table foreign_user (
service int not null /* comment 'foreign key to service' */ references foreign_service(id) ,
uri varchar(255) not null unique /* comment 'identifying URI' */,
nickname varchar(255) /* comment 'nickname on foreign service' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key (id, service)
@ -288,8 +289,8 @@ create table foreign_link (
noticesync int not null default 1 /* comment 'notice synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies' */,
friendsync int not null default 2 /* comment 'friend synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming */,
profilesync int not null default 1 /* comment 'profile synchronization, bit 1 = sync outgoing, bit 2 = sync incoming' */,
created timestamp not null /* comment 'date this record was created' */,
modified timestamp not null /* comment 'date this record was modified' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key (user_id,foreign_id,service)
);
@ -299,7 +300,7 @@ create table foreign_subscription (
service int not null /* comment 'service where relationship happens' */ references foreign_service(id) ,
subscriber int not null /* comment 'subscriber on foreign service' */ ,
subscribed int not null /* comment 'subscribed user' */ ,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
primary key (service, subscriber, subscribed)
);
@ -311,7 +312,7 @@ create table invitation (
user_id int not null /* comment 'who sent the invitation' */ references "user" (id),
address varchar(255) not null /* comment 'invitation sent to' */,
address_type varchar(8) not null /* comment 'address type ("email", "jabber", "sms") '*/,
created timestamp not null /* comment 'date this record was created' */
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */
);
create index invitation_address_idx on invitation using btree(address,address_type);
@ -326,7 +327,7 @@ create table message (
content varchar(140) /* comment 'message content' */,
rendered text /* comment 'HTML version of the content' */,
url varchar(255) /* comment 'URL of any attachment (image, video, bookmark, whatever)' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
source varchar(32) /* comment 'source of comment, like "web", "im", or "clientname"' */
@ -339,7 +340,7 @@ create table notice_inbox (
user_id integer not null /* comment 'user receiving the message' */ references "user" (id),
notice_id integer not null /* comment 'notice received' */ references notice (id),
created timestamp not null /* comment 'date the notice was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date the notice was created' */,
source integer default 1 /* comment 'reason it is in the inbox; 1=subscription' */,
primary key (user_id, notice_id)
@ -382,7 +383,7 @@ create table user_group (
stream_logo varchar(255) /* comment 'stream-sized logo' */,
mini_logo varchar(255) /* comment 'mini logo' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
@ -394,7 +395,7 @@ create table group_member (
profile_id integer not null /* comment 'foreign key to profile table' */ references profile (id),
is_admin integer default 0 /* comment 'is this user an admin?' */,
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
primary key (group_id, profile_id)
@ -405,7 +406,7 @@ create table related_group (
group_id integer not null /* comment 'foreign key to user_group' */ references user_group (id) ,
related_group_id integer not null /* comment 'foreign key to user_group' */ references user_group (id),
created timestamp not null /* comment 'date this record was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
primary key (group_id, related_group_id)
@ -414,7 +415,7 @@ create table related_group (
create table group_inbox (
group_id integer not null /* comment 'group receiving the message' references user_group (id) */,
notice_id integer not null /* comment 'notice received' references notice (id) */,
created timestamp not null /* comment 'date the notice was created' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date the notice was created' */,
primary key (group_id, notice_id)
);

View File

@ -43,7 +43,11 @@ function handleError($error)
return;
}
common_log(LOG_ERR, "PEAR error: " . $error->getMessage());
$logmsg = "PEAR error: " . $error->getMessage();
if(common_config('site', 'logdebug')) {
$logmsg .= " : ". $error->getDebugInfo();
}
common_log(LOG_ERR, $logmsg);
$msg = sprintf(_('The database for %s isn\'t responding correctly, '.
'so the site won\'t work properly. '.
'The site admins probably know about the problem, '.

View File

@ -37,10 +37,3 @@
$('#avatar_crop_w').val(c.w);
$('#avatar_crop_h').val(c.h);
};
function checkCoords() {
if (parseInt($('#avatar_crop_w').val())) return true;
alert('Please select a crop region then press submit.');
return false;
};

View File

@ -73,6 +73,7 @@ $config =
'theme' => 'default',
'path' => $_path,
'logfile' => null,
'logdebug' => false,
'fancy' => false,
'locale_path' => INSTALLDIR.'/locale',
'language' => 'en_US',

View File

@ -45,7 +45,7 @@ class GroupsByMembersSection extends GroupSection
{
function getGroups()
{
$qry = 'SELECT user_group.*, count(*) as value ' .
$qry = 'SELECT user_group.id, count(*) as value ' .
'FROM user_group JOIN group_member '.
'ON user_group.id = group_member.group_id ' .
'GROUP BY user_group.id ' .

View File

@ -45,7 +45,7 @@ class GroupsByPostsSection extends GroupSection
{
function getGroups()
{
$qry = 'SELECT user_group.*, count(*) as value ' .
$qry = 'SELECT user_group.id, count(*) as value ' .
'FROM user_group JOIN group_inbox '.
'ON user_group.id = group_inbox.group_id ' .
'GROUP BY user_group.id ' .

View File

@ -58,8 +58,14 @@ class GroupTagCloudSection extends TagCloudSection
function getTags()
{
if (common_config('db', 'type') == 'pgsql') {
$weightexpr='sum(exp(-extract(epoch from (now() - notice_tag.created)) / %s))';
} else {
$weightexpr='sum(exp(-(now() - notice_tag.created) / %s))';
}
$qry = 'SELECT notice_tag.tag, '.
'sum(exp(-(now() - notice_tag.created)/%s)) as weight ' .
$weightexpr . ' as weight ' .
'FROM notice_tag JOIN notice ' .
'ON notice_tag.notice_id = notice.id ' .
'JOIN group_inbox on group_inbox.notice_id = notice.id ' .

View File

@ -58,8 +58,14 @@ class PersonalTagCloudSection extends TagCloudSection
function getTags()
{
$qry = 'SELECT notice_tag.tag, '.
'sum(exp(-(now() - notice_tag.created)/%s)) as weight ' .
if (common_config('db', 'type') == 'pgsql') {
$weightexpr='sum(exp(-extract(epoch from (now() - notice_tag.created)) / %s))';
} else {
$weightexpr='sum(exp(-(now() - notice_tag.created) / %s))';
}
$qry = 'SELECT notice_tag.tag, '.
$weightexpr . ' as weight ' .
'FROM notice_tag JOIN notice ' .
'ON notice_tag.notice_id = notice.id ' .
'WHERE notice.profile_id = %d ' .

View File

@ -48,10 +48,16 @@ class PopularNoticeSection extends NoticeSection
{
function getNotices()
{
$qry = 'SELECT notice.*, '.
'sum(exp(-(now() - fave.modified) / %s)) as weight ' .
if (common_config('db', 'type') == 'pgsql') {
$weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))';
} else {
$weightexpr='sum(exp(-(now() - fave.modified) / %s))';
}
$qry = 'SELECT notice.id, '.
$weightexpr . ' as weight ' .
'FROM notice JOIN fave ON notice.id = fave.notice_id ' .
'GROUP BY fave.notice_id ' .
'GROUP BY notice.id ' .
'ORDER BY weight DESC';
$offset = 0;

View File

@ -39,6 +39,7 @@ require_once INSTALLDIR.'/lib/widget.php';
* @category Output
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @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/
*
@ -73,23 +74,26 @@ class PublicGroupNav extends Widget
$this->action->elementStart('ul', array('class' => 'nav'));
$this->out->menuItem(common_local_url('public'), _('Public'),
_('Public timeline'), $action_name == 'public', 'nav_timeline_public');
if (Event::handle('StartPublicGroupNav', array($this))) {
$this->out->menuItem(common_local_url('public'), _('Public'),
_('Public timeline'), $action_name == 'public', 'nav_timeline_public');
$this->out->menuItem(common_local_url('groups'), _('Groups'),
_('User groups'), $action_name == 'groups', 'nav_groups');
$this->out->menuItem(common_local_url('groups'), _('Groups'),
_('User groups'), $action_name == 'groups', 'nav_groups');
$this->out->menuItem(common_local_url('publictagcloud'), _('Recent tags'),
_('Recent tags'), $action_name == 'publictagcloud', 'nav_recent-tags');
$this->out->menuItem(common_local_url('publictagcloud'), _('Recent tags'),
_('Recent tags'), $action_name == 'publictagcloud', 'nav_recent-tags');
if (count(common_config('nickname', 'featured')) > 0) {
$this->out->menuItem(common_local_url('featured'), _('Featured'),
_('Featured users'), $action_name == 'featured', 'nav_featured');
if (count(common_config('nickname', 'featured')) > 0) {
$this->out->menuItem(common_local_url('featured'), _('Featured'),
_('Featured users'), $action_name == 'featured', 'nav_featured');
}
$this->out->menuItem(common_local_url('favorited'), _('Popular'),
_("Popular notices"), $action_name == 'favorited', 'nav_timeline_favorited');
Event::handle('EndPublicGroupNav', array($this));
}
$this->out->menuItem(common_local_url('favorited'), _('Popular'),
_("Popular notices"), $action_name == 'favorited', 'nav_timeline_favorited');
$this->action->elementEnd('ul');
}
}

View File

@ -393,6 +393,8 @@ class Router
array('action' => 'showstream'),
array('nickname' => '[a-zA-Z0-9]{1,64}'));
Event::handle('RouterInitialized', array($m));
return $m;
}

View File

@ -2,14 +2,21 @@
*
* @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/
*/
/* Go linear. */
body {
font-size:2.5em;
}
#wrap {
width:95%;
}
#header,
#header address,
#site_nav_global_primary,
#anon_notice,
#site_nav_local_views .nav,
#form_notice,
@ -24,49 +31,120 @@
.notice .notice-options a,
.pagination,
.pagination .nav,
.aside .section { float: none; }
.aside .section {
float:none;
}
.notice-options .notice_reply,
.notice-options .notice_delete,
.notice-options .form_favor,
.notice-options .form_disfavor { position: static; }
.notice-options .form_disfavor {
position:static;
}
#form_notice,
#anon_notice,
#content_inner,
#footer { width: auto; }
#footer,
#form_notice .form_actions input.submit {
width:auto;
}
/* And liquid. */
#wrap { width: 95%; }
.form_settings label {
width:25%;
}
.form_settings .form_data p.form_guide {
margin-left:26%;
}
/* Make things bigger on smaller screens. */
body { font-size: 2em; }
.notices { font-size: 1.5em; }
#site_nav_global_primary {
width:75%;
}
#site_nav_global_primary, #site_nav_global_secondary { text-align: center; }
.entity_profile {
width:65%;
}
.entity_actions {
margin-left:0;
}
.notice div.entry-content { margin-left: 0; }
address { margin: 0; }
#form_notice,
#anon_notice {
clear:both;
}
#anon_notice, #footer { clear: left; font-size: .5em; }
#content,
#aside_primary {
width:96%;
padding-left:2%;
padding-right:2%;
}
#form_notice textarea { width: 80%; height: 5em; }
#form_notice .form_note { right: 20%; top: 6em; }
#form_notice .form_actions input.submit { width: auto; }
#site_notice {
position:static;
float:right;
clear:right;
width:75%;
margin-right:0;
margin-bottom:11px;
}
#content { padding: 18px 0; width: 100%; }
#content h1, #page_notice, #content_inner { padding: 0 18px; }
.notices .entry-title, .notices div.entry-content { width: 90%; }
.notice .author .photo { height: 4.5em; width: 4.5em; } /* about double physical size; TODO: do this scaling better */
.notice-options { position: absolute; top: 0; right: 0; padding-left: 7%; width: 3%; }
.notice-options .notice_delete a { float: left; } /* Works, but feels like it shouldn't. */
/* TODO: Make the icons of the notice options bigger. Probably with mobile-specific images. */
.pagination .nav { overflow: auto; }
.notices {
font-size:1.5em;
}
#aside_primary { margin: 10px 0 0 0; border: none; padding: 0; width: 100%; }
#popular_notices { float: none; width: auto; }
/* Columns for supplemental info. */
.aside .section { clear: none; padding: 9px; width: 45%; }
#top_groups_by_post { float: left; }
#featured_users { float: right; }
#export_data { display: none; }
#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;
}