Hooks for tabs/mneu added.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 22 Nov 2010 21:09:08 +0000 (21:09 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 22 Nov 2010 21:09:08 +0000 (21:09 +0000)
applications/application.php
frontaccounting.php

index ec0de00da541ba80241b26d1ab6a892e4f5031bb..430b20c80a531b741632b9daaf9f00e2168ba2f3 100644 (file)
                
                function add_extensions()
                {
-                       global $installed_extensions, $path_to_root;
-
-                       foreach ($installed_extensions as $mod)
-                       {
-                               if (@$mod['active'] && isset($mod['entries']))
-                                       foreach($mod['entries'] as $entry) {
-                                               if ($entry['tab_id'] == $this->id) {
-                                                       set_ext_domain($mod['path']);
-//                                                     $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
-//                                                             $mod['path']."/lang");
-
-                                                       $this->add_rapp_function(
-                                                               isset($entry['section']) ? $entry['section'] : 2,
-                                                               _($entry['title']), $path_to_root.'/'.$mod['path'].'/'.$entry['url'],
-                                                               isset($entry["access"]) ? $entry["access"] : 'SA_OPEN' );
-
-                                                       set_ext_domain();
-//                                                     $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
-//                                                             $path_to_root."/lang", $_SESSION['language']->version);
-                                               }
-                                       }
-                       }
+                       hook_invoke_all('install_options', $this);
                }
                //
                // Helper returning link to report class added by extension module.
index d3662cd7f293619bb2a591189cea94b9b4f1fad9..2da5fe9fe9339665c7aab4ab0a6fa737fe6f1d80 100644 (file)
@@ -21,27 +21,17 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
        include_once($path_to_root . '/applications/setup.php');
        include_once($path_to_root . '/installed_extensions.php');
 
-       foreach ($installed_extensions as $ext)
-       {
-               if (@($ext['active'] && isset($ext['tabs']))) // supressed warnings before 2.2 upgrade
-                       foreach($ext['tabs'] as $tab) {
-                               include_once($path_to_root.'/'.$ext['path'].'/'.$tab['url']);
-                       }
-       }
-
        class front_accounting
                {
                var $user;
                var $settings;
                var $applications;
                var $selected_application;
-               // GUI
+
                var $menu;
-               //var $renderer;
 
                function front_accounting()
                {
-                       //$this->renderer =& new renderer();
                }
                function add_application(&$app)
                                {       
@@ -71,15 +61,14 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                        $this->init();
                        $rend = new renderer();
                        $rend->wa_header();
-                       //$rend->menu_header($this->menu);
+
                        $rend->display_applications($this);
-                       //$rend->menu_footer($this->menu);
+
                        $rend->wa_footer();
                        $this->renderer =& $rend;
                }
                function init()
                {
-                       global $installed_extensions, $path_to_root;
 
                        $this->menu = new menu(_("Main  Menu"));
                        $this->menu->add_item(_("Main  Menu"), "index.php");
@@ -92,22 +81,8 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                        $this->add_application(new dimensions_app());
                        $this->add_application(new general_ledger_app());
 
-                       // Do not use global array directly here, or you suffer 
-                       // from buggy php behaviour (unexpected loop break 
-                       // because of same var usage in class constructor).
-                       $extensions = $installed_extensions;
-                       foreach ($extensions as $ext)
-                       {
-                               if (@($ext['active'] && isset($ext['tabs']))) { // supressed warnings before 2.2 upgrade
-                                       set_ext_domain($ext['path']);
-                                       foreach($ext['tabs'] as $tab) {
-                                               $class = $tab['tab_id']."_app";
-                                               if (class_exists($class))
-                                                       $this->add_application(new $class());
-                                       }
-                               }
-                       }
-                       set_ext_domain();
+                       hook_invoke_all('install_tabs', $this);
+
                        $this->add_application(new setup_app());
                }
 }