Guest User

Untitled

a guest
Jul 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. <?php
  2. class Echofin_View_Helper_SiteMenu extends Zend_View_Helper_Abstract
  3. {
  4.  
  5. public function SiteMenu($options = null)
  6. {
  7. if(!Zend_Auth::getInstance()->hasIdentity())
  8. {
  9. return;
  10. }
  11. $authData = Zend_Auth::getInstance()->getIdentity();
  12.  
  13. $contact = new Contacts_Service_Contacts();
  14.  
  15. $contact->getUser()->find($authData['userId']);
  16.  
  17. // get components user has access to
  18. $components = $contact->findComponents();
  19.  
  20. $return = '<div id="componentGroups">' . $this->_buildGroupList($components) . '</div>'
  21. . '<div id="components"><a name="components"></a>'
  22. . '<span class="scroller scroller_left"></span>'
  23. . '<span class="scroller scroller_right"></span>'
  24. . '<div id="scrollBody">' . $this->_buildComponentList($components) . '</div>'
  25. . '</div>'
  26. ;
  27.  
  28. return $return;
  29. }
  30.  
  31. protected function _buildGroupList($components)
  32. {
  33. $return = '<li class="selected"><a href="#components" rel="component_jumplist"><span>All</span></a></li>';
  34.  
  35. $groups = array();
  36. foreach($components as $component)
  37. {
  38. if(array_key_exists($component->getGroupId(),$groups)) continue;
  39.  
  40. $group = new Default_Model_ComponentGroups();
  41. $groups[$component->getGroupId()] = $group->find($component->getGroupId());
  42. }
  43.  
  44. foreach($groups as $group)
  45. {
  46. if(!$group->getIsActive()) continue;
  47. $return .= '<li class="selected"><a href="#' . strtolower(str_replace(' ','_',$group->getTitle())) . '_components" rel="component_jumplist"><span>' . $group->getTitle() . '</span></a></li>';
  48. }
  49.  
  50. return $return;
  51. }
  52.  
  53. protected function _buildComponentList($components)
  54. {
  55. $return = '';
  56.  
  57. $groups = array();
  58. foreach($components as $component)
  59. {
  60. $groups[$component->getGroupId()][] = $component;
  61. }
  62.  
  63. foreach($groups as $group_id => $components)
  64. {
  65. $group = new Default_Model_ComponentGroups();
  66. $group->find($group_id);
  67.  
  68. $return .= '<div id="' . strtolower(str_replace(' ','_',$group->getTitle())) . '_components"><a name="' . strtolower(str_replace(' ','_',$group->getTitle())) . '_components"></a>';
  69. foreach($components as $component)
  70. {
  71. echo $component->getIsActive();
  72. if(!$component->getIsActive()) continue;
  73. $return .= '<dl class="component">'
  74. . '<dt>' . $component->getName() . '</dt>';
  75. print_r($component->getLinks());
  76. $json = Zend_Json_Decoder::decode($component->getLinks());
  77. if(is_array($json))
  78. {
  79. foreach($json as $title => $data)
  80. {
  81. $return .= '<dd><a href="' . $this->view->url(array('action'=>$data['action'],'controller'=>$data['controller'],'module'=>$data['module'])) . '">' . $title . '</a></dd>';
  82. }
  83. }
  84. $return .= '</dl>';
  85. }
  86.  
  87. $return .= '</div>';
  88. }
  89.  
  90. return $return;
  91.  
  92.  
  93. /*
  94. *
  95. <dd><a href="">Dashboard</a></dd>
  96. <dd><a href="">Profile</a></dd>
  97. <dd><a href="">Log Out</a></dd>
  98. */
  99. }
  100.  
  101. }
Add Comment
Please, Sign In to add comment