Support for new packaged extensions system.
[fa-stable.git] / frontaccounting.php
index 4ae88cbb1f6f5c681576b116dbded1075cd3b057..3324d6bb4bdcd14b978305979626d659b296863c 100644 (file)
@@ -20,14 +20,14 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
        include_once($path_to_root . '/applications/generalledger.php');
        include_once($path_to_root . '/applications/setup.php');
        include_once($path_to_root . '/installed_extensions.php');
-       if (count($installed_extensions) > 0)
+
+       foreach ($installed_extensions as $ext)
        {
-               foreach ($installed_extensions as $ext)
-               {
-                       if ($ext['type'] == 'module')
-                               include_once($path_to_root."/".$ext['path']."/".$ext['filename']);
-               }
-       }       
+               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
                {
@@ -38,6 +38,7 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                // GUI
                var $menu;
                //var $renderer;
+
                function front_accounting()
                {
                        //$this->renderer =& new renderer();
@@ -64,7 +65,9 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                function display()
                {
                        global $path_to_root;
-                       include($path_to_root . "/themes/".user_theme()."/renderer.php");
+                       
+                       include_once($path_to_root . "/themes/".user_theme()."/renderer.php");
+
                        $this->init();
                        $rend = new renderer();
                        $rend->wa_header();
@@ -72,6 +75,7 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                        $rend->display_applications($this);
                        //$rend->menu_footer($this->menu);
                        $rend->wa_footer();
+                       $this->renderer =& $rend;
                }
                function init()
                {
@@ -87,27 +91,25 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_
                        $this->add_application(new manufacturing_app());
                        $this->add_application(new dimensions_app());
                        $this->add_application(new general_ledger_app());
-                       if (count($installed_extensions) > 0)
+
+                       // 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)
                        {
-                               // 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'] && $ext['type'] == 'module')) // supressed warnings before 2.2 upgrade
-                                       { 
-                                               $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
-                                                       $ext['path']."/lang");
-                                               $class = $ext['tab']."_app";
+                               if (@($ext['active'] && isset($ext['tabs']))) { // supressed warnings before 2.2 upgrade
+                                       $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
+                                               $ext['path']."/lang");
+                                       foreach($ext['tabs'] as $tab) {
+                                               $class = $tab['tab_id']."_app";
                                                if (class_exists($class))
                                                        $this->add_application(new $class());
-                                               $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
-                                                       $path_to_root."/lang");
                                        }
                                }
-                       }       
-                       
+                       }
+                       $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
+                               $path_to_root."/lang", $_SESSION['language']->version);
                        $this->add_application(new setup_app());
                }
 }