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

This commit is contained in:
Zach Copley 2011-04-14 22:29:11 +00:00
commit bef1ed75b5
9 changed files with 127 additions and 51 deletions

View File

@ -183,6 +183,16 @@ class AllAction extends ProfileAction
} }
} }
function showSections()
{
$this->showSubscriptions();
$ibs = new InviteButtonSection($this);
$ibs->show();
$this->showSubscribers();
$this->showGroups();
$this->showLists();
}
function showPageTitle() function showPageTitle()
{ {
$user = common_current_user(); $user = common_current_user();

View File

@ -296,10 +296,4 @@ class InviteAction extends CurrentUserDesignAction
mail_send($recipients, $headers, $body); mail_send($recipients, $headers, $body);
} }
function showObjectNav()
{
$nav = new SubGroupNav($this, common_current_user());
$nav->show();
}
} }

View File

@ -222,14 +222,12 @@ class PublicAction extends Action
function showSections() function showSections()
{ {
// $top = new TopPostersSection($this);
// $top->show();
$pop = new PopularNoticeSection($this); $pop = new PopularNoticeSection($this);
$pop->show(); $pop->show();
$ibs = new InviteButtonSection($this);
$ibs->show();
$gbp = new GroupsByMembersSection($this); $gbp = new GroupsByMembersSection($this);
$gbp->show(); $gbp->show();
$ptp = new PeopletagsBySubsSection($this);
$ptp->show();
$feat = new FeaturedUsersSection($this); $feat = new FeaturedUsersSection($this);
$feat->show(); $feat->show();
} }

View File

@ -1352,7 +1352,11 @@ class Profile extends Memcached_DataObject
$lists = array(); $lists = array();
foreach ($ids as $id) { foreach ($ids as $id) {
$lists[] = Profile_list::staticGet('id', $id); $list = Profile_list::staticGet('id', $id);
if (!empty($list) &&
($showPrivate || !$list->private)) {
$lists[] = $list;
}
} }
return new ArrayWrapper($lists); return new ArrayWrapper($lists);

View File

@ -68,7 +68,7 @@ class GroupsByMembersSection extends GroupSection
function title() function title()
{ {
// TRANS: Title for groups with the most members section. // TRANS: Title for groups with the most members section.
return _('Groups with most members'); return _('Popular groups');
} }
function divId() function divId()

View File

@ -68,7 +68,7 @@ class GroupsByPostsSection extends GroupSection
function title() function title()
{ {
// TRANS: Title for groups with the most posts section. // TRANS: Title for groups with the most posts section.
return _('Groups with most posts'); return _('Active groups');
} }
function divId() function divId()

View File

@ -0,0 +1,63 @@
<?php
/**
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2011, StatusNet, Inc.
*
* Section for an invite button
*
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Section
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @copyright 2011 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
if (!defined('STATUSNET')) {
// This check helps protect against security problems;
// your code file can't be executed directly from the web.
exit(1);
}
/**
* Invite button
*
* @category Section
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @copyright 2011 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class InviteButtonSection extends Section
{
function showTitle()
{
return false;
}
function showContent()
{
$this->out->element('a',
array('href' => common_local_url('invite'),
'class' => 'invite_button'),
_('Invite more colleagues'));
return false;
}
}

View File

@ -271,13 +271,6 @@ class ProfileAction extends OwnerDesignAction
} }
} }
if ($cnt > GROUPS_PER_MINILIST) {
$this->elementStart('p');
// TRANS: Text for user group membership statistics if user has more subscriptions than displayed.
$this->statsSectionLink('usergroups', _('All groups'), 'more');
$this->elementEnd('p');
}
Event::handle('EndShowGroupsMiniList', array($this)); Event::handle('EndShowGroupsMiniList', array($this));
} }
$this->elementEnd('div'); $this->elementEnd('div');
@ -285,7 +278,10 @@ class ProfileAction extends OwnerDesignAction
function showLists() function showLists()
{ {
$lists = $this->profile->getLists(); $cur = common_current_user();
$showPrivate = (!empty($cur) && $cur->id == $this->profile->id);
$lists = $this->profile->getLists($showPrivate);
if ($lists->N > 0) { if ($lists->N > 0) {
$this->elementStart('div', array('id' => 'entity_lists', $this->elementStart('div', array('id' => 'entity_lists',
@ -293,22 +289,24 @@ class ProfileAction extends OwnerDesignAction
if (Event::handle('StartShowListsMiniList', array($this))) { if (Event::handle('StartShowListsMiniList', array($this))) {
$url = common_local_url('peopletagsbyuser',
array('nickname' => $this->profile->nickname));
$this->elementStart('h2'); $this->elementStart('h2');
// TRANS: H2 text for user list membership statistics. // TRANS: H2 text for user list membership statistics.
$this->statsSectionLink('userlists', _('Lists')); $this->element('a',
array('href' => $url),
_('Lists'));
$this->text(' '); $this->text(' ');
$this->text($lists->N); $this->text($lists->N);
$this->elementEnd('h2'); $this->elementEnd('h2');
$this->elementStart('ul'); $this->elementStart('ul');
$cur = common_current_user();
$first = true; $first = true;
while ($lists->fetch()) { while ($lists->fetch()) {
if (!$lists->private ||
($lists->private && !empty($cur) && $cur->id == $profile->id)) {
if (!empty($lists->mainpage)) { if (!empty($lists->mainpage)) {
$url = $lists->mainpage; $url = $lists->mainpage;
} else { } else {
@ -325,7 +323,6 @@ class ProfileAction extends OwnerDesignAction
$this->element('a', array('href' => $url), $this->element('a', array('href' => $url),
$lists->tag); $lists->tag);
} }
}
$this->elementEnd('ul'); $this->elementEnd('ul');

View File

@ -61,6 +61,19 @@ class Section extends Widget
array('id' => $this->divId(), array('id' => $this->divId(),
'class' => 'section')); 'class' => 'section'));
$this->showTitle();
$have_more = $this->showContent();
if ($have_more) {
$this->showMore();
}
$this->out->elementEnd('div');
}
function showTitle()
{
$link = $this->link(); $link = $this->link();
if (!empty($link)) { if (!empty($link)) {
$this->out->elementStart('h2'); $this->out->elementStart('h2');
@ -70,10 +83,10 @@ class Section extends Widget
$this->out->element('h2', null, $this->out->element('h2', null,
$this->title()); $this->title());
} }
}
$have_more = $this->showContent(); function showMore()
{
if ($have_more) {
$this->out->elementStart('p'); $this->out->elementStart('p');
$this->out->element('a', array('href' => $this->moreUrl(), $this->out->element('a', array('href' => $this->moreUrl(),
'class' => 'more'), 'class' => 'more'),
@ -81,9 +94,6 @@ class Section extends Widget
$this->out->elementEnd('p'); $this->out->elementEnd('p');
} }
$this->out->elementEnd('div');
}
function divId() function divId()
{ {
return 'generic_section'; return 'generic_section';