forked from GNUsocial/gnu-social
Merge branch '3cl' into 1.0.x
This commit is contained in:
commit
55b4303ea4
@ -127,12 +127,6 @@ class AllAction extends ProfileAction
|
||||
);
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PersonalGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
function showEmptyListMessage()
|
||||
{
|
||||
// TRANS: Empty list message. %s is a user nickname.
|
||||
|
@ -122,7 +122,7 @@ class BlockedfromgroupAction extends GroupDesignAction
|
||||
_('A list of the users blocked from joining this group.'));
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new GroupNav($this, $this->group);
|
||||
$nav->show();
|
||||
|
@ -139,7 +139,7 @@ class EditgroupAction extends GroupDesignAction
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new GroupNav($this, $this->group);
|
||||
$nav->show();
|
||||
|
@ -163,19 +163,6 @@ class FavoritedAction extends Action
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
/**
|
||||
* Local navigation
|
||||
*
|
||||
* This page is part of the public group, so show that.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PublicGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Content area
|
||||
*
|
||||
|
@ -90,12 +90,6 @@ class FeaturedAction extends Action
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PublicGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
function getInstructions()
|
||||
{
|
||||
// TRANS: Description on page displaying featured users.
|
||||
|
@ -163,12 +163,22 @@ class GroupDesignSettingsAction extends DesignSettingsAction
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new GroupNav($this, $this->group);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Override to show default nav stuff
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
function showLocalNav()
|
||||
{
|
||||
Action::showLocalNav();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the design we want to edit
|
||||
*
|
||||
|
@ -458,7 +458,7 @@ class GrouplogoAction extends GroupDesignAction
|
||||
$this->autofocus('avatarfile');
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new GroupNav($this, $this->group);
|
||||
$nav->show();
|
||||
|
@ -125,7 +125,7 @@ class GroupmembersAction extends GroupDesignAction
|
||||
_('A list of the users in this group.'));
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new GroupNav($this, $this->group);
|
||||
$nav->show();
|
||||
|
@ -80,12 +80,6 @@ class GroupsAction extends Action
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PublicGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
function showPageNotice()
|
||||
{
|
||||
$notice =
|
||||
|
@ -289,7 +289,7 @@ class InviteAction extends CurrentUserDesignAction
|
||||
mail_send($recipients, $headers, $body);
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new SubGroupNav($this, common_current_user());
|
||||
$nav->show();
|
||||
|
@ -168,21 +168,6 @@ class PublicAction extends Action
|
||||
_('Public Stream Feed (Atom)')));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show tabset for this page
|
||||
*
|
||||
* Uses the PublicGroupNav widget
|
||||
*
|
||||
* @return void
|
||||
* @see PublicGroupNav
|
||||
*/
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PublicGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
function showEmptyList()
|
||||
{
|
||||
$message = _('This is the public timeline for %%site.name%% but no one has posted anything yet.') . ' ';
|
||||
|
@ -92,12 +92,6 @@ class PublictagcloudAction extends Action
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PublicGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
@ -160,18 +160,6 @@ class RepliesAction extends OwnerDesignAction
|
||||
$this->user->nickname)));
|
||||
}
|
||||
|
||||
/**
|
||||
* show the personal group nav
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PersonalGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the content
|
||||
*
|
||||
|
@ -189,17 +189,6 @@ class ShowfavoritesAction extends OwnerDesignAction
|
||||
$this->user->nickname)));
|
||||
}
|
||||
|
||||
/**
|
||||
* show the personal group nav
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new PersonalGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
function showEmptyListMessage()
|
||||
{
|
||||
if (common_logged_in()) {
|
||||
|
@ -167,7 +167,7 @@ class ShowgroupAction extends GroupDesignAction
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new GroupNav($this, $this->group);
|
||||
$nav->show();
|
||||
|
@ -104,7 +104,7 @@ class ShowstreamAction extends ProfileAction
|
||||
$this->showNotices();
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new SubGroupNav($this, $this->user);
|
||||
$nav->show();
|
||||
|
@ -112,7 +112,7 @@ class UsergroupsAction extends OwnerDesignAction
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new SubGroupNav($this, $this->user);
|
||||
$nav->show();
|
||||
|
154
lib/action.php
154
lib/action.php
@ -476,14 +476,7 @@ class Action extends HTMLOutputter // lawsuit
|
||||
|
||||
Event::handle('EndShowSiteNotice', array($this));
|
||||
}
|
||||
if (common_logged_in()) {
|
||||
if (Event::handle('StartShowNoticeForm', array($this))) {
|
||||
$this->showNoticeForm();
|
||||
Event::handle('EndShowNoticeForm', array($this));
|
||||
}
|
||||
} else {
|
||||
$this->showAnonymousMessage();
|
||||
}
|
||||
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
@ -555,69 +548,10 @@ class Action extends HTMLOutputter // lawsuit
|
||||
*/
|
||||
function showPrimaryNav()
|
||||
{
|
||||
$user = common_current_user();
|
||||
$this->elementStart('ul', array('class' => 'nav',
|
||||
'id' => 'site_nav_global_primary'));
|
||||
if (Event::handle('StartPrimaryNav', array($this))) {
|
||||
if (!empty($user)) {
|
||||
$this->menuItem(common_local_url('all',
|
||||
array('nickname' => $user->nickname)),
|
||||
_m('Home'),
|
||||
_m('Friends timeline'),
|
||||
false,
|
||||
'nav_home');
|
||||
$this->menuItem(common_local_url('showstream',
|
||||
array('nickname' => $user->nickname)),
|
||||
_m('Profile'),
|
||||
_m('Your profile'),
|
||||
false,
|
||||
'nav_profile');
|
||||
$this->menuItem(common_local_url('public'),
|
||||
_m('Public'),
|
||||
_m('Everyone on this site'),
|
||||
false,
|
||||
'nav_public');
|
||||
$this->menuItem(common_local_url('profilesettings'),
|
||||
_m('Settings'),
|
||||
_m('Change your personal settings'),
|
||||
false,
|
||||
'nav_account');
|
||||
if ($user->hasRight(Right::CONFIGURESITE)) {
|
||||
$this->menuItem(common_local_url('siteadminpanel'),
|
||||
_m('Admin'),
|
||||
_m('Site configuration'),
|
||||
false,
|
||||
'nav_admin');
|
||||
}
|
||||
$this->menuItem(common_local_url('logout'),
|
||||
_m('Logout'),
|
||||
_m('Logout from the site'),
|
||||
false,
|
||||
'nav_logout');
|
||||
} else {
|
||||
$this->menuItem(common_local_url('public'),
|
||||
_m('Public'),
|
||||
_m('Everyone on this site'),
|
||||
false,
|
||||
'nav_public');
|
||||
$this->menuItem(common_local_url('login'),
|
||||
_m('Login'),
|
||||
_m('Login to the site'),
|
||||
false,
|
||||
'nav_login');
|
||||
}
|
||||
|
||||
if (!empty($user) || !common_config('site', 'private')) {
|
||||
$this->menuItem(common_local_url('noticesearch'),
|
||||
_m('Search'),
|
||||
_m('Search the site'),
|
||||
false,
|
||||
'nav_search');
|
||||
}
|
||||
|
||||
Event::handle('EndPrimaryNav', array($this));
|
||||
}
|
||||
$this->elementEnd('ul');
|
||||
$this->elementStart('div', array('id' => 'site_nav_global_primary'));
|
||||
$pn = new PrimaryNav($this);
|
||||
$pn->show();
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -733,6 +667,10 @@ class Action extends HTMLOutputter // lawsuit
|
||||
$this->showContentBlock();
|
||||
Event::handle('EndShowContentBlock', array($this));
|
||||
}
|
||||
if (Event::handle('StartShowObjectNavBlock', array($this))) {
|
||||
$this->showObjectNavBlock();
|
||||
Event::handle('EndShowObjectNavBlock', array($this));
|
||||
}
|
||||
if (Event::handle('StartShowAside', array($this))) {
|
||||
$this->showAside();
|
||||
Event::handle('EndShowAside', array($this));
|
||||
@ -763,7 +701,34 @@ class Action extends HTMLOutputter // lawsuit
|
||||
*/
|
||||
function showLocalNav()
|
||||
{
|
||||
// does nothing by default
|
||||
$nav = new DefaultLocalNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show menu for an object (group, profile)
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
function showObjectNavBlock()
|
||||
{
|
||||
// Need to have this ID for CSS; I'm too lazy to add it to
|
||||
// all menus
|
||||
$this->elementStart('div', array('id' => 'site_nav_object'));
|
||||
$this->showObjectNav();
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show object navigation.
|
||||
*
|
||||
* If there are things to do with this object, show it here.
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
function showObjectNav()
|
||||
{
|
||||
/* Nothing here. */
|
||||
}
|
||||
|
||||
/**
|
||||
@ -774,6 +739,12 @@ class Action extends HTMLOutputter // lawsuit
|
||||
function showContentBlock()
|
||||
{
|
||||
$this->elementStart('div', array('id' => 'content'));
|
||||
if (common_logged_in()) {
|
||||
if (Event::handle('StartShowNoticeForm', array($this))) {
|
||||
$this->showNoticeForm();
|
||||
Event::handle('EndShowNoticeForm', array($this));
|
||||
}
|
||||
}
|
||||
if (Event::handle('StartShowPageTitle', array($this))) {
|
||||
$this->showPageTitle();
|
||||
Event::handle('EndShowPageTitle', array($this));
|
||||
@ -915,43 +886,8 @@ class Action extends HTMLOutputter // lawsuit
|
||||
*/
|
||||
function showSecondaryNav()
|
||||
{
|
||||
$this->elementStart('ul', array('class' => 'nav',
|
||||
'id' => 'site_nav_global_secondary'));
|
||||
if (Event::handle('StartSecondaryNav', array($this))) {
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'help')),
|
||||
// TRANS: Secondary navigation menu option leading to help on StatusNet.
|
||||
_('Help'));
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'about')),
|
||||
// TRANS: Secondary navigation menu option leading to text about StatusNet site.
|
||||
_('About'));
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'faq')),
|
||||
// TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
|
||||
_('FAQ'));
|
||||
$bb = common_config('site', 'broughtby');
|
||||
if (!empty($bb)) {
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'tos')),
|
||||
// TRANS: Secondary navigation menu option leading to Terms of Service.
|
||||
_('TOS'));
|
||||
}
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'privacy')),
|
||||
// TRANS: Secondary navigation menu option leading to privacy policy.
|
||||
_('Privacy'));
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'source')),
|
||||
// TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
|
||||
_('Source'));
|
||||
$this->menuItem(common_local_url('version'),
|
||||
// TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
|
||||
_('Version'));
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'contact')),
|
||||
// TRANS: Secondary navigation menu option leading to e-mail contact information on the
|
||||
// TRANS: StatusNet site, where to report bugs, ...
|
||||
_('Contact'));
|
||||
$this->menuItem(common_local_url('doc', array('title' => 'badge')),
|
||||
// TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
|
||||
_('Badge'));
|
||||
Event::handle('EndSecondaryNav', array($this));
|
||||
}
|
||||
$this->elementEnd('ul');
|
||||
$sn = new SecondaryNav($this);
|
||||
$sn->show();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -291,129 +291,3 @@ class AdminPanelAction extends Action
|
||||
return $isOK;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu for public group of actions
|
||||
*
|
||||
* @category Output
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see Widget
|
||||
*/
|
||||
class AdminPanelNav extends Widget
|
||||
{
|
||||
var $action = null;
|
||||
|
||||
/**
|
||||
* Construction
|
||||
*
|
||||
* @param Action $action current action, used for output
|
||||
*/
|
||||
function __construct($action=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the menu
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function show()
|
||||
{
|
||||
$action_name = $this->action->trimmed('action');
|
||||
|
||||
$this->action->elementStart('ul', array('class' => 'nav'));
|
||||
|
||||
if (Event::handle('StartAdminPanelNav', array($this))) {
|
||||
|
||||
if (AdminPanelAction::canAdmin('site')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Basic site configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('siteadminpanel'), _m('MENU', 'Site'),
|
||||
$menu_title, $action_name == 'siteadminpanel', 'nav_site_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('design')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Design configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('designadminpanel'), _m('MENU', 'Design'),
|
||||
$menu_title, $action_name == 'designadminpanel', 'nav_design_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('user')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('User configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('useradminpanel'), _('User'),
|
||||
$menu_title, $action_name == 'useradminpanel', 'nav_user_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('access')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Access configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('accessadminpanel'), _('Access'),
|
||||
$menu_title, $action_name == 'accessadminpanel', 'nav_access_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('paths')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Paths configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
|
||||
$menu_title, $action_name == 'pathsadminpanel', 'nav_paths_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('sessions')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Sessions configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('sessionsadminpanel'), _('Sessions'),
|
||||
$menu_title, $action_name == 'sessionsadminpanel', 'nav_sessions_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('sitenotice')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Edit site notice');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('sitenoticeadminpanel'), _('Site notice'),
|
||||
$menu_title, $action_name == 'sitenoticeadminpanel', 'nav_sitenotice_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('snapshot')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Snapshots configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('snapshotadminpanel'), _('Snapshots'),
|
||||
$menu_title, $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('license')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Set site license');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('licenseadminpanel'), _('License'),
|
||||
$menu_title, $action_name == 'licenseadminpanel', 'nav_license_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('plugins')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Plugins configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('pluginsadminpanel'), _('Plugins'),
|
||||
$menu_title, $action_name == 'pluginsadminpanel', 'nav_design_admin_panel');
|
||||
}
|
||||
|
||||
Event::handle('EndAdminPanelNav', array($this));
|
||||
}
|
||||
$this->action->elementEnd('ul');
|
||||
}
|
||||
}
|
||||
|
148
lib/adminpanelnav.php
Normal file
148
lib/adminpanelnav.php
Normal file
@ -0,0 +1,148 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2011, StatusNet, Inc.
|
||||
*
|
||||
* Menu for admin panels
|
||||
*
|
||||
* 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 Menu
|
||||
* @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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu for admin panels
|
||||
*
|
||||
* @category Output
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@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 AdminPanelNav extends Menu
|
||||
{
|
||||
/**
|
||||
* Show the menu
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function show()
|
||||
{
|
||||
$action_name = $this->action->trimmed('action');
|
||||
|
||||
$this->action->elementStart('ul', array('class' => 'nav'));
|
||||
|
||||
if (Event::handle('StartAdminPanelNav', array($this))) {
|
||||
|
||||
if (AdminPanelAction::canAdmin('site')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Basic site configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('siteadminpanel'), _m('MENU', 'Site'),
|
||||
$menu_title, $action_name == 'siteadminpanel', 'nav_site_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('design')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Design configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('designadminpanel'), _m('MENU', 'Design'),
|
||||
$menu_title, $action_name == 'designadminpanel', 'nav_design_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('user')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('User configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('useradminpanel'), _('User'),
|
||||
$menu_title, $action_name == 'useradminpanel', 'nav_user_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('access')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Access configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('accessadminpanel'), _('Access'),
|
||||
$menu_title, $action_name == 'accessadminpanel', 'nav_access_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('paths')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Paths configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
|
||||
$menu_title, $action_name == 'pathsadminpanel', 'nav_paths_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('sessions')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Sessions configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('sessionsadminpanel'), _('Sessions'),
|
||||
$menu_title, $action_name == 'sessionsadminpanel', 'nav_sessions_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('sitenotice')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Edit site notice');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('sitenoticeadminpanel'), _('Site notice'),
|
||||
$menu_title, $action_name == 'sitenoticeadminpanel', 'nav_sitenotice_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('snapshot')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Snapshots configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('snapshotadminpanel'), _('Snapshots'),
|
||||
$menu_title, $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('license')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Set site license');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('licenseadminpanel'), _('License'),
|
||||
$menu_title, $action_name == 'licenseadminpanel', 'nav_license_admin_panel');
|
||||
}
|
||||
|
||||
if (AdminPanelAction::canAdmin('plugins')) {
|
||||
// TRANS: Menu item title/tooltip
|
||||
$menu_title = _('Plugins configuration');
|
||||
// TRANS: Menu item for site administration
|
||||
$this->out->menuItem(common_local_url('pluginsadminpanel'), _('Plugins'),
|
||||
$menu_title, $action_name == 'pluginsadminpanel', 'nav_design_admin_panel');
|
||||
}
|
||||
|
||||
Event::handle('EndAdminPanelNav', array($this));
|
||||
}
|
||||
$this->action->elementEnd('ul');
|
||||
}
|
||||
}
|
66
lib/defaultlocalnav.php
Normal file
66
lib/defaultlocalnav.php
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2011, StatusNet, Inc.
|
||||
*
|
||||
* Default local nav
|
||||
*
|
||||
* 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 Menu
|
||||
* @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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Default menu
|
||||
*
|
||||
* @category Menu
|
||||
* @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 DefaultLocalNav extends Menu
|
||||
{
|
||||
function show()
|
||||
{
|
||||
$this->action->elementStart('ul', array('id' => 'nav_local_default'));
|
||||
|
||||
$user = common_current_user();
|
||||
|
||||
if (!empty($user)) {
|
||||
$pn = new PersonalGroupNav($this->action);
|
||||
$this->submenu(_m('Home'), $pn);
|
||||
}
|
||||
|
||||
$bn = new PublicGroupNav($this->action);
|
||||
$this->submenu(_('Public'), $bn);
|
||||
|
||||
$this->action->elementEnd('ul');
|
||||
}
|
||||
}
|
@ -94,7 +94,7 @@ class GalleryAction extends OwnerDesignAction
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new SubGroupNav($this, $this->user);
|
||||
$nav->show();
|
||||
|
@ -49,9 +49,8 @@ require_once INSTALLDIR.'/lib/widget.php';
|
||||
* @see HTMLOutputter
|
||||
*/
|
||||
|
||||
class GroupNav extends Widget
|
||||
class GroupNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
var $group = null;
|
||||
|
||||
/**
|
||||
@ -63,7 +62,6 @@ class GroupNav extends Widget
|
||||
function __construct($action=null, $group=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
$this->group = $group;
|
||||
}
|
||||
|
||||
|
@ -44,21 +44,8 @@ require_once INSTALLDIR.'/lib/widget.php';
|
||||
*
|
||||
* @see Widget
|
||||
*/
|
||||
class LoginGroupNav extends Widget
|
||||
class LoginGroupNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
|
||||
/**
|
||||
* Construction
|
||||
*
|
||||
* @param Action $action current action, used for output
|
||||
*/
|
||||
function __construct($action=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the menu
|
||||
*
|
||||
|
@ -168,4 +168,10 @@ class MailboxAction extends CurrentUserDesignAction
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
function showObjectNav()
|
||||
{
|
||||
$mm = new MailboxMenu($this);
|
||||
$mm->show();
|
||||
}
|
||||
}
|
||||
|
70
lib/mailboxmenu.php
Normal file
70
lib/mailboxmenu.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2011, StatusNet, Inc.
|
||||
*
|
||||
* Private mailboxes menu
|
||||
*
|
||||
* 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 Cache
|
||||
* @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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu of existing mailboxes
|
||||
*
|
||||
* @category General
|
||||
* @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 MailboxMenu extends Menu
|
||||
{
|
||||
function show()
|
||||
{
|
||||
$cur = common_current_user();
|
||||
$nickname = $cur->nickname;
|
||||
|
||||
$this->out->elementStart('ul', array('class' => 'nav'));
|
||||
|
||||
$this->item('inbox',
|
||||
array('nickname' => $nickname),
|
||||
_('Inbox'),
|
||||
_('Your incoming messages'));
|
||||
|
||||
$this->item('outbox',
|
||||
array('nickname' => $nickname),
|
||||
_('Outbox'),
|
||||
_('Your sent messages'));
|
||||
|
||||
$this->out->elementEnd('ul');
|
||||
}
|
||||
|
||||
}
|
92
lib/menu.php
Normal file
92
lib/menu.php
Normal file
@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2011, StatusNet, Inc.
|
||||
*
|
||||
* Menu widget
|
||||
*
|
||||
* 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 Widget
|
||||
* @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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Superclass for menus
|
||||
*
|
||||
* @category General
|
||||
* @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 Menu extends Widget
|
||||
{
|
||||
var $action = null;
|
||||
var $actionName = null;
|
||||
/**
|
||||
* Construction
|
||||
*
|
||||
* @param Action $action current action, used for output
|
||||
*/
|
||||
function __construct($action=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
|
||||
$this->action = $action;
|
||||
$this->actionName = $action->trimmed('action');
|
||||
}
|
||||
|
||||
function item($actionName, $args, $label, $description, $id=null)
|
||||
{
|
||||
if (empty($id)) {
|
||||
$id = $this->menuItemID($actionName);
|
||||
}
|
||||
|
||||
$url = common_local_url($actionName, $args);
|
||||
|
||||
$this->out->menuItem($url,
|
||||
$label,
|
||||
$description,
|
||||
$actionName == $this->actionName,
|
||||
$id);
|
||||
}
|
||||
|
||||
function menuItemID($actionName)
|
||||
{
|
||||
return sprintf('nav_%s', $actionName);
|
||||
}
|
||||
|
||||
function submenu($label, $menu)
|
||||
{
|
||||
$this->action->elementStart('li');
|
||||
$this->action->element('h3', null, $label);
|
||||
$menu->show();
|
||||
$this->action->elementEnd('li');
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Base class for all actions (~views)
|
||||
* Menu for personal group of actions
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
@ -19,11 +19,11 @@
|
||||
* 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 Action
|
||||
* @category Menu
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @copyright 2008-2011 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
@ -32,41 +32,20 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require_once INSTALLDIR.'/lib/widget.php';
|
||||
|
||||
/**
|
||||
* Base class for all actions
|
||||
* Menu for personal group of actions
|
||||
*
|
||||
* This is the base class for all actions in the package. An action is
|
||||
* more or less a "view" in an MVC framework.
|
||||
*
|
||||
* Actions are responsible for extracting and validating parameters; using
|
||||
* model classes to read and write to the database; and doing ouput.
|
||||
*
|
||||
* @category Output
|
||||
* @category Menu
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @copyright 2008-2011 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*
|
||||
* @see HTMLOutputter
|
||||
*/
|
||||
class PersonalGroupNav extends Widget
|
||||
|
||||
class PersonalGroupNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
|
||||
/**
|
||||
* Construction
|
||||
*
|
||||
* @param Action $action current action, used for output
|
||||
*/
|
||||
function __construct($action=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the menu
|
||||
*
|
||||
@ -74,23 +53,16 @@ class PersonalGroupNav extends Widget
|
||||
*/
|
||||
function show()
|
||||
{
|
||||
$user = null;
|
||||
$user = common_current_user();
|
||||
|
||||
// FIXME: we should probably pass this in
|
||||
|
||||
$action = $this->action->trimmed('action');
|
||||
$nickname = $this->action->trimmed('nickname');
|
||||
|
||||
if ($nickname) {
|
||||
$user = User::staticGet('nickname', $nickname);
|
||||
$user_profile = $user->getProfile();
|
||||
$name = $user_profile->getBestName();
|
||||
} else {
|
||||
// @fixme can this happen? is this valid?
|
||||
$user_profile = false;
|
||||
$name = $nickname;
|
||||
if (empty($user)) {
|
||||
throw new ServerException('Do not show personal group nav with no current user.');
|
||||
}
|
||||
|
||||
$user_profile = $user->getProfile();
|
||||
$nickname = $user->nickname;
|
||||
$name = $user_profile->getBestName();
|
||||
|
||||
$this->out->elementStart('ul', array('class' => 'nav'));
|
||||
|
||||
if (Event::handle('StartPersonalGroupNav', array($this))) {
|
||||
@ -99,6 +71,12 @@ class PersonalGroupNav extends Widget
|
||||
_('Home'),
|
||||
sprintf(_('%s and friends'), $name),
|
||||
$action == 'all', 'nav_timeline_personal');
|
||||
$this->out->menuItem(common_local_url('showstream', array('nickname' =>
|
||||
$nickname)),
|
||||
_('Profile'),
|
||||
_('Your profile'),
|
||||
$action == 'showstream',
|
||||
'nav_profile');
|
||||
$this->out->menuItem(common_local_url('replies', array('nickname' =>
|
||||
$nickname)),
|
||||
_('Replies'),
|
||||
@ -117,15 +95,11 @@ class PersonalGroupNav extends Widget
|
||||
|
||||
$this->out->menuItem(common_local_url('inbox', array('nickname' =>
|
||||
$nickname)),
|
||||
_('Inbox'),
|
||||
_('Messages'),
|
||||
_('Your incoming messages'),
|
||||
$action == 'inbox');
|
||||
$this->out->menuItem(common_local_url('outbox', array('nickname' =>
|
||||
$nickname)),
|
||||
_('Outbox'),
|
||||
_('Your sent messages'),
|
||||
$action == 'outbox');
|
||||
}
|
||||
|
||||
Event::handle('EndPersonalGroupNav', array($this));
|
||||
}
|
||||
$this->out->elementEnd('ul');
|
||||
|
94
lib/primarynav.php
Normal file
94
lib/primarynav.php
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2011, StatusNet, Inc.
|
||||
*
|
||||
* Primary nav, show on all pages
|
||||
*
|
||||
* 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 Menu
|
||||
* @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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Primary, top-level menu
|
||||
*
|
||||
* @category General
|
||||
* @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 PrimaryNav extends Menu
|
||||
{
|
||||
function show()
|
||||
{
|
||||
$user = common_current_user();
|
||||
$this->action->elementStart('ul', array('class' => 'nav'));
|
||||
if (Event::handle('StartPrimaryNav', array($this->action))) {
|
||||
if (!empty($user)) {
|
||||
$this->action->menuItem(common_local_url('profilesettings'),
|
||||
_m('Settings'),
|
||||
_m('Change your personal settings'),
|
||||
false,
|
||||
'nav_account');
|
||||
if ($user->hasRight(Right::CONFIGURESITE)) {
|
||||
$this->action->menuItem(common_local_url('siteadminpanel'),
|
||||
_m('Admin'),
|
||||
_m('Site configuration'),
|
||||
false,
|
||||
'nav_admin');
|
||||
}
|
||||
$this->action->menuItem(common_local_url('logout'),
|
||||
_m('Logout'),
|
||||
_m('Logout from the site'),
|
||||
false,
|
||||
'nav_logout');
|
||||
} else {
|
||||
$this->action->menuItem(common_local_url('login'),
|
||||
_m('Login'),
|
||||
_m('Login to the site'),
|
||||
false,
|
||||
'nav_login');
|
||||
}
|
||||
|
||||
if (!empty($user) || !common_config('site', 'private')) {
|
||||
$this->action->menuItem(common_local_url('noticesearch'),
|
||||
_m('Search'),
|
||||
_m('Search the site'),
|
||||
false,
|
||||
'nav_search');
|
||||
}
|
||||
|
||||
Event::handle('EndPrimaryNav', array($this->action));
|
||||
}
|
||||
|
||||
$this->action->elementEnd('ul');
|
||||
}
|
||||
}
|
@ -46,22 +46,8 @@ require_once INSTALLDIR.'/lib/widget.php';
|
||||
* @see Widget
|
||||
*/
|
||||
|
||||
class PublicGroupNav extends Widget
|
||||
class PublicGroupNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
|
||||
/**
|
||||
* Construction
|
||||
*
|
||||
* @param Action $action current action, used for output
|
||||
*/
|
||||
|
||||
function __construct($action=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the menu
|
||||
*
|
||||
|
@ -70,7 +70,7 @@ class SearchAction extends Action
|
||||
* @return void
|
||||
* @see SearchGroupNav
|
||||
*/
|
||||
function showLocalNav()
|
||||
function showObjectNav()
|
||||
{
|
||||
$nav = new SearchGroupNav($this, $this->trimmed('q'));
|
||||
$nav->show();
|
||||
|
@ -2,7 +2,7 @@
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Menu for search actions
|
||||
* Menu for search group of actions
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
@ -22,7 +22,7 @@
|
||||
* @category Menu
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008 StatusNet, Inc.
|
||||
* @copyright 2008-2011 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
@ -31,12 +31,10 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require_once INSTALLDIR.'/lib/widget.php';
|
||||
|
||||
/**
|
||||
* Menu for public group of actions
|
||||
*
|
||||
* @category Output
|
||||
* @category Menu
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
@ -45,9 +43,8 @@ require_once INSTALLDIR.'/lib/widget.php';
|
||||
* @see Widget
|
||||
*/
|
||||
|
||||
class SearchGroupNav extends Widget
|
||||
class SearchGroupNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
var $q = null;
|
||||
|
||||
/**
|
||||
@ -59,7 +56,6 @@ class SearchGroupNav extends Widget
|
||||
function __construct($action=null, $q = null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
$this->q = $q;
|
||||
}
|
||||
|
||||
|
90
lib/secondarynav.php
Normal file
90
lib/secondarynav.php
Normal file
@ -0,0 +1,90 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2011, StatusNet, Inc.
|
||||
*
|
||||
* Secondary menu, shown at foot of all pages
|
||||
*
|
||||
* 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 Cache
|
||||
* @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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Secondary menu, shown at the bottom of all pages
|
||||
*
|
||||
* @category General
|
||||
* @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 SecondaryNav extends Menu
|
||||
{
|
||||
function show()
|
||||
{
|
||||
$this->out->elementStart('ul', array('class' => 'nav',
|
||||
'id' => 'site_nav_global_secondary'));
|
||||
if (Event::handle('StartSecondaryNav', array($this->action))) {
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'help')),
|
||||
// TRANS: Secondary navigation menu option leading to help on StatusNet.
|
||||
_('Help'));
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'about')),
|
||||
// TRANS: Secondary navigation menu option leading to text about StatusNet site.
|
||||
_('About'));
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'faq')),
|
||||
// TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
|
||||
_('FAQ'));
|
||||
$bb = common_config('site', 'broughtby');
|
||||
if (!empty($bb)) {
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'tos')),
|
||||
// TRANS: Secondary navigation menu option leading to Terms of Service.
|
||||
_('TOS'));
|
||||
}
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'privacy')),
|
||||
// TRANS: Secondary navigation menu option leading to privacy policy.
|
||||
_('Privacy'));
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'source')),
|
||||
// TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
|
||||
_('Source'));
|
||||
$this->out->menuItem(common_local_url('version'),
|
||||
// TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
|
||||
_('Version'));
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'contact')),
|
||||
// TRANS: Secondary navigation menu option leading to e-mail contact information on the
|
||||
// TRANS: StatusNet site, where to report bugs, ...
|
||||
_('Contact'));
|
||||
$this->out->menuItem(common_local_url('doc', array('title' => 'badge')),
|
||||
// TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
|
||||
_('Badge'));
|
||||
Event::handle('EndSecondaryNav', array($this->action));
|
||||
}
|
||||
$this->out->elementEnd('ul');
|
||||
}
|
||||
}
|
@ -163,4 +163,15 @@ class SettingsAction extends CurrentUserDesignAction
|
||||
$menu = new SettingsNav($this);
|
||||
$menu->show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show notice form.
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
|
||||
function showNoticeForm()
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, Inc.
|
||||
* Copyright (C) 2010,2011, StatusNet, Inc.
|
||||
*
|
||||
* Settings menu
|
||||
*
|
||||
@ -23,7 +23,7 @@
|
||||
* @category Widget
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2010 StatusNet, Inc.
|
||||
* @copyright 2010,2011 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
@ -46,21 +46,8 @@ if (!defined('STATUSNET')) {
|
||||
* @see HTMLOutputter
|
||||
*/
|
||||
|
||||
class SettingsNav extends Widget
|
||||
class SettingsNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
|
||||
/**
|
||||
* Construction
|
||||
*
|
||||
* @param Action $action current action, used for output
|
||||
*/
|
||||
function __construct($action=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the menu
|
||||
*
|
||||
|
@ -22,7 +22,7 @@
|
||||
* @category Subs
|
||||
* @package StatusNet
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008-2009 StatusNet, Inc.
|
||||
* @copyright 2008-2011 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
@ -43,9 +43,8 @@ require_once INSTALLDIR.'/lib/widget.php';
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class SubGroupNav extends Widget
|
||||
class SubGroupNav extends Menu
|
||||
{
|
||||
var $action = null;
|
||||
var $user = null;
|
||||
|
||||
/**
|
||||
@ -57,7 +56,6 @@ class SubGroupNav extends Widget
|
||||
function __construct($action=null, $user=null)
|
||||
{
|
||||
parent::__construct($action);
|
||||
$this->action = $action;
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
|
@ -95,6 +95,8 @@ class UserProfile extends Widget
|
||||
|
||||
function showAvatar()
|
||||
{
|
||||
$this->out->elementStart('div', 'ur_face');
|
||||
|
||||
if (Event::handle('StartProfilePageAvatar', array($this->out, $this->profile))) {
|
||||
|
||||
$avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
|
||||
@ -119,6 +121,8 @@ class UserProfile extends Widget
|
||||
Event::handle('EndProfilePageAvatar',
|
||||
array($this->out, $this->profile));
|
||||
}
|
||||
|
||||
$this->out->elementEnd('div');
|
||||
}
|
||||
|
||||
function showNickname()
|
||||
|
Loading…
Reference in New Issue
Block a user