Example #1
0
 /**
  *
  * @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);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  *
  * @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);
 }
Example #4
0
 /**
  *
  * @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;
 }
Example #5
0
 /**
  *
  * 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);
 }
Example #7
0
 /**
  *
  * @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;
 }
Example #12
0
 /**
  *
  * @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);
 }