forked from GNUsocial/gnu-social
trac670 trac689 Favorites (duplicate id, background image, JavaScript)
darcs-hash:20081115033549-eefa4-cfbca6f9c723aa63869c39d6851de7a7803f0703.gz
This commit is contained in:
parent
6a02f5d3c2
commit
322a79739d
@ -37,17 +37,17 @@ class DisfavorAction extends Action {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$token = $this->trimmed('token');
|
|
||||||
|
|
||||||
if (!$token || $token != common_session_token()) {
|
|
||||||
$this->client_error(_('There was a problem with your session token. Try again, please.'));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$id = $this->trimmed('notice');
|
$id = $this->trimmed('notice');
|
||||||
|
|
||||||
$notice = Notice::staticGet($id);
|
$notice = Notice::staticGet($id);
|
||||||
|
|
||||||
|
$token = $this->trimmed('token-'.$notice->id);
|
||||||
|
|
||||||
|
if (!$token || $token != common_session_token()) {
|
||||||
|
$this->client_error(_("There was a problem with your session token. Try again, please."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$fave = new Fave();
|
$fave = new Fave();
|
||||||
$fave->user_id = $this->id;
|
$fave->user_id = $this->id;
|
||||||
$fave->notice_id = $notice->id;
|
$fave->notice_id = $notice->id;
|
||||||
@ -69,7 +69,7 @@ class DisfavorAction extends Action {
|
|||||||
if ($this->boolean('ajax')) {
|
if ($this->boolean('ajax')) {
|
||||||
common_start_html('text/xml');
|
common_start_html('text/xml');
|
||||||
common_element_start('head');
|
common_element_start('head');
|
||||||
common_element('title', _('Favor'));
|
common_element('title', null, _('Add to favorites'));
|
||||||
common_element_end('head');
|
common_element_end('head');
|
||||||
common_element_start('body');
|
common_element_start('body');
|
||||||
common_favor_form($notice);
|
common_favor_form($notice);
|
||||||
|
@ -38,17 +38,18 @@ class FavorAction extends Action {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
# CSRF protection
|
|
||||||
|
|
||||||
$token = $this->trimmed('token');
|
|
||||||
if (!$token || $token != common_session_token()) {
|
|
||||||
$this->client_error(_('There was a problem with your session token. Try again, please.'));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$id = $this->trimmed('notice');
|
$id = $this->trimmed('notice');
|
||||||
|
|
||||||
$notice = Notice::staticGet($id);
|
$notice = Notice::staticGet($id);
|
||||||
|
|
||||||
|
# CSRF protection
|
||||||
|
|
||||||
|
$token = $this->trimmed('token-'.$notice->id);
|
||||||
|
if (!$token || $token != common_session_token()) {
|
||||||
|
$this->client_error(_("There was a problem with your session token. Try again, please."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ($user->hasFave($notice)) {
|
if ($user->hasFave($notice)) {
|
||||||
$this->client_error(_('This notice is already a favorite!'));
|
$this->client_error(_('This notice is already a favorite!'));
|
||||||
return;
|
return;
|
||||||
@ -67,7 +68,7 @@ class FavorAction extends Action {
|
|||||||
if ($this->boolean('ajax')) {
|
if ($this->boolean('ajax')) {
|
||||||
common_start_html('text/xml');
|
common_start_html('text/xml');
|
||||||
common_element_start('head');
|
common_element_start('head');
|
||||||
common_element('title', _('Disfavor'));
|
common_element('title', null, _('Disfavor favorite'));
|
||||||
common_element_end('head');
|
common_element_end('head');
|
||||||
common_element_start('body');
|
common_element_start('body');
|
||||||
common_disfavor_form($notice);
|
common_disfavor_form($notice);
|
||||||
|
154
js/util.js
154
js/util.js
@ -17,94 +17,86 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
// count character on keyup
|
// count character on keyup
|
||||||
function counter(event){
|
function counter(event){
|
||||||
var maxLength = 140;
|
var maxLength = 140;
|
||||||
var currentLength = $("#status_textarea").val().length;
|
var currentLength = $("#status_textarea").val().length;
|
||||||
var remaining = maxLength - currentLength;
|
var remaining = maxLength - currentLength;
|
||||||
var counter = $("#counter");
|
var counter = $("#counter");
|
||||||
counter.text(remaining);
|
counter.text(remaining);
|
||||||
|
|
||||||
|
if (remaining <= 0) {
|
||||||
|
counter.addClass("toomuch");
|
||||||
|
} else {
|
||||||
|
counter.removeClass("toomuch");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (remaining <= 0) {
|
function submitonreturn(event) {
|
||||||
counter.attr("class", "toomuch");
|
if (event.keyCode == 13) {
|
||||||
} else {
|
$("#status_form").submit();
|
||||||
counter.attr("class", "");
|
event.preventDefault();
|
||||||
}
|
event.stopPropagation();
|
||||||
}
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function submitonreturn(event) {
|
if ($("#status_textarea").length) {
|
||||||
if (event.keyCode == 13) {
|
$("#status_textarea").bind("keyup", counter);
|
||||||
$("#status_form").submit();
|
$("#status_textarea").bind("keydown", submitonreturn);
|
||||||
event.preventDefault();
|
|
||||||
event.stopPropagation();
|
// run once in case there's something in there
|
||||||
return false;
|
counter();
|
||||||
}
|
|
||||||
return true;
|
// set the focus
|
||||||
}
|
$("#status_textarea").focus();
|
||||||
|
}
|
||||||
|
|
||||||
if ($("#status_textarea").length) {
|
// XXX: refactor this code
|
||||||
$("#status_textarea").bind("keyup", counter);
|
|
||||||
$("#status_textarea").bind("keydown", submitonreturn);
|
|
||||||
|
|
||||||
// run once in case there's something in there
|
var favoptions = { dataType: 'xml',
|
||||||
counter();
|
success: function(xml) { var new_form = document._importNode($('form', xml).get(0), true);
|
||||||
|
var dis = new_form.id;
|
||||||
|
var fav = dis.replace('disfavor', 'favor');
|
||||||
|
$('form#'+fav).replaceWith(new_form);
|
||||||
|
$('form#'+dis).ajaxForm(disoptions).each(addAjaxHidden);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// set the focus
|
var disoptions = { dataType: 'xml',
|
||||||
$("#status_textarea").focus();
|
success: function(xml) { var new_form = document._importNode($('form', xml).get(0), true);
|
||||||
}
|
var fav = new_form.id;
|
||||||
|
var dis = fav.replace('favor', 'disfavor');
|
||||||
|
$('form#'+dis).replaceWith(new_form);
|
||||||
|
$('form#'+fav).ajaxForm(favoptions).each(addAjaxHidden);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// XXX: refactor this code
|
function addAjaxHidden() {
|
||||||
|
var ajax = document.createElement('input');
|
||||||
|
ajax.setAttribute('type', 'hidden');
|
||||||
|
ajax.setAttribute('name', 'ajax');
|
||||||
|
ajax.setAttribute('value', 1);
|
||||||
|
this.appendChild(ajax);
|
||||||
|
}
|
||||||
|
|
||||||
var favoptions = {dataType: 'xml',
|
$("form.favor").ajaxForm(favoptions);
|
||||||
success: function(xml) {
|
$("form.disfavor").ajaxForm(disoptions);
|
||||||
var new_form = $('form.disfavor', xml).get(0);
|
$("form.favor").each(addAjaxHidden);
|
||||||
var dis = new_form.id;
|
$("form.disfavor").each(addAjaxHidden);
|
||||||
var fav = dis.replace('disfavor', 'favor');
|
|
||||||
if (document.importNode) {
|
|
||||||
new_form = document.importNode(new_form, true);
|
|
||||||
}
|
|
||||||
$('form#'+fav).replaceWith(new_form);
|
|
||||||
$('form#'+dis).ajaxForm(disoptions).each(addAjaxHidden);
|
|
||||||
}};
|
|
||||||
|
|
||||||
var disoptions = {dataType: 'xml',
|
|
||||||
success: function(xml) {
|
|
||||||
var new_form = $('form.favor', xml).get(0);
|
|
||||||
var fav = new_form.id;
|
|
||||||
var dis = fav.replace('favor', 'disfavor');
|
|
||||||
if (document.importNode) {
|
|
||||||
new_form = document.importNode(new_form, true);
|
|
||||||
}
|
|
||||||
$('form#'+dis).replaceWith(new_form);
|
|
||||||
$('form#'+fav).ajaxForm(favoptions).each(addAjaxHidden); ;
|
|
||||||
}};
|
|
||||||
|
|
||||||
function addAjaxHidden() {
|
|
||||||
var ajax = document.createElement('input');
|
|
||||||
ajax.setAttribute('type', 'hidden');
|
|
||||||
ajax.setAttribute('name', 'ajax');
|
|
||||||
ajax.setAttribute('value', 1);
|
|
||||||
this.appendChild(ajax);
|
|
||||||
}
|
|
||||||
|
|
||||||
$("form.favor").ajaxForm(favoptions);
|
|
||||||
$("form.disfavor").ajaxForm(disoptions);
|
|
||||||
|
|
||||||
$("form.favor").each(addAjaxHidden);
|
|
||||||
$("form.disfavor").each(addAjaxHidden);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function doreply(nick,id) {
|
function doreply(nick,id) {
|
||||||
rgx_username = /^[0-9a-zA-Z\-_.]*$/;
|
rgx_username = /^[0-9a-zA-Z\-_.]*$/;
|
||||||
if (nick.match(rgx_username)) {
|
if (nick.match(rgx_username)) {
|
||||||
replyto = "@" + nick + " ";
|
replyto = "@" + nick + " ";
|
||||||
if ($("#status_textarea").length) {
|
if ($("#status_textarea").length) {
|
||||||
$("#status_textarea").val(replyto);
|
$("#status_textarea").val(replyto);
|
||||||
$("form#status_form input#inreplyto").val(id);
|
$("form#status_form input#inreplyto").val(id);
|
||||||
$("#status_textarea").focus();
|
$("#status_textarea").focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
46
js/xbImportNode.js
Normal file
46
js/xbImportNode.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/* is this stuff defined? */
|
||||||
|
if (!document.ELEMENT_NODE) {
|
||||||
|
document.ELEMENT_NODE = 1;
|
||||||
|
document.ATTRIBUTE_NODE = 2;
|
||||||
|
document.TEXT_NODE = 3;
|
||||||
|
document.CDATA_SECTION_NODE = 4;
|
||||||
|
document.ENTITY_REFERENCE_NODE = 5;
|
||||||
|
document.ENTITY_NODE = 6;
|
||||||
|
document.PROCESSING_INSTRUCTION_NODE = 7;
|
||||||
|
document.COMMENT_NODE = 8;
|
||||||
|
document.DOCUMENT_NODE = 9;
|
||||||
|
document.DOCUMENT_TYPE_NODE = 10;
|
||||||
|
document.DOCUMENT_FRAGMENT_NODE = 11;
|
||||||
|
document.NOTATION_NODE = 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
document._importNode = function(node, allChildren) {
|
||||||
|
/* find the node type to import */
|
||||||
|
switch (node.nodeType) {
|
||||||
|
case document.ELEMENT_NODE:
|
||||||
|
/* create a new element */
|
||||||
|
var newNode = document.createElement(node.nodeName);
|
||||||
|
/* does the node have any attributes to add? */
|
||||||
|
if (node.attributes && node.attributes.length > 0)
|
||||||
|
/* add all of the attributes */
|
||||||
|
for (var i = 0, il = node.attributes.length; i < il;) {
|
||||||
|
if (node.attributes[i].nodeName == 'class') {
|
||||||
|
newNode.className = node.getAttribute(node.attributes[i++].nodeName);
|
||||||
|
} else {
|
||||||
|
newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* are we going after children too, and does the node have any? */
|
||||||
|
if (allChildren && node.childNodes && node.childNodes.length > 0)
|
||||||
|
/* recursively get all of the child nodes */
|
||||||
|
for (var i = 0, il = node.childNodes.length; i < il;)
|
||||||
|
newNode.appendChild(document._importNode(node.childNodes[i++], allChildren));
|
||||||
|
return newNode;
|
||||||
|
break;
|
||||||
|
case document.TEXT_NODE:
|
||||||
|
case document.CDATA_SECTION_NODE:
|
||||||
|
case document.COMMENT_NODE:
|
||||||
|
return document.createTextNode(node.nodeValue);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
39
lib/util.php
39
lib/util.php
@ -180,6 +180,9 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=
|
|||||||
common_element('script', array('type' => 'text/javascript',
|
common_element('script', array('type' => 'text/javascript',
|
||||||
'src' => common_path('js/jquery.form.js')),
|
'src' => common_path('js/jquery.form.js')),
|
||||||
' ');
|
' ');
|
||||||
|
common_element('script', array('type' => 'text/javascript',
|
||||||
|
'src' => common_path('js/xbImportNode.js')),
|
||||||
|
' ');
|
||||||
common_element('script', array('type' => 'text/javascript',
|
common_element('script', array('type' => 'text/javascript',
|
||||||
'src' => common_path('js/util.js?version='.LACONICA_VERSION)),
|
'src' => common_path('js/util.js?version='.LACONICA_VERSION)),
|
||||||
' ');
|
' ');
|
||||||
@ -1809,13 +1812,25 @@ function common_disfavor_form($notice) {
|
|||||||
'method' => 'post',
|
'method' => 'post',
|
||||||
'class' => 'disfavor',
|
'class' => 'disfavor',
|
||||||
'action' => common_local_url('disfavor')));
|
'action' => common_local_url('disfavor')));
|
||||||
common_hidden('token', common_session_token());
|
|
||||||
common_hidden('notice', $notice->id);
|
common_element('input', array('type' => 'hidden',
|
||||||
|
'name' => 'token-'. $notice->id,
|
||||||
|
'id' => 'token-'. $notice->id,
|
||||||
|
'class' => 'token',
|
||||||
|
'value' => common_session_token()));
|
||||||
|
|
||||||
|
common_element('input', array('type' => 'hidden',
|
||||||
|
'name' => 'notice',
|
||||||
|
'id' => 'notice-n'. $notice->id,
|
||||||
|
'class' => 'notice',
|
||||||
|
'value' => $notice->id));
|
||||||
|
|
||||||
common_element('input', array('type' => 'submit',
|
common_element('input', array('type' => 'submit',
|
||||||
'id' => 'disfavor-submit-' . $notice->id,
|
'id' => 'disfavor-submit-' . $notice->id,
|
||||||
'name' => 'disfavor-submit-' . $notice->id,
|
'name' => 'disfavor-submit-' . $notice->id,
|
||||||
'class' => 'disfavor',
|
'class' => 'disfavor',
|
||||||
'value' => '♥'));
|
'value' => 'Disfavor favorite',
|
||||||
|
'title' => 'Remove this message from favorites'));
|
||||||
common_element_end('form');
|
common_element_end('form');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1824,13 +1839,25 @@ function common_favor_form($notice) {
|
|||||||
'method' => 'post',
|
'method' => 'post',
|
||||||
'class' => 'favor',
|
'class' => 'favor',
|
||||||
'action' => common_local_url('favor')));
|
'action' => common_local_url('favor')));
|
||||||
common_hidden('token', common_session_token());
|
|
||||||
common_hidden('notice', $notice->id);
|
common_element('input', array('type' => 'hidden',
|
||||||
|
'name' => 'token-'. $notice->id,
|
||||||
|
'id' => 'token-'. $notice->id,
|
||||||
|
'class' => 'token',
|
||||||
|
'value' => common_session_token()));
|
||||||
|
|
||||||
|
common_element('input', array('type' => 'hidden',
|
||||||
|
'name' => 'notice',
|
||||||
|
'id' => 'notice-n'. $notice->id,
|
||||||
|
'class' => 'notice',
|
||||||
|
'value' => $notice->id));
|
||||||
|
|
||||||
common_element('input', array('type' => 'submit',
|
common_element('input', array('type' => 'submit',
|
||||||
'id' => 'favor-submit-' . $notice->id,
|
'id' => 'favor-submit-' . $notice->id,
|
||||||
'name' => 'favor-submit-' . $notice->id,
|
'name' => 'favor-submit-' . $notice->id,
|
||||||
'class' => 'favor',
|
'class' => 'favor',
|
||||||
'value' => '♡'));
|
'value' => 'Add to favorites',
|
||||||
|
'title' => 'Add this message to favorites'));
|
||||||
common_element_end('form');
|
common_element_end('form');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +179,36 @@ padding-top:2px;
|
|||||||
padding-left:30px;
|
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-image:url(icon_heart-01.png);
|
||||||
|
background-repeat:no-repeat;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0;
|
||||||
|
width: 16px;
|
||||||
|
height:16px;
|
||||||
|
text-indent:-9999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input#disfavor, input.disfavor {
|
||||||
|
background-image:url(icon_heart-02.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.notice_single:hover input.favor,
|
||||||
|
.notice_single:hover input.disfavor {
|
||||||
|
background-color:#f3f8ea;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ----- Nav Footer ----- */
|
/* ----- Nav Footer ----- */
|
||||||
#nav_sub {
|
#nav_sub {
|
||||||
clear: both;
|
clear: both;
|
||||||
@ -686,44 +716,9 @@ input#openid_url {
|
|||||||
line-height: 15px;
|
line-height: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----- favor/disfavor -----*/
|
|
||||||
|
|
||||||
form#disfavor, form.disfavor {
|
|
||||||
display: inline;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
input#disfavor, input.disfavor {
|
|
||||||
display: inline;
|
|
||||||
color: #C15D42;
|
|
||||||
background-color: #FBF2D7;
|
|
||||||
cursor: pointer;
|
|
||||||
border: 0;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
form#favor, form.favor {
|
|
||||||
display: inline;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
input#favor, input.favor {
|
|
||||||
display: inline;
|
|
||||||
color: #C15D42;
|
|
||||||
background-color: #FBF2D7;
|
|
||||||
cursor: pointer;
|
|
||||||
border: 0;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
input.favor:hover {
|
|
||||||
background-color: #f7ebcc;
|
|
||||||
}
|
|
||||||
|
|
||||||
input.disfavor:hover {
|
|
||||||
background-color: #f7ebcc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ----- direct message ----- */
|
/* ----- direct message ----- */
|
||||||
|
|
||||||
#message_form {
|
#message_form {
|
||||||
@ -811,8 +806,8 @@ p.tagcloud a.smallest {
|
|||||||
font-size: 60%;
|
font-size: 60%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----- Mailbox ----- */
|
|
||||||
|
|
||||||
|
/* ----- Mailbox ----- */
|
||||||
#messages {
|
#messages {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
@ -844,4 +839,4 @@ font-size: 60%;
|
|||||||
display: inline;
|
display: inline;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
BIN
theme/default/icon_heart-01.png
Normal file
BIN
theme/default/icon_heart-01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 872 B |
BIN
theme/default/icon_heart-02.png
Normal file
BIN
theme/default/icon_heart-02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 805 B |
@ -1,6 +1,14 @@
|
|||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
/* CSS Document */
|
/* CSS Document */
|
||||||
|
|
||||||
|
|
||||||
|
input.disfavor,
|
||||||
|
input.favor {
|
||||||
|
text-indent:0;
|
||||||
|
text-align:right;
|
||||||
|
padding-left:25px;
|
||||||
|
}
|
||||||
|
|
||||||
#statistics dd {
|
#statistics dd {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@ -17,4 +25,4 @@ img.avatar.original, img.avatar.profile {
|
|||||||
#nav_pagination li a {
|
#nav_pagination li a {
|
||||||
padding: 6px 15px;
|
padding: 6px 15px;
|
||||||
line-height: 27px;
|
line-height: 27px;
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,7 @@ a {
|
|||||||
border-top: 1px solid #D8E2D7;
|
border-top: 1px solid #D8E2D7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.instructions p, .success, .error {
|
.instructions p, .success, .error {
|
||||||
border: 1px solid #91AA9D;
|
border: 1px solid #91AA9D;
|
||||||
color: #FCFFF5;
|
color: #FCFFF5;
|
||||||
@ -174,21 +175,6 @@ textarea:focus, input:focus {
|
|||||||
background-color: #F3F8EA;
|
background-color: #F3F8EA;
|
||||||
}
|
}
|
||||||
|
|
||||||
input#disfavor, input.disfavor {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
input#favor, input.favor {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
input.favor:hover {
|
|
||||||
background-color: #F3F8EA;
|
|
||||||
}
|
|
||||||
|
|
||||||
input.disfavor:hover {
|
|
||||||
background-color: #F3F8EA;
|
|
||||||
}
|
|
||||||
|
|
||||||
#messages {
|
#messages {
|
||||||
border-top: 1px solid #D8E2D7;
|
border-top: 1px solid #D8E2D7;
|
||||||
@ -200,21 +186,4 @@ input.disfavor:hover {
|
|||||||
|
|
||||||
.message_single:hover {
|
.message_single:hover {
|
||||||
background-color: #F3F8EA;
|
background-color: #F3F8EA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4,3 +4,11 @@
|
|||||||
#wrap {
|
#wrap {
|
||||||
background: url(bg-header.gif) repeat-x #FCFFF5;
|
background: url(bg-header.gif) repeat-x #FCFFF5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
input.disfavor,
|
||||||
|
input.favor {
|
||||||
|
text-indent:0px;
|
||||||
|
text-align:right;
|
||||||
|
padding-left:25px;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user