public function getMainMenu() { $modulesDb = new Application_Model_DbTable_Module(); $modules = $modulesDb->fetchAll(); $mainmenu = array(); foreach ($modules as $module) { if ($module->active && $module->menu) { $data = Zend_Json::decode($module->menu); foreach ($data as $key => $value) { if (isset($mainmenu[$key]['childs'])) { foreach ($value['childs'] as $ordering => $child) { $mainmenu[$key]['childs'][$ordering] = $child; } } else { $mainmenu[$key] = $value; } } } } foreach ($mainmenu as $key => $value) { if (isset($value['childs'])) { ksort($mainmenu[$key]['childs']); } } return $mainmenu; }
/** * Save/Update Module entity * * @param Application_Model_Module $module */ public function save(Application_Model_Module $module) { $data = array('id' => $module->get_id(), 'application_id' => $module->get_application_id(), 'code' => $module->get_code(), 'name' => $module->get_name(), 'description' => $module->get_description(), 'settings' => $module->get_settings(), 'data' => $module->get_data()); $id = $module->get_id(); if (!isset($id) || $id <= 0) { unset($data['id']); $moduleId = $this->_dbTable->insert($data); if ($moduleId > 0) { $module->set_id($moduleId); return true; } else { return false; } } else { $result = $this->_dbTable->update($data, array('id = ?' => $id)); return $result > 0; } }