X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=frontaccounting.php;h=4ae88cbb1f6f5c681576b116dbded1075cd3b057;hb=0079bcececc5700a07b4bffb546f4ef5870d4ea9;hp=033c99283758f9f537cb096323221779ad7b69f2;hpb=80dd97a37f674cc3691fa04af4c29607067566b2;p=fa-stable.git diff --git a/frontaccounting.php b/frontaccounting.php index 033c9928..4ae88cbb 100644 --- a/frontaccounting.php +++ b/frontaccounting.php @@ -24,12 +24,11 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_ { foreach ($installed_extensions as $ext) { - include_once($path_to_root."/".$ext['folder']."/".$ext['app_file']); + if ($ext['type'] == 'module') + include_once($path_to_root."/".$ext['path']."/".$ext['filename']); } } - include_once($path_to_root . '/modules/installed_modules.php'); - class front_accounting { var $user; @@ -77,6 +76,7 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_ function init() { global $installed_extensions, $path_to_root; + $this->menu = new menu(_("Main Menu")); $this->menu->add_item(_("Main Menu"), "index.php"); $this->menu->add_item(_("Logout"), "/account/access/logout.php"); @@ -89,18 +89,26 @@ if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_ $this->add_application(new general_ledger_app()); if (count($installed_extensions) > 0) { - foreach ($installed_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) { - $_SESSION['get_text']->add_domain($_SESSION['language']->code, - $ext['folder']."/lang"); - $class = $ext['name']."_app"; - $this->add_application(new $class()); - $_SESSION['get_text']->add_domain($_SESSION['language']->code, - $path_to_root."/lang"); + 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 (class_exists($class)) + $this->add_application(new $class()); + $_SESSION['get_text']->add_domain($_SESSION['language']->code, + $path_to_root."/lang"); + } } } $this->add_application(new setup_app()); - } + } } ?> \ No newline at end of file