function getDeeper($id = 0) { $m = $this->funcGetList($id); $mu = new Default_Model_Url(); $menu = array(); $front = Zend_Controller_Front::getInstance(); $router = $front->getRouter(); $request = $front->getRequest(); $reg = Zend_Registry::isRegistered('Zkernel_Multilang') ? Zend_Registry::get('Zkernel_Multilang') : ''; $view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view; if ($m) { foreach ($m as $el) { if ($this->funcElCheck($el)) { $el = $view->override()->overrideSingle($el, 'menu'); $p = $reg && !$reg->session && !@$reg->_default->domain ? array('lang' => $reg->stitle) : array(); if ($el->route && $el->param && $el->route) { if ($el->route == 'default') { $map = ''; } else { $mk = substr($el->route, 7); if (isset($this->_map_cache[$mk])) { $map = $this->_map_cache[$mk]; } else { $map = $mu->fetchOne('map', array('`id` = ?' => substr($el->route, 7))); $this->_map_cache[$mk] = $map; } } $pp = explode(',', $el->param); if ($map) { $mp = explode(',', $map); if ($mp && $pp) { foreach ($mp as $n => $mp1) { $p[$mp1] = $pp[$n]; } } } else { if ($pp) { foreach ($pp as $mp1) { $ppp = explode(':', $mp1); $p[@$ppp[0] ? $ppp[0] : 'id'] = @$ppp[1]; } } } } if (empty($el->url)) { $md = array('label' => $el->title, 'controller' => $el->controller, 'action' => $el->action, 'params' => $p, 'route' => $el->route ? $el->route : 'default', 'uri' => $el->url, 'pages' => $this->getDeeper($el->id)); $d = $el->toArray(); unset($d['param']); $menu[] = array_merge($d, $this->funcElArray($el, $md)); } else { $md = array('label' => $el->title, 'uri' => $el->url, 'pages' => $this->getDeeper($el->id), 'key' => $el->key, 'pic' => $el->pic); $menu[] = $this->funcElArray($el, $md); } } } } return $menu; }
function _getRoutes() { $model = new Default_Model_Url(); $route = $model->fetchOne('id', array('`url` = "page/(.*)"')); $ret = array(); $res = $this->model->fetchAll('`cedit` = 1', 'title'); if ($res) { $res = $this->view->override($res, 'page'); foreach ($res as $el) { $ret[$el->stitle . '|dbroute' . $route] = $el->title; } } return $ret; }