/home/edulekha/studygroup.edulekha.com/ow_plugins/questions/components/feed_menu.php
<?php

class QUESTIONS_CMP_FeedMenu extends OW_Component
{
    private $order;

    public function __construct()
    {
        parent::__construct();

        $this->addComponent('menu', $this->getMenu());

        $this->order = QUESTIONS_BOL_FeedService::getInstance()->getDefaultOrder();
    }

    public function setOrder( $order )
    {
        $this->order = $order;
    }

    public function onBeforeRender()
    {
        parent::onBeforeRender();

        $contextActionMenu = new BASE_CMP_ContextAction();

        $contextParentAction = new BASE_ContextAction();
        $contextParentAction->setKey('question_list_order');
        $contextParentAction->setLabel('<span class="ql-sort-btn">' . OW::getLanguage()->text('questions', 'feed_order_' . $this->order) . '</span>');
        $contextActionMenu->addAction($contextParentAction);

        $contextAction = new BASE_ContextAction();
        $contextAction->setParentKey($contextParentAction->getKey());
        $contextAction->setLabel('<span class="ql-sort-order-label">' . OW::getLanguage()->text('questions', 'feed_order_' . QUESTIONS_CMP_Feed::ORDER_LATEST) . '</span>');
        $contextAction->setUrl('javascript://');
        $contextAction->setKey(QUESTIONS_CMP_Feed::ORDER_LATEST);
        $contextAction->setOrder(1);
        $contextAction->addAttribute('qorder', QUESTIONS_CMP_Feed::ORDER_LATEST);

        $class = array('ql-sort-item');
        if ( $this->order == QUESTIONS_CMP_Feed::ORDER_LATEST )
        {
            $class[] = 'ql-sort-item-checked';
        }

        $contextAction->setClass(implode(' ', $class));

        $contextActionMenu->addAction($contextAction);


        $contextAction = new BASE_ContextAction();
        $contextAction->setParentKey($contextParentAction->getKey());
        $contextAction->setLabel('<span class="ql-sort-order-label">' . OW::getLanguage()->text('questions', 'feed_order_' . QUESTIONS_CMP_Feed::ORDER_POPULAR) . '</span>');
        $contextAction->setUrl('javascript://');
        $contextAction->setKey(QUESTIONS_CMP_Feed::ORDER_POPULAR);
        $contextAction->setOrder(2);
        $contextAction->addAttribute('qorder', QUESTIONS_CMP_Feed::ORDER_POPULAR);

        $class = array('ql-sort-item');
        if ( $this->order == QUESTIONS_CMP_Feed::ORDER_POPULAR )
        {
            $class[] = 'ql-sort-item-checked';
        }

        $contextAction->setClass(implode(' ', $class));

        $contextActionMenu->addAction($contextAction);

        $this->addComponent('sortControl', $contextActionMenu);
    }

    public function getMenu()
    {
        $language = OW::getLanguage();

        $menu = new BASE_CMP_ContentMenu();

        $menuItem = new BASE_MenuItem();
        $menuItem->setKey('all');
        $menuItem->setPrefix('questions');
        $menuItem->setLabel( $language->text('questions', 'list_all_tab') );
        $menuItem->setOrder(1);
        $menuItem->setUrl(OW::getRouter()->urlForRoute('questions-all'));
        $menuItem->setIconClass('ow_ic_lens');

        $menu->addElement($menuItem);

        if ( OW::getUser()->isAuthenticated() )
        {
            if ( OW::getPluginManager()->isPluginActive('friends') )
            {
                $menuItem = new BASE_MenuItem();
                $menuItem->setKey('friends');
                $menuItem->setPrefix('questions');
                $menuItem->setLabel( $language->text('questions', 'list_friends_tab') );
                $menuItem->setOrder(2);
                $menuItem->setUrl(OW::getRouter()->urlForRoute('questions-friends'));
                $menuItem->setIconClass('ow_ic_user');

                $menu->addElement($menuItem);
            }

            $menuItem = new BASE_MenuItem();
            $menuItem->setKey('my');
            $menuItem->setPrefix('questions');
            $menuItem->setLabel( $language->text('questions', 'list_my_tab') );
            $menuItem->setOrder(3);
            $menuItem->setUrl(OW::getRouter()->urlForRoute('questions-my'));
            $menuItem->setIconClass('ow_ic_user');

            $menu->addElement($menuItem);
        }

        return $menu;
    }
}