original_string: protected function menu()
      {
  
          $this->Benchmark->start('getMenu');
          try {
              $menu = $this->CMSNavItemService->getMenu();
          } catch (Exception $e) {
              return '';
          }
          $this->Benchmark->end('getMenu');
  
          $this->Benchmark->start('buildMenu');
          $dom_id    = $this->getParameter('id');
          $dom_class = $this->getParameter('class');
  
          $this->matchedCurrentURI = false;
  
          $root_options = array();
          if (!empty($dom_id))
              $root_options[] = "id='{$dom_id}'";
          if (!empty($dom_class))
              $root_options[] = "class='{$dom_class}'";
  
          $family_tree = "<ul " . join(' ', $root_options). ">\n";
  
          $this->requestURI = ltrim($this->Request->getAdjustedRequestURI(), '/');
  
          foreach ( $menu as $parent ) {
              $family_tree .= $this->_buildMenuTree($parent, "parent", "<span>%s</span>", true);
          }
  
          $family_tree .= "</ul>\n";
          $this->Benchmark->end('buildMenu');
  
          return $family_tree;
      }
code: protected function menu()
      {
  
          $this->Benchmark->start('getMenu');
          try {
              $menu = $this->CMSNavItemService->getMenu();
          } catch (Exception $e) {
              return '';
          }
          $this->Benchmark->end('getMenu');
  
          $this->Benchmark->start('buildMenu');
          $dom_id    = $this->getParameter('id');
          $dom_class = $this->getParameter('class');
  
          $this->matchedCurrentURI = false;
  
          $root_options = array();
          if (!empty($dom_id))
              $root_options[] = "id='{$dom_id}'";
          if (!empty($dom_class))
              $root_options[] = "class='{$dom_class}'";
  
          $family_tree = "<ul " . join(' ', $root_options). ">\n";
  
          $this->requestURI = ltrim($this->Request->getAdjustedRequestURI(), '/');
  
          foreach ( $menu as $parent ) {
              $family_tree .= $this->_buildMenuTree($parent, "parent", "<span>%s</span>", true);
          }
  
          $family_tree .= "</ul>\n";
          $this->Benchmark->end('buildMenu');
  
          return $family_tree;
      }
code_tokens: protected function menu ( ) { $ this -> Benchmark -> start ( 'getMenu' ) ; try { $ menu = $ this -> CMSNavItemService -> getMenu ( ) ; } catch ( Exception $ e ) { return '' ; } $ this -> Benchmark -> end ( 'getMenu' ) ; $ this -> Benchmark -> start ( 'buildMenu' ) ; $ dom_id = $ this -> getParameter ( 'id' ) ; $ dom_class = $ this -> getParameter ( 'class' ) ; $ this -> matchedCurrentURI = false ; $ root_options = array ( ) ; if ( ! empty ( $ dom_id ) ) $ root_options [ ] = "id='{$dom_id}'" ; if ( ! empty ( $ dom_class ) ) $ root_options [ ] = "class='{$dom_class}'" ; $ family_tree = "<ul " . join ( ' ' , $ root_options ) . ">\n" ; $ this -> requestURI = ltrim ( $ this -> Request -> getAdjustedRequestURI ( ) , '/' ) ; foreach ( $ menu as $ parent ) { $ family_tree .= $ this -> _buildMenuTree ( $ parent , "parent" , "<span>%s</span>" , true ) ; } $ family_tree .= "</ul>\n" ; $ this -> Benchmark -> end ( 'buildMenu' ) ; return $ family_tree ; }
docstring: Returns a full HTML rendering of the CMS navigation menu
  
  @return string
docstring_tokens: Returns a full HTML rendering of the CMS navigation menu