Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x

This commit is contained in:
Evan Prodromou 2011-03-08 22:48:34 -05:00
commit 88e09d45c9
58 changed files with 296 additions and 163 deletions

View File

@ -256,7 +256,7 @@ class AtompubfavoritefeedAction extends ApiAuthAction
if (empty($notice)) {
// XXX: import from listed URL or something
// TRANS: Client exception thrown when trying favorite a notice without content.
throw new ClientException(_('Unknown note.'));
throw new ClientException(_('Unknown notice.'));
}
$old = Fave::pkeyGet(array('user_id' => $this->auth_user->id,

View File

@ -228,6 +228,9 @@ var SN = { // StatusNet
* will be extracted and copied in, replacing the original form.
* If there's no form, the first paragraph will be used.
*
* This will automatically be applied on the 'submit' event for
* any form with the 'ajax' class.
*
* @fixme can sometimes explode confusingly if returnd data is bogus
* @fixme error handling is pretty vague
* @fixme can't submit file uploads
@ -633,17 +636,6 @@ var SN = { // StatusNet
}
},
/**
* Setup function -- DOES NOT apply immediately.
*
* Sets up event handlers for favor/disfavor forms to submit via XHR.
* Uses 'live' rather than 'bind', so applies to future as well as present items.
*/
NoticeFavor: function() {
$('.form_favor').live('click', function() { SN.U.FormXHR($(this)); return false; });
$('.form_disfavor').live('click', function() { SN.U.FormXHR($(this)); return false; });
},
NoticeInlineReplyPlaceholder: function(notice) {
var list = notice.find('ul.threaded-replies');
var placeholder = $('<li class="notice-reply-placeholder">' +
@ -1271,7 +1263,7 @@ var SN = { // StatusNet
var profileLink = $('#nav_profile a').attr('href');
if (profileLink) {
var authorUrl = $(notice).find('.entry-title .author a.url').attr('href');
var authorUrl = $(notice).find('.vcard.author a.url').attr('href');
if (authorUrl == profileLink) {
if (action == 'all' || action == 'showstream') {
// Posts always show on your own friends and profile streams.
@ -1309,7 +1301,7 @@ var SN = { // StatusNet
*/
NoticeForm: function() {
if ($('body.user_in').length > 0) {
$('.'+SN.C.S.FormNotice).each(function() {
$('.ajax-notice').each(function() {
var form = $(this);
SN.U.NoticeLocationAttach(form);
SN.U.FormNoticeXHR(form);
@ -1331,7 +1323,6 @@ var SN = { // StatusNet
if (masterForm.length > 0) {
SN.C.I.NoticeFormMaster = document._importNode(masterForm[0], true);
}
SN.U.NoticeFavor();
SN.U.NoticeRepeat();
SN.U.NoticeReply();
SN.U.NoticeInlineReplySetup();
@ -1348,12 +1339,6 @@ var SN = { // StatusNet
*/
EntityActions: function() {
if ($('body.user_in').length > 0) {
$('.form_user_subscribe').live('click', function() { SN.U.FormXHR($(this)); return false; });
$('.form_user_unsubscribe').live('click', function() { SN.U.FormXHR($(this)); return false; });
$('.form_group_join').live('click', function() { SN.U.FormXHR($(this)); return false; });
$('.form_group_leave').live('click', function() { SN.U.FormXHR($(this)); return false; });
$('.form_user_nudge').live('click', function() { SN.U.FormXHR($(this)); return false; });
SN.U.NewDirectMessage();
}
},
@ -1380,6 +1365,16 @@ var SN = { // StatusNet
});
},
/**
* Set up any generic 'ajax' form so it submits via AJAX with auto-replacement.
*/
AjaxForms: function() {
$('form.ajax').live('submit', function() {
SN.U.FormXHR($(this));
return false;
});
},
/**
* Add logic to any file upload forms to handle file size limits,
* on browsers that support basic FileAPI.
@ -1416,6 +1411,7 @@ var SN = { // StatusNet
* don't start them loading until after DOM-ready time!
*/
$(document).ready(function(){
SN.Init.AjaxForms();
SN.Init.UploadForms();
if ($('.'+SN.C.S.FormNotice).length > 0) {
SN.Init.NoticeForm();

2
js/util.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -147,6 +147,6 @@ class DisfavorForm extends Form
*/
function formClass()
{
return 'form_disfavor';
return 'form_disfavor ajax';
}
}

View File

@ -146,6 +146,6 @@ class FavorForm extends Form
*/
function formClass()
{
return 'form_favor';
return 'form_favor ajax';
}
}

View File

@ -172,7 +172,13 @@ class Form extends Widget
}
/**
* Class of the form.
* Class of the form. May include space-separated list of multiple classes.
*
* If 'ajax' is included, the form will automatically be submitted with
* an 'ajax=1' parameter added, and the resulting form or error message
* will replace the form after submission.
*
* It's up to you to make sure that the target action supports this!
*
* @return string the form's class
*/

View File

@ -88,7 +88,7 @@ class JoinForm extends Form
function formClass()
{
return 'form_group_join';
return 'form_group_join ajax';
}
/**

View File

@ -88,7 +88,7 @@ class LeaveForm extends Form
function formClass()
{
return 'form_group_leave';
return 'form_group_leave ajax';
}
/**

View File

@ -132,7 +132,7 @@ class NoticeForm extends Form
function formClass()
{
return 'form_notice';
return 'form_notice ajax-notice';
}
/**
@ -187,12 +187,14 @@ class NoticeForm extends Form
if (common_config('attachments', 'uploads')) {
$this->out->hidden('MAX_FILE_SIZE', common_config('attachments', 'file_quota'));
// TRANS: Input label in notice form for adding an attachment.
$this->out->element('label', array('for' => 'notice_data-attach'),_('Attach'));
$this->out->element('input', array('id' => 'notice_data-attach',
$this->out->elementStart('label', array('class' => 'notice_data-attach'));
$this->out->text(_('Attach'));
$this->out->element('input', array('class' => 'notice_data-attach',
'type' => 'file',
'name' => 'attach',
// TRANS: Title for input field to attach a file to a notice.
'title' => _('Attach a file.')));
$this->out->elementEnd('label');
}
if ($this->action) {
$this->out->hidden('notice_return-to', $this->action, 'returnto');
@ -210,6 +212,7 @@ class NoticeForm extends Form
// @fixme checkbox method allows no way to change the id without changing the name
//$this->out->checkbox('notice_data-geo', _('Share my location'), true);
$this->out->elementStart('label', 'notice_data-geo');
$this->out->element('input', array(
'name' => 'notice_data-geo',
'type' => 'checkbox',
@ -218,11 +221,10 @@ class NoticeForm extends Form
'checked' => true, // ?
));
$this->out->text(' ');
$this->out->element('label', array('class' => 'notice_data-geo',
'for' => $this->id() . '-notice_data-geo'),
// TRANS: Field label to add location to a notice.
_('Share my location'));
// TRANS: Field label to add location to a notice.
$this->out->text(_('Share my location'));
$this->out->elementEnd('label');
$this->out->elementEnd('div');
// TRANS: Text to not share location for a notice in notice form.
$share_disable_text = _('Do not share my location');

View File

@ -89,7 +89,7 @@ class NudgeForm extends Form
function formClass()
{
return 'form_user_nudge';
return 'form_user_nudge ajax';
}

View File

@ -89,7 +89,7 @@ class SubscribeForm extends Form
function formClass()
{
return 'form_user_subscribe';
return 'form_user_subscribe ajax';
}

View File

@ -89,7 +89,7 @@ class UnsubscribeForm extends Form
function formClass()
{
return 'form_user_unsubscribe';
return 'form_user_unsubscribe ajax';
}
/**

View File

@ -616,12 +616,15 @@ class BookmarkPlugin extends MicroAppPlugin
'height' => AVATAR_MINI_SIZE,
'alt' => $profile->getBestName()));
$out->raw('&nbsp;');
$out->raw('&#160;'); // avoid &nbsp; for AJAX XML compatibility
$out->elementStart('span', 'vcard author'); // hack for belongsOnTimeline; JS needs to be able to find the author
$out->element('a',
array('href' => $profile->profileurl,
array('class' => 'url',
'href' => $profile->profileurl,
'title' => $profile->getBestName()),
$profile->nickname);
$out->elementEnd('span');
}
function entryForm($out)

View File

@ -94,7 +94,7 @@ class BookmarkForm extends Form
function formClass()
{
return 'form_settings';
return 'form_settings ajax-notice';
}
/**

View File

@ -125,6 +125,9 @@ class NewbookmarkAction extends Action
function newBookmark()
{
if ($this->boolean('ajax')) {
StatusNet::setApi(true);
}
try {
if (empty($this->title)) {
throw new ClientException(_('Bookmark must have a title.'));
@ -147,7 +150,37 @@ class NewbookmarkAction extends Action
return;
}
common_redirect($saved->bestUrl(), 303);
if ($this->boolean('ajax')) {
header('Content-Type: text/xml;charset=utf-8');
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
// TRANS: Page title after sending a notice.
$this->element('title', null, _('Notice posted'));
$this->elementEnd('head');
$this->elementStart('body');
$this->showNotice($saved);
$this->elementEnd('body');
$this->elementEnd('html');
} else {
common_redirect($saved->bestUrl(), 303);
}
}
/**
* Output a notice
*
* Used to generate the notice code for Ajax results.
*
* @param Notice $notice Notice that was saved
*
* @return void
*/
function showNotice($notice)
{
class_exists('NoticeList'); // @fixme hack for autoloader
$nli = new NoticeListItem($notice, $this);
$nli->show();
}
/**

View File

@ -108,7 +108,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
#form_notice label[for="notice_data-attach"] {
display:none;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;

View File

@ -166,7 +166,9 @@ class Poll extends Managed_DataObject
$raw = array();
while ($pr->fetch()) {
$raw[$pr->selection] = $pr->votes;
// Votes list 1-based
// Array stores 0-based
$raw[$pr->selection - 1] = $pr->votes;
}
$counts = array();
@ -216,6 +218,7 @@ class Poll extends Managed_DataObject
array('id' => $p->id));
}
common_log(LOG_DEBUG, "Saving poll: $p->id $p->uri");
$p->insert();
$content = sprintf(_m('Poll: %s %s'),

View File

@ -127,6 +127,9 @@ class NewPollAction extends Action
function newPoll()
{
if ($this->boolean('ajax')) {
StatusNet::setApi(true);
}
try {
if (empty($this->question)) {
throw new ClientException(_('Poll must have a question.'));
@ -147,7 +150,37 @@ class NewPollAction extends Action
return;
}
common_redirect($saved->bestUrl(), 303);
if ($this->boolean('ajax')) {
header('Content-Type: text/xml;charset=utf-8');
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
// TRANS: Page title after sending a notice.
$this->element('title', null, _('Notice posted'));
$this->elementEnd('head');
$this->elementStart('body');
$this->showNotice($saved);
$this->elementEnd('body');
$this->elementEnd('html');
} else {
common_redirect($saved->bestUrl(), 303);
}
}
/**
* Output a notice
*
* Used to generate the notice code for Ajax results.
*
* @param Notice $notice Notice that was saved
*
* @return void
*/
function showNotice($notice)
{
class_exists('NoticeList'); // @fixme hack for autoloader
$nli = new NoticeListItem($notice, $this);
$nli->show();
}
/**
@ -163,7 +196,7 @@ class NewPollAction extends Action
}
$form = new NewPollForm($this,
$this->questions,
$this->question,
$this->options);
$form->show();

View File

@ -83,7 +83,7 @@ class NewpollForm extends Form
function formClass()
{
return 'form_settings';
return 'form_settings ajax-notice';
}
/**

10
plugins/Poll/poll.css Normal file
View File

@ -0,0 +1,10 @@
.poll-block {
float: left;
height: 16px;
background: #8aa;
margin-right: 8px;
}
.poll-winner {
background: #4af;
}

View File

@ -83,7 +83,7 @@ class PollResponseForm extends Form
function formClass()
{
return 'form_settings';
return 'form_settings ajax';
}
/**

View File

@ -83,7 +83,7 @@ class PollResultForm extends Form
function formClass()
{
return 'form_settings';
return 'form_settings ajax';
}
/**
@ -109,14 +109,33 @@ class PollResultForm extends Form
$out = $this->out;
$counts = $poll->countResponses();
$out->element('p', 'poll-question', $poll->question);
$out->elementStart('ul', 'poll-options');
foreach ($poll->getOptions() as $i => $opt) {
$out->elementStart('li');
$out->text($counts[$i] . ' ' . $opt);
$out->elementEnd('li');
$width = 200;
$max = max($counts);
if ($max == 0) {
$max = 1; // quick hack :D
}
$out->elementEnd('ul');
$out->element('p', 'poll-question', $poll->question);
$out->elementStart('table', 'poll-results');
foreach ($poll->getOptions() as $i => $opt) {
$w = intval($counts[$i] * $width / $max) + 1;
$out->elementStart('tr');
$out->elementStart('td');
$out->text($opt);
$out->elementEnd('td');
$out->elementStart('td');
$out->element('span', array('class' => 'poll-block',
'style' => "width: {$w}px"),
"\xc2\xa0"); // nbsp
$out->text($counts[$i]);
$out->elementEnd('td');
$out->elementEnd('tr');
}
$out->elementEnd('table');
}
/**

View File

@ -145,7 +145,22 @@ class RespondPollAction extends Action
return;
}
common_redirect($this->poll->bestUrl(), 303);
if ($this->arg('ajax')) {
header('Content-Type: text/xml;charset=utf-8');
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
// TRANS: Page title after sending a poll response.
$this->element('title', null, _m('Poll results'));
$this->elementEnd('head');
$this->elementStart('body');
$form = new PollResultForm($this->poll, $this);
$form->show();
$this->elementEnd('body');
$this->elementEnd('html');
} else {
common_redirect($this->poll->bestUrl(), 303);
}
}
/**

View File

@ -108,4 +108,21 @@ class ShowPollAction extends ShownoticeAction
$this->poll->question);
}
/**
* @fixme combine the notice time with poll update time
*/
function lastModified()
{
return Action::lastModified();
}
/**
* @fixme combine the notice time with poll update time
*/
function etag()
{
return Action::etag();
}
}

View File

@ -17,13 +17,13 @@ max-width:451px;
display:none;
}
.realtime-popup #form_notice label[for=notice_data-attach],
.realtime-popup #form_notice #notice_data-attach,
.realtime-popup #form_notice label.notice_data-attach,
.realtime-popup #form_notice input.notice_data-attach,
.realtime-popup #form_notice label.notice_data-geo {
top:0;
}
.realtime-popup #form_notice #notice_data-attach {
.realtime-popup #form_notice input.notice_data-attach {
left:auto;
right:0;
}

View File

@ -180,21 +180,6 @@ class UserFlagPlugin extends Plugin
}
}
/**
* Initialize any flagging buttons on the page
*
* @param Action $action action being shown
*
* @return boolean hook result
*/
function onEndShowScripts($action)
{
$action->inlineScript('if ($(".form_entity_flag").length > 0) { '.
'$(".form_entity_flag").bind("click", function() {'.
'SN.U.FormXHR($(this)); return false; }); }');
return true;
}
/**
* Check whether a user has one of our defined rights
*

View File

@ -54,7 +54,7 @@ class FlagProfileForm extends ProfileActionForm
*/
function formClass()
{
return 'form_entity_flag';
return 'form_entity_flag ajax';
}
/**

View File

@ -597,19 +597,19 @@ float:left;
font-size:1.3em;
margin-bottom:7px;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
position:absolute;
top:25px;
right:10.5%;
cursor:pointer;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
text-indent:-9999px;
width:16px;
height:16px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
padding:0;
height:16px;
}

View File

@ -462,11 +462,11 @@ float:left;
font-size:1.3em;
margin-bottom:7px;
}
#form_notice label[for=notice_data-attach] {
#form_notice label.notice_data-attach {
text-indent:-9999px;
}
#form_notice label[for=notice_data-attach],
#form_notice #notice_data-attach {
#form_notice label.notice_data-attach,
#form_notice input.notice_data-attach {
position:absolute;
top:25px;
right:49px;
@ -474,7 +474,7 @@ width:16px;
height:16px;
cursor:pointer;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
text-indent:-279px;
}
#form_notice #notice_submit label {

View File

@ -172,14 +172,14 @@ color:#333333;
#form_notice.warning .count {
color:#000000;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
background-position:0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
opacity:0;
}
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,

View File

@ -114,8 +114,8 @@ address {
height: 54px;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
top: 27px;
}

View File

@ -61,7 +61,7 @@ line-height:auto;
color:#FFFFFF;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}

View File

@ -94,7 +94,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
.form_notice label[for="notice_data-attach"] {
display:none;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;

View File

@ -161,8 +161,8 @@ address {
border-radius: 6px;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
top: 27px;
right: 86px;
}
@ -594,7 +594,7 @@ padding-right:0;
right: 6px !important;
}
.realtime-popup .form_notice label[for=notice_data-attach], .realtime-popup .form_notice #notice_data-attach {
.realtime-popup .form_notice label.notice_data-attach, .realtime-popup .form_notice input.notice_data-attach {
right: 74px;
top: 3px !important;
}

View File

@ -65,7 +65,7 @@ line-height:auto;
color:#FFFFFF;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}

View File

@ -99,7 +99,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
.form_notice label[for="notice_data-attach"] {
display:none;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;

View File

@ -493,19 +493,19 @@ float:left;
font-size:1.3em;
margin-bottom:7px;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
position:absolute;
top:25px;
right:10.5%;
cursor:pointer;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
text-indent:-9999px;
width:16px;
height:16px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
padding:0;
height:16px;
}
@ -1602,7 +1602,7 @@ background:none;
}
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,
@ -1787,10 +1787,10 @@ color:#000000;
#form_notice.warning .count {
color:#000000;
}
#form_notice label[for=notice_data-attach] {
#form_notice label.notice_data-attach {
background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no-repeat 0 45%;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
opacity:0;
}

View File

@ -34,7 +34,7 @@ height:16px;
width:16px;
display:block;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
filter: alpha(opacity = 0);
left:33.5%;
}

View File

@ -152,14 +152,14 @@ color:#333333;
.entity_actions .dialogbox input {
color:#000000;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
background-position:0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
opacity:0;
}
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,

View File

@ -16,7 +16,7 @@ background-color:#C8D1D5;
.form_notice .count + label {
background:transparent url(../../base/images/icons/icons-01.gif) no-repeat 0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}
.notice-options form.form_favor input.submit {

View File

@ -153,14 +153,14 @@ color:#333333;
.entity_actions .dialogbox input {
color:#000000;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
background-position:0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
opacity:0;
}
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,

View File

@ -16,7 +16,7 @@ background-color:#D9DADB;
.form_notice .count + label {
background:transparent url(../../base/images/icons/icons-01.gif) no-repeat 0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}
.notice-options form.form_favor input.submit {

View File

@ -234,7 +234,7 @@ p.instructions {
/*-- FORMS --*/
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,
@ -292,7 +292,7 @@ button.minimize,
.form_notice label.notice_data-geo.checked {
background-position:0 -1846px;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
background-position:0 -328px;
}
button.close {
@ -937,19 +937,19 @@ z-index:2;
.form_notice label {
float:left;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
position:absolute;
top:2em;
right: 3em;
cursor:pointer;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
text-indent:-9999px;
width:16px;
height:16px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
opacity: 0;
padding:0;
height:1.6em;

View File

@ -45,7 +45,7 @@ padding:0 4px;
background:transparent url(../images/icons/icons-01.png) no-repeat 0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}
.form_notice .notice_data-geo_wrap label {

View File

@ -114,7 +114,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
#form_notice label[for="notice_data-attach"] {
display:none;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;

View File

@ -160,8 +160,7 @@ address {
border-radius: 6px;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach {
top: 27px;
right: 86px;
}
@ -434,8 +433,8 @@ td.entity_profile { /* cf directory table */
#entity_remote_subscribe .dialogbox {
border: 1px solid #7B4E82;
border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
}
@ -612,7 +611,7 @@ padding-right:0;
right: 6px !important;
}
.realtime-popup .form_notice label[for=notice_data-attach], .realtime-popup .form_notice #notice_data-attach {
.realtime-popup .form_notice label.notice_data-attach, .realtime-popup .form_notice input.notice_data-attach {
right: 74px;
top: 3px !important;
}
@ -637,8 +636,8 @@ padding-right:0;
}
.bookmark-notice-count {
border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
padding: 1px 6px;
font-size: 1.2em;
@ -676,8 +675,8 @@ padding-right:0;
}
ul.bookmark-tags a {
border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
padding: 1px 6px;
background: #f2f2f2;
@ -761,8 +760,8 @@ ul.bookmark-tags a:hover {
/* Onboard specific styles */
.onboard-flash {
border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
font-size: 1.1em;
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.5);

View File

@ -22,11 +22,11 @@ display:block;
width: 106px;
max-width: 106px;
}
.form_notice #notice_data-attach_selected,
.form_notice input.notice_data-attach_selected,
.form_notice #notice_data-geo_selected {
width:78.75%;
}
.form_notice #notice_data-attach_selected button,
.form_notice input.notice_data-attach_selected button,
.form_notice #notice_data-geo_selected button {
padding:0 4px;
}
@ -65,7 +65,7 @@ line-height:auto;
color:#FFFFFF;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}

View File

@ -99,7 +99,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
.form_notice label[for="notice_data-attach"] {
display:none;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;

View File

@ -450,19 +450,24 @@ float:left;
font-size:1.3em;
margin-bottom:7px;
}
#form_notice label[for=notice_data-attach],
#form_notice #notice_data-attach {
#form_notice label.notice_data-attach,
#form_notice input.notice_data-attach {
position:absolute;
top:25px;
cursor:pointer;
}
#form_notice label[for=notice_data-attach] {
#form_notice label.notice_data-attach {
top:25px;
}
#form_notice input.notice_data-attach {
top:0;
}
#form_notice label.notice_data-attach {
text-indent:-9999px;
left:394px;
width:16px;
height:16px;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
left:183px;
padding:0;
height:16px;

View File

@ -192,14 +192,14 @@ color:#333333;
#form_notice.warning .count {
color:#000000;
}
#form_notice label[for=notice_data-attach] {
#form_notice label.notice_data-attach {
background-position:0 -328px;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
opacity:0;
}
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,

View File

@ -226,21 +226,28 @@ address .poweredby {
color: #333 !important;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
position:absolute;
top: 31px;
right: 88px;
cursor:pointer;
}
.form_notice label.notice_data-attach {
top: 31px;
right: 88px;
}
.form_notice input.notice_data-attach {
/* Positioned inside the label */
top: 0;
right: 0;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
text-indent:-9999px;
width:16px;
height:16px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
padding:0;
height:16px;
}
@ -348,7 +355,7 @@ address .poweredby {
opacity: 1;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
opacity:0;
}
@ -1724,7 +1731,7 @@ body.realtime-popup {
width: 86px;
}
.realtime-popup .form_notice label[for=notice_data-attach], .form_notice #notice_data-attach {
.realtime-popup .form_notice label.notice_data-attach {
right: 70px;
}
@ -1734,7 +1741,7 @@ body.realtime-popup {
/* icons */
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,
@ -1921,7 +1928,7 @@ background-position:0 -1648px;
#new_group a {
background-position:0 -1054px;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
background-position: 0 -328px;
}
.form_notice label.notice_data-geo {

View File

@ -61,7 +61,7 @@ line-height:auto;
color:#FFFFFF;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}

View File

@ -230,8 +230,8 @@ h6 {font-size: 1em;}
border: 1px solid #9495b7;
}
.form_notice label[for=notice_data-attach],
.form_notice #notice_data-attach {
.form_notice label.notice_data-attach,
.form_notice input.notice_data-attach {
top: 27px;
right: 86px;
}

View File

@ -63,7 +63,7 @@ line-height:auto;
color:#FFFFFF;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}

View File

@ -99,7 +99,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
.form_notice label[for="notice_data-attach"] {
display:none;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;

View File

@ -328,15 +328,15 @@ a,
color:#000000;
}
.form_notice label[for=notice_data-attach] {
.form_notice label.notice_data-attach {
background-position:0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
opacity:0;
}
.form_notice label[for=notice_data-attach],
.form_notice label.notice_data-attach,
#export_data li a.rss,
#export_data li a.atom,
#export_data li a.foaf,

View File

@ -9,7 +9,7 @@ background-color:#C8D1D5;
.form_notice .count + label {
background:transparent url(../../base/images/icons/icons-01.gif) no-repeat 0 -328px;
}
.form_notice #notice_data-attach {
.form_notice input.notice_data-attach {
filter: alpha(opacity=0);
}
.notice-options form.form_favor input.submit {

View File

@ -109,7 +109,7 @@ iPhone/iPod Touch, Android, Opera Mini Simulator
#form_notice label[for="notice_data-attach"] {
display:none;
}
#form_notice #notice_data-attach {
#form_notice input.notice_data-attach {
position:static;
clear:both;
width:65%;