X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=frontaccounting.php;h=60ebd99ccd6a0756100474df4f87b9e02b18d073;hb=42e7c789b5c755130859f7e487d7c3057fadfcdf;hp=0f4c98d71d54b5ba443298840cb5c1ef18ee64ee;hpb=f4a1c856f1a7329c1414bcdf6cebc8c7830125f0;p=fa-stable.git diff --git a/frontaccounting.php b/frontaccounting.php index 0f4c98d7..60ebd99c 100644 --- a/frontaccounting.php +++ b/frontaccounting.php @@ -9,17 +9,25 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ - include_once('applications/application.php'); - include_once('applications/customers.php'); - include_once('applications/suppliers.php'); - include_once('applications/inventory.php'); - include_once('applications/manufacturing.php'); - include_once('applications/dimensions.php'); - include_once('applications/generalledger.php'); - include_once('applications/setup.php'); - include_once('installed_extensions.php'); - $path_to_root="."; - include_once($path_to_root . "/includes/session.inc"); +if (!isset($path_to_root) || isset($_GET['path_to_root']) || isset($_POST['path_to_root'])) + die("Restricted access"); + include_once($path_to_root . '/applications/application.php'); + 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/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'); + if (count($installed_extensions) > 0) + { + foreach ($installed_extensions as $ext) + { + if ($ext['type'] == 'module') + include_once($path_to_root."/".$ext['path']."/".$ext['filename']); + } + } class front_accounting { @@ -34,9 +42,10 @@ { //$this->renderer =& new renderer(); } - function add_application($app) - { - $this->applications[$app->id] = &$app; + function add_application(&$app) + { + if ($app->enabled) // skip inactive modules + $this->applications[$app->id] = &$app; } function get_application($id) { @@ -66,7 +75,7 @@ } function init() { - global $installed_extensions, $applications, $path_to_root; + 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"); @@ -81,13 +90,15 @@ { foreach ($installed_extensions as $ext) { - get_text::add_domain($_SESSION['language']->code, - $ext['folder']."/lang"); - include_once($ext['folder']."/".$ext['app_file']); - $class = $ext['name']."_app"; - $this->add_application(new $class()); - 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"); + } } }