[0004212] Work Order Entry: fixed error when voided WO refence is reused.
[fa-stable.git] / frontaccounting.php
index d3662cd7f293619bb2a591189cea94b9b4f1fad9..a7432037aba8eb77f494bd1a9294d13be90a4bb3 100644 (file)
@@ -15,45 +15,33 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
        include_once($path_to_root . '/applications/customers.php');
        include_once($path_to_root . '/applications/suppliers.php');
        include_once($path_to_root . '/applications/inventory.php');
+       include_once($path_to_root . '/applications/fixed_assets.php');
        include_once($path_to_root . '/applications/manufacturing.php');
        include_once($path_to_root . '/applications/dimensions.php');
        include_once($path_to_root . '/applications/generalledger.php');
        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)
+               {       
+                       if ($app->enabled) // skip inactive modules
+                               $this->applications[$app->id] = $app;
                }
-               function add_application(&$app)
-                               {       
-                                       if ($app->enabled) // skip inactive modules
-                                               $this->applications[$app->id] = &$app;
-                               }
                function get_application($id)
-                               {
-                                if (isset($this->applications[$id]))
-                                       return $this->applications[$id];
-                                return null;
-                               }
+               {
+                        if (isset($this->applications[$id]))
+                               return $this->applications[$id];
+                        return null;
+               }
                function get_selected_application()
                {
                        if (isset($this->selected_application))
@@ -71,15 +59,15 @@ 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;
+                       global $SysPrefs;
 
                        $this->menu = new menu(_("Main  Menu"));
                        $this->menu->add_item(_("Main  Menu"), "index.php");
@@ -88,27 +76,15 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                        $this->add_application(new customers_app());
                        $this->add_application(new suppliers_app());
                        $this->add_application(new inventory_app());
-                       $this->add_application(new manufacturing_app());
+                       if (get_company_pref('use_manufacturing'))
+                               $this->add_application(new manufacturing_app());
+                       if (get_company_pref('use_fixed_assets'))
+                           $this->add_application(new assets_app());
                        $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());
                }
-}
-?>
\ No newline at end of file
+       }