From e697faf23bf70ed43d074a2f437aae362580e003 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 15 Jan 2009 23:43:58 +0000 Subject: Add some includes to noticelist --- lib/noticelist.php | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib') diff --git a/lib/noticelist.php b/lib/noticelist.php index eb5416ee4..ccdd57feb 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -31,6 +31,9 @@ if (!defined('LACONICA')) { exit(1); } +require_once INSTALLDIR.'/lib/favorform.php'; +require_once INSTALLDIR.'/lib/disfavorform.php'; + /** * widget for displaying a list of notices * -- cgit v1.2.3-54-g00ecf From 16619439ab7d67331722cc00e3b24f451ee8fa6a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 15 Jan 2009 23:44:19 +0000 Subject: Move some accounting stuff from publicgroupnav to action More dl's and dd's. Rather than replicate them in every sub-class, let's just put them in one place. --- lib/action.php | 5 +++++ lib/publicgroupnav.php | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/action.php b/lib/action.php index ed8b5c352..9534073ec 100644 --- a/lib/action.php +++ b/lib/action.php @@ -297,7 +297,12 @@ class Action extends HTMLOutputter // lawsuit function showCore() { $this->elementStart('div', array('id' => 'core')); + $this->elementStart('dl', array('id' => 'site_nav_local_views')); + $this->element('dt', null, _('Local views')); + $this->elementStart('dd'); $this->showLocalNav(); + $this->elementEnd('dd'); + $this->elementEnd('dl'); $this->showContentBlock(); $this->showAside(); $this->elementEnd('div'); diff --git a/lib/publicgroupnav.php b/lib/publicgroupnav.php index 1e5ed7359..7860783fa 100644 --- a/lib/publicgroupnav.php +++ b/lib/publicgroupnav.php @@ -77,9 +77,6 @@ class PublicGroupNav extends Widget function show() { - $this->action->elementStart('dl', array('id' => 'site_nav_local_views')); - $this->action->element('dt', null, _('Local views')); - $this->action->elementStart('dd', null); $this->action->elementStart('ul', array('class' => 'nav')); $this->out->menuItem(common_local_url('public'), _('Public'), @@ -97,7 +94,5 @@ class PublicGroupNav extends Widget _("Popular notices"), $this->action == 'favorited', 'nav_timeline_favorited'); $this->action->elementEnd('ul'); - $this->action->elementEnd('dd'); - $this->action->elementEnd('dl'); } } -- cgit v1.2.3-54-g00ecf From a0db0e391cdeb626436aa5941770ab1340a8156b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 15 Jan 2009 23:45:43 +0000 Subject: Move personal group nav menu to its own class --- lib/personal.php | 85 ----------------------------- lib/personalgroupnav.php | 135 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+), 85 deletions(-) create mode 100644 lib/personalgroupnav.php (limited to 'lib') diff --git a/lib/personal.php b/lib/personal.php index 4e56c9566..46f9ff6be 100644 --- a/lib/personal.php +++ b/lib/personal.php @@ -21,95 +21,10 @@ if (!defined('LACONICA')) { exit(1); } class PersonalAction extends Action { - - function is_readonly() - { - return true; - } - function handle($args) { parent::handle($args); common_set_returnto($this->self_url()); } - function views_menu() - { - - $user = null; - $action = $this->trimmed('action'); - $nickname = $this->trimmed('nickname'); - - if ($nickname) { - $user = User::staticGet('nickname', $nickname); - $user_profile = $user->getProfile(); - } else { - $user_profile = false; - } - - common_element_start('ul', array('id' => 'nav_views')); - - common_menu_item(common_local_url('all', array('nickname' => - $nickname)), - _('Personal'), - sprintf(_('%s and friends'), (($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)), - $action == 'all'); - common_menu_item(common_local_url('replies', array('nickname' => - $nickname)), - _('Replies'), - sprintf(_('Replies to %s'), (($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)), - $action == 'replies'); - common_menu_item(common_local_url('showstream', array('nickname' => - $nickname)), - _('Profile'), - ($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname, - $action == 'showstream'); - common_menu_item(common_local_url('showfavorites', array('nickname' => - $nickname)), - _('Favorites'), - sprintf(_('%s\'s favorite notices'), ($user_profile) ? $user_profile->getBestName() : _('User')), - $action == 'showfavorites'); - - $cur = common_current_user(); - - if ($cur && $cur->id == $user->id) { - - common_menu_item(common_local_url('inbox', array('nickname' => - $nickname)), - _('Inbox'), - _('Your incoming messages'), - $action == 'inbox'); - common_menu_item(common_local_url('outbox', array('nickname' => - $nickname)), - _('Outbox'), - _('Your sent messages'), - $action == 'outbox'); - } - - common_element_end('ul'); - } - - function source_link($source) - { - $source_name = _($source); - switch ($source) { - case 'web': - case 'xmpp': - case 'mail': - case 'omb': - case 'api': - common_element('span', 'noticesource', $source_name); - break; - default: - $ns = Notice_source::staticGet($source); - if ($ns) { - common_element('a', array('href' => $ns->url), - $ns->name); - } else { - common_element('span', 'noticesource', $source_name); - } - break; - } - return; - } } diff --git a/lib/personalgroupnav.php b/lib/personalgroupnav.php new file mode 100644 index 000000000..5d727a505 --- /dev/null +++ b/lib/personalgroupnav.php @@ -0,0 +1,135 @@ +. + * + * @category Action + * @package Laconica + * @author Evan Prodromou + * @author Sarven Capadisli + * @copyright 2008 Control Yourself, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://laconi.ca/ + */ + +if (!defined('LACONICA')) { + exit(1); +} + +require_once INSTALLDIR.'/lib/widget.php'; + +/** + * Base class for all 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 + * @package Laconica + * @author Evan Prodromou + * @author Sarven Capadisli + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://laconi.ca/ + * + * @see HTMLOutputter + */ + +class PersonalGroupNav 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() + { + $user = null; + + // 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(); + } else { + $user_profile = false; + } + + $this->out->elementStart('ul', array('id' => 'nav_views')); + + $this->out->menuItem(common_local_url('all', array('nickname' => + $nickname)), + _('Personal'), + sprintf(_('%s and friends'), (($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)), + $action == 'all'); + $this->out->menuItem(common_local_url('replies', array('nickname' => + $nickname)), + _('Replies'), + sprintf(_('Replies to %s'), (($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)), + $action == 'replies'); + $this->out->menuItem(common_local_url('showstream', array('nickname' => + $nickname)), + _('Profile'), + ($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname, + $action == 'showstream'); + $this->out->menuItem(common_local_url('showfavorites', array('nickname' => + $nickname)), + _('Favorites'), + sprintf(_('%s\'s favorite notices'), ($user_profile) ? $user_profile->getBestName() : _('User')), + $action == 'showfavorites'); + + $cur = common_current_user(); + + if ($cur && $cur->id == $user->id) { + + $this->out->menuItem(common_local_url('inbox', array('nickname' => + $nickname)), + _('Inbox'), + _('Your incoming messages'), + $action == 'inbox'); + $this->out->menuItem(common_local_url('outbox', array('nickname' => + $nickname)), + _('Outbox'), + _('Your sent messages'), + $action == 'outbox'); + } + + $this->out->elementEnd('ul'); + } +} -- cgit v1.2.3-54-g00ecf