Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Echofin_View_Helper_SiteMenu extends Zend_View_Helper_Abstract
- {
- public function SiteMenu($options = null)
- {
- if(!Zend_Auth::getInstance()->hasIdentity())
- {
- return;
- }
- $authData = Zend_Auth::getInstance()->getIdentity();
- $contact = new Contacts_Service_Contacts();
- $contact->getUser()->find($authData['userId']);
- // get components user has access to
- $components = $contact->findComponents();
- $return = '<div id="componentGroups">' . $this->_buildGroupList($components) . '</div>'
- . '<div id="components"><a name="components"></a>'
- . '<span class="scroller scroller_left"></span>'
- . '<span class="scroller scroller_right"></span>'
- . '<div id="scrollBody">' . $this->_buildComponentList($components) . '</div>'
- . '</div>'
- ;
- return $return;
- }
- protected function _buildGroupList($components)
- {
- $return = '<li class="selected"><a href="#components" rel="component_jumplist"><span>All</span></a></li>';
- $groups = array();
- foreach($components as $component)
- {
- if(array_key_exists($component->getGroupId(),$groups)) continue;
- $group = new Default_Model_ComponentGroups();
- $groups[$component->getGroupId()] = $group->find($component->getGroupId());
- }
- foreach($groups as $group)
- {
- if(!$group->getIsActive()) continue;
- $return .= '<li class="selected"><a href="#' . strtolower(str_replace(' ','_',$group->getTitle())) . '_components" rel="component_jumplist"><span>' . $group->getTitle() . '</span></a></li>';
- }
- return $return;
- }
- protected function _buildComponentList($components)
- {
- $return = '';
- $groups = array();
- foreach($components as $component)
- {
- $groups[$component->getGroupId()][] = $component;
- }
- foreach($groups as $group_id => $components)
- {
- $group = new Default_Model_ComponentGroups();
- $group->find($group_id);
- $return .= '<div id="' . strtolower(str_replace(' ','_',$group->getTitle())) . '_components"><a name="' . strtolower(str_replace(' ','_',$group->getTitle())) . '_components"></a>';
- foreach($components as $component)
- {
- echo $component->getIsActive();
- if(!$component->getIsActive()) continue;
- $return .= '<dl class="component">'
- . '<dt>' . $component->getName() . '</dt>';
- print_r($component->getLinks());
- $json = Zend_Json_Decoder::decode($component->getLinks());
- if(is_array($json))
- {
- foreach($json as $title => $data)
- {
- $return .= '<dd><a href="' . $this->view->url(array('action'=>$data['action'],'controller'=>$data['controller'],'module'=>$data['module'])) . '">' . $title . '</a></dd>';
- }
- }
- $return .= '</dl>';
- }
- $return .= '</div>';
- }
- return $return;
- /*
- *
- <dd><a href="">Dashboard</a></dd>
- <dd><a href="">Profile</a></dd>
- <dd><a href="">Log Out</a></dd>
- */
- }
- }
Add Comment
Please, Sign In to add comment