/** * * @return <type> */ public function pages($pModule) { $pages = array(); $req = Zend_Controller_front::getInstance()->getRequest(); $active_module = $req->getModuleName(); $active_controller = $req->getControllerName(); $sql = array('(required = 1) OR (active = 1)', 'sort_by'); $modules = Administer_Model_Modules::getInstance()->find_from_sql($sql, TRUE, FALSE); foreach ($modules as $module) { $module->menu(); $module_names[] = '"' . $module->folder . '"'; } $module_is_active = sprintf(' (module = "%s") ', $active_module); $mm = Model_Menu::getInstance(); $sql = sprintf('(module in (%s)) AND (parent = 0)', join(',', $module_names)); //// at this point have selected all the menus of this module $sql .= sprintf(' AND ((if_module = 0) OR (%s)) ', $module_is_active); // if the menu only viewable in the context of the current menu, // require the module to be current error_log(__METHOD__ . ': menu sql = ' . $sql); foreach ($mm->find_from_sql(array($sql, array('sort_by', 'label'))) as $menu) { $new_pages = $menu->pages(); $pages = array_merge($pages, $new_pages); } return new Zend_Navigation($pages); }
/** * returns a rendered page identified by either a tag ($pKey) or an HTML file ($page_path). * If the module is passed, path is relative to the modules' pages folder. * * @param string $pKey * @param string $page_path * @param string | NULL $pTitle * @param string | NULL $pModule * @return string (the content of the page view */ public function filepage($pKey, $page_path, $pTitle = NULL, $pModule = NULL) { $pParams = array('name' => 'tag', 'value' => $pKey); $ion = Model_Zupalions::getInstance()->findOne($pParams); if ($ion) { $page = Pages_Model_Zupalpages::getInstance()->for_atom_id($ion->get_atomic_id()); } else { $page = new Pages_Model_Zupalpages(); if ($pModule) { $m = Administer_Model_Modules::getInstance()->get($pModule); $pages = $m->module_path('pages'); $page_path = rtrim($pages, '/') . '/' . ltrim($page_path, '/'); } $pc = file_get_contents($page_path); if (preg_match('~<title>(.*)</title>~', $pc, $m)) { $pTitle = $m[1]; } if (preg_match('~<body>(.*)</body>~', str_replace("\n", ' ', $pc), $m)) { $pc = $m[1]; } $page->set_content($pc); $page->set_title($pTitle); $page->save(); $page->add_ion($pParams); $page->add_ion('content_file', $page_path); } $params = array('id' => $page->identity()); return $this->view->action('view', 'index', 'pages', $params); }
/** * * @return void */ public function load_modules() { $options = array(0 => '(none)', 'zupal' => 'Zupal Core'); foreach (Administer_Model_Modules::getInstance()->find_all() as $res) { $options[$res->folder] = $res->title(); } $this->rolemodule->setMultiOptions($options); }
/** * * @param boolean $pReload * @return Administer_Model_Modules */ static function getInstance($pReload = FALSE) { if ($pReload || is_null(self::$_Instance)) { // process self::$_Instance = new self(Zupal_Domain_Abstract::STUB); } return self::$_Instance; }
/** * * An optional extenstion point for any field customization. * * @param array $pConfig_array * @return <type> */ protected function _filter_config(array $pConfig_array) { $indexed = Administer_Model_Modules::find_all_indexed(); foreach ($indexed as $key => $module) { $pConfig_array['elements']['root_module']['options']['multiOptions'][$key] = $module->title; } return $pConfig_array; }
/** * * * @return <type> */ public function load_modules() { $options = array(0 => '(none)'); foreach (Administer_Model_Modules::getInstance()->find_all() as $res) { $options[$res->identity()] = $res->title(); } $this->resourcemodule->setMultiOptions($options); }
/** * * @param <type> * @return <type> */ public function _initHelpers() { /** * @var Zend_View */ $view = Zend_Registry::get('view'); $module = Administer_Model_Modules::getInstance()->get('pages'); $helper_path = $module->module_path('views/helpers'); $view->addHelperPath($helper_path, 'Pages_View_Helper'); }
public function activateAction() { $module_name = $this->_getParam('module_name'); $module = Administer_Model_Modules::getInstance()->get($module_name); if (!$module) { $this->_forward('index', 'error', 'default', array(sprintf(__METHOD__ . ': no module named "%s"', $module_name))); } $on = $this->_getParam('on'); $module->active = $on ? 1 : 0; $module->save(); $this->_forward('index', NULL, NULL, array('message' => sprintf('active status of module "%s" set to "%s"', $module_name, $on ? 'YES' : 'NO'))); }
public function zupalusermenu() { ob_start(); ?> <div id="user_menu"> <h1>User</h1> <?php $user_menu = array(); $ini = Administer_Model_Modules::getInstance()->get('default')->module_path('configuration/info.ini'); $user = Model_Users::current_user(); if ($user) { echo '<span class="tagline">Viewing As ', $user->username, '</span>'; $pages = new Zend_Config_Ini($ini, 'user_menu_in'); } else { $pages = new Zend_Config_Ini($ini, 'user_menu_anon'); } echo $this->getView()->navigation()->menu()->renderMenu(new Zend_Navigation($pages)); ?> </div> <?php return ob_get_clean(); }
/** * puts the item button menu into the view context */ protected function _item_buttons() { $module = Administer_Model_Modules::getInstance()->get('game'); $buttons = $module->config_node('game_type_resource_types_menu'); $pages = new Zend_Navigation($buttons); foreach ($pages as $key => $button) { $button->setParams(array('id' => $this->view()->model->identity())); } $this->view('buttons', $pages); return $pages; }
/** * */ public function itembuttons() { $module = Administer_Model_Modules::getInstance()->get('synerg'); $model = $this->_model(); $buttons = $module->config_node('resource_types_menu'); $pages = new Zend_Navigation($buttons); foreach ($pages as $key => $button) { $label = $button->getLabel(); $label = str_replace('*', $model->title, $label); $button->setLabel($label); $button->setParams(array('id' => $this->view()->model->identity())); } $this->view('buttons', $pages); return $pages; }
/** * * @param string $pPanel = 'main' * @return Zend_Navigation */ public function pages($pPanel = 'main') { $pages = array(); $req = Zend_Controller_front::getInstance()->getRequest(); $active_module = $req->getModuleName(); $active_controller = $req->getControllerName(); $sql = array('(required = 1) OR (active = 1)', 'sort_by'); $modules = Administer_Model_Modules::getInstance()->find_from_sql($sql, TRUE, FALSE); foreach ($modules as $module) { if (!$module->active) { continue; } $module->load_menus(); $module_names[] = '"' . $module->folder . '"'; } foreach ($this->find(array('panel' => $pPanel, 'parent' => 0), 'sort_by') as $menu) { if ($new_page = $menu->page($active_module, $active_controller)) { $pages[] = $new_page; } } $router = Zend_Controller_Front::getInstance()->getRouter(); $fake_route = new Zend_Controller_Request_Http(); $fake_route->setRequestUri('/'); $router->route($fake_route); return new Zend_Navigation($pages); }