Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x

This commit is contained in:
Robin Millette 2009-06-17 16:22:47 -04:00
commit fd6de17a4a
12 changed files with 68 additions and 51 deletions

4
README
View File

@ -178,8 +178,8 @@ and the URLs are listed here for your convenience.
- Facebook library. Used for the Facebook application. - Facebook library. Used for the Facebook application.
- PEAR Services_oEmbed. Used for some multimedia integration. - PEAR Services_oEmbed. Used for some multimedia integration.
- PEAR HTTP_Request is an oEmbed dependency. - PEAR HTTP_Request is an oEmbed dependency.
- PEAR Validat is an oEmbed dependency.e - PEAR Validate is an oEmbed dependency.
- PEAR Net_URL is an oEmbed dependency.2 - PEAR Net_URL2 is an oEmbed dependency.
A design goal of Laconica is that the basic Web functionality should A design goal of Laconica is that the basic Web functionality should
work on even the most restrictive commercial hosting services. work on even the most restrictive commercial hosting services.

View File

@ -125,16 +125,18 @@ class BlockAction extends Action
function areYouSureForm() function areYouSureForm()
{ {
$id = $this->profile->id; $id = $this->profile->id;
$this->elementStart('form', array('id' => 'block-' . $id,
'method' => 'post',
'class' => 'form_settings form_entity_block',
'action' => common_local_url('block')));
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', _('Block user'));
$this->element('p', null, $this->element('p', null,
_('Are you sure you want to block this user? '. _('Are you sure you want to block this user? '.
'Afterwards, they will be unsubscribed from you, '. 'Afterwards, they will be unsubscribed from you, '.
'unable to subscribe to you in the future, and '. 'unable to subscribe to you in the future, and '.
'you will not be notified of any @-replies from them.')); 'you will not be notified of any @-replies from them.'));
$this->elementStart('form', array('id' => 'block-' . $id,
'method' => 'post',
'class' => 'block',
'action' => common_local_url('block')));
$this->hidden('token', common_session_token());
$this->element('input', array('id' => 'blockto-' . $id, $this->element('input', array('id' => 'blockto-' . $id,
'name' => 'blockto', 'name' => 'blockto',
'type' => 'hidden', 'type' => 'hidden',
@ -144,8 +146,9 @@ class BlockAction extends Action
$this->hidden($k, $v); $this->hidden($k, $v);
} }
} }
$this->submit('no', _('No')); $this->submit('form_action-no', _('No'), 'submit form_action-primary', 'no', _("Do not block this user from this group"));
$this->submit('yes', _('Yes')); $this->submit('form_action-yes', _('Yes'), 'submit form_action-secondary', 'yes', _('Block this user from this group'));
$this->elementEnd('fieldset');
$this->elementEnd('form'); $this->elementEnd('form');
} }

View File

@ -32,7 +32,7 @@ if (!defined('LACONICA')) {
exit(1); exit(1);
} }
require_once(INSTALLDIR.'/lib/profilelist.php'); require_once INSTALLDIR.'/lib/profilelist.php';
require_once INSTALLDIR.'/lib/publicgroupnav.php'; require_once INSTALLDIR.'/lib/publicgroupnav.php';
/** /**
@ -107,7 +107,6 @@ class FeaturedAction extends Action
$featured_nicks = common_config('nickname', 'featured'); $featured_nicks = common_config('nickname', 'featured');
if (count($featured_nicks) > 0) { if (count($featured_nicks) > 0) {
$quoted = array(); $quoted = array();
@ -136,7 +135,7 @@ class FeaturedAction extends Action
$cnt = $profile->find(); $cnt = $profile->find();
if ($cnt > 0) { if ($cnt > 0) {
$featured = new ProfileList($profile, null, $this); $featured = new ProfileList($profile, $this);
$featured->show(); $featured->show();
} }

View File

@ -151,17 +151,19 @@ class GroupblockAction extends Action
function areYouSureForm() function areYouSureForm()
{ {
$id = $this->profile->id; $id = $this->profile->id;
$this->elementStart('form', array('id' => 'block-' . $id,
'method' => 'post',
'class' => 'form_settings form_entity_block',
'action' => common_local_url('groupblock')));
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', null, _('Block user'));
$this->element('p', null, $this->element('p', null,
sprintf(_('Are you sure you want to block user "%s" from the group "%s"? '. sprintf(_('Are you sure you want to block user "%s" from the group "%s"? '.
'They will be removed from the group, unable to post, and '. 'They will be removed from the group, unable to post, and '.
'unable to subscribe to the group in the future.'), 'unable to subscribe to the group in the future.'),
$this->profile->getBestName(), $this->profile->getBestName(),
$this->group->getBestName())); $this->group->getBestName()));
$this->elementStart('form', array('id' => 'block-' . $id,
'method' => 'post',
'class' => 'block',
'action' => common_local_url('groupblock')));
$this->hidden('token', common_session_token());
$this->hidden('blockto-' . $this->profile->id, $this->hidden('blockto-' . $this->profile->id,
$this->profile->id, $this->profile->id,
'blockto'); 'blockto');
@ -173,8 +175,9 @@ class GroupblockAction extends Action
$this->hidden($k, $v); $this->hidden($k, $v);
} }
} }
$this->submit('no', _('No')); $this->submit('form_action-no', _('No'), 'submit form_action-primary', 'no', _("Do not block this user from this group"));
$this->submit('yes', _('Yes')); $this->submit('form_action-yes', _('Yes'), 'submit form_action-secondary', 'yes', _('Block this user from this group'));
$this->elementEnd('fieldset');
$this->elementEnd('form'); $this->elementEnd('form');
} }

View File

@ -124,7 +124,7 @@ class PeopletagAction extends Action
$profile->query(sprintf($qry, $this->tag, $lim)); $profile->query(sprintf($qry, $this->tag, $lim));
$pl = new ProfileList($profile, null, $this); $pl = new ProfileList($profile, $this);
$cnt = $pl->show(); $cnt = $pl->show();
$this->pagination($this->page > 1, $this->pagination($this->page > 1,

View File

@ -29,6 +29,11 @@ require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
define('NOTICE_CACHE_WINDOW', 61); define('NOTICE_CACHE_WINDOW', 61);
define('NOTICE_LOCAL_PUBLIC', 1);
define('NOTICE_REMOTE_OMB', 0);
define('NOTICE_LOCAL_NONPUBLIC', -1);
define('NOTICE_GATEWAY', -2);
class Notice extends Memcached_DataObject class Notice extends Memcached_DataObject
{ {
###START_AUTOCODE ###START_AUTOCODE
@ -816,7 +821,7 @@ class Notice extends Memcached_DataObject
$inbox = new Notice_inbox(); $inbox = new Notice_inbox();
$UT = common_config('db','type')=='pgsql'?'"user"':'user'; $UT = common_config('db','type')=='pgsql'?'"user"':'user';
$qry = 'INSERT INTO notice_inbox (user_id, notice_id, created, source) ' . $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 . "', " . NOTICE_INBOX_SOURCE_GROUP . " " .
"FROM $UT JOIN group_member ON $UT.id = group_member.profile_id " . "FROM $UT JOIN group_member ON $UT.id = group_member.profile_id " .
'WHERE group_member.group_id = ' . $group->id . ' ' . 'WHERE group_member.group_id = ' . $group->id . ' ' .
'AND NOT EXISTS (SELECT user_id, notice_id ' . 'AND NOT EXISTS (SELECT user_id, notice_id ' .

View File

@ -25,6 +25,10 @@ require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
define('INBOX_CACHE_WINDOW', 101); define('INBOX_CACHE_WINDOW', 101);
define('NOTICE_INBOX_SOURCE_SUB', 1);
define('NOTICE_INBOX_SOURCE_GROUP', 2);
define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
class Notice_inbox extends Memcached_DataObject class Notice_inbox extends Memcached_DataObject
{ {
###START_AUTOCODE ###START_AUTOCODE

View File

@ -230,21 +230,10 @@ $(document).ready(function(){
}; };
$("#form_notice").ajaxForm(PostNotice); $("#form_notice").ajaxForm(PostNotice);
$("#form_notice").each(addAjaxHidden); $("#form_notice").each(addAjaxHidden);
NoticeHover();
NoticeReply(); NoticeReply();
NoticeAttachments(); NoticeAttachments();
}); });
function NoticeHover() {
function mouseHandler(e) {
$(e.target).closest('li.hentry')[(e.type === 'mouseover') ? 'addClass' : 'removeClass']('hover');
};
$('#content .notices').mouseover(mouseHandler);
$('#content .notices').mouseout(mouseHandler);
}
function NoticeReply() { function NoticeReply() {
if ($('#notice_data-text').length > 0) { if ($('#notice_data-text').length > 0) {
$('#content .notice').each(function() { $('#content .notice').each(function() {

View File

@ -154,7 +154,8 @@ font-weight:bold;
#form_invite legend, #form_invite legend,
#form_notice_delete legend, #form_notice_delete legend,
#form_password_recover legend, #form_password_recover legend,
#form_password_change legend { #form_password_change legend,
.form_entity_block legend {
display:none; display:none;
} }
@ -621,7 +622,8 @@ display:block;
.entity_send-a-message a, .entity_send-a-message a,
.entity_edit a, .entity_edit a,
.form_user_nudge input.submit, .form_user_nudge input.submit,
.entity_nudge p { .entity_nudge p,
.form_make_admin input.submit {
border:0; border:0;
padding-left:20px; padding-left:20px;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

View File

@ -65,7 +65,8 @@ div.notice-options input,
.entity_send-a-message a, .entity_send-a-message a,
.form_user_nudge input.submit, .form_user_nudge input.submit,
.entity_nudge p, .entity_nudge p,
.form_settings input.form_action-primary { .form_settings input.form_action-primary,
.form_make_admin input.submit {
color:#002E6E; color:#002E6E;
} }
@ -166,7 +167,8 @@ background-image:url(../../base/images/icons/icon_foaf.gif);
.form_user_unblock input.submit, .form_user_unblock input.submit,
.form_group_block input.submit, .form_group_block input.submit,
.form_group_unblock input.submit, .form_group_unblock input.submit,
.entity_nudge p { .entity_nudge p,
.form_make_admin input.submit {
background-position: 0 40%; background-position: 0 40%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-color:transparent; background-color:transparent;
@ -200,6 +202,9 @@ background-image:url(../../base/images/icons/twotone/green/mail.gif);
.form_group_unblock input.submit { .form_group_unblock input.submit {
background-image:url(../../base/images/icons/twotone/green/shield.gif); background-image:url(../../base/images/icons/twotone/green/shield.gif);
} }
.form_make_admin input.submit {
background-image:url(../../base/images/icons/twotone/green/admin.gif);
}
/* NOTICES */ /* NOTICES */
.notice .attachment { .notice .attachment {
@ -226,13 +231,11 @@ background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-r
} }
.notices div.entry-content, .notices div.entry-content,
.notices div.notice-options, .notices div.notice-options {
.notices li.hover .notices div.entry-content,
.notices li.hover .notices div.notice-options {
opacity:0.4; opacity:0.4;
} }
.notices li.hover div.entry-content, .notices li:hover div.entry-content,
.notices li.hover div.notice-options { .notices li:hover div.notice-options {
opacity:1; opacity:1;
} }
div.entry-content { div.entry-content {
@ -242,9 +245,12 @@ div.notice-options a,
div.notice-options input { div.notice-options input {
font-family:sans-serif; font-family:sans-serif;
} }
.notices li.hover { .notices li:hover {
background-color:#FCFCFC; background-color:#FCFCFC;
} }
#conversation .notices li:hover {
background-color:transparent;
}
.notices .notices { .notices .notices {
background-color:rgba(200, 200, 200, 0.050); background-color:rgba(200, 200, 200, 0.050);

View File

@ -65,7 +65,8 @@ div.notice-options input,
.entity_send-a-message a, .entity_send-a-message a,
.form_user_nudge input.submit, .form_user_nudge input.submit,
.entity_nudge p, .entity_nudge p,
.form_settings input.form_action-primary { .form_settings input.form_action-primary,
.form_make_admin input.submit {
color:#002E6E; color:#002E6E;
} }
@ -166,7 +167,8 @@ background-image:url(../../base/images/icons/icon_foaf.gif);
.form_user_unblock input.submit, .form_user_unblock input.submit,
.form_group_block input.submit, .form_group_block input.submit,
.form_group_unblock input.submit, .form_group_unblock input.submit,
.entity_nudge p { .entity_nudge p,
.form_make_admin input.submit {
background-position: 0 40%; background-position: 0 40%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-color:transparent; background-color:transparent;
@ -200,6 +202,9 @@ background-image:url(../../base/images/icons/twotone/green/mail.gif);
.form_group_unblock input.submit { .form_group_unblock input.submit {
background-image:url(../../base/images/icons/twotone/green/shield.gif); background-image:url(../../base/images/icons/twotone/green/shield.gif);
} }
.form_make_admin input.submit {
background-image:url(../../base/images/icons/twotone/green/admin.gif);
}
/* NOTICES */ /* NOTICES */
.notice .attachment { .notice .attachment {
@ -226,13 +231,11 @@ background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-r
} }
.notices div.entry-content, .notices div.entry-content,
.notices div.notice-options, .notices div.notice-options {
.notices li.hover .notices div.entry-content,
.notices li.hover .notices div.notice-options {
opacity:0.4; opacity:0.4;
} }
.notices li.hover div.entry-content, .notices li:hover div.entry-content,
.notices li.hover div.notice-options { .notices li:hover div.notice-options {
opacity:1; opacity:1;
} }
div.entry-content { div.entry-content {
@ -242,9 +245,12 @@ div.notice-options a,
div.notice-options input { div.notice-options input {
font-family:sans-serif; font-family:sans-serif;
} }
.notices li.hover { .notices li:hover {
background-color:#FCFCFC; background-color:#FCFCFC;
} }
#conversation .notices li:hover {
background-color:transparent;
}
.notices .notices { .notices .notices {
background-color:rgba(200, 200, 200, 0.050); background-color:rgba(200, 200, 200, 0.050);