[0004212] Work Order Entry: fixed error when voided WO refence is reused.
[fa-stable.git] / frontaccounting.php
index 77163a540a44f66c990c8bed35d8c176d0985683..a7432037aba8eb77f494bd1a9294d13be90a4bb3 100644 (file)
@@ -1,49 +1,90 @@
-<?php\r
-       include_once('applications/application.php');\r
-       include_once('applications/customers.php');\r
-       include_once('applications/suppliers.php');\r
-       include_once('applications/inventory.php');\r
-       include_once('applications/manufacturing.php');\r
-       include_once('applications/dimensions.php');\r
-       include_once('applications/generalledger.php');\r
-       include_once('applications/setup.php');\r
-       include_once('themes/default/renderer.php');\r
-       $path_to_root=".";\r
-       include_once($path_to_root . "/includes/session.inc");\r
-
-       class front_accounting \r        {\r              var $user;\r
-               var $settings;\r
-               var $applications;\r
-               var $selected_application;\r
-               // GUI\r
-               var $menu;\r
-               var $renderer;\r
-               function front_accounting() \r           {\r                      $this->renderer = new renderer();\r              }\r
-               function add_application($app) \r                {\r                      $this->applications[$app->id] = &$app;\r         }\r
-               function get_application($id) \r         {\r                      if (isset($this->applications[$id]))\r
-                               return $this->applications[$id];\r
-                       return null;\r           }\r
-               function get_selected_application() \r           {\r                      if (isset($this->selected_application))\r
-                               return $this->applications[$this->selected_application];\r
-                       foreach ($this->applications as $application)\r
-                               return $application;\r
-                       return null;\r           }\r
-               function display() \r            {\r                      $this->init();\r
-                       $this->renderer->wa_header();\r
-                       $this->renderer->menu_header($this->menu);\r
-                       $this->renderer->display_applications($this);\r
-                       $this->renderer->menu_footer($this->menu);\r
-                       $this->renderer->wa_footer();\r          }\r
-               function init() \r               {\r
-                       $this->menu = new menu(_("Main  Menu"));\r
-                       $this->menu->add_item(_("Main  Menu"), "index.php");\r
-                       $this->menu->add_item(_("Logout"), "/account/access/logout.php");\r
-                       $this->applications = array();\r
-                       $this->add_application(new customers_app());\r
-                       $this->add_application(new suppliers_app());\r
-                       $this->add_application(new inventory_app());\r
-                       $this->add_application(new manufacturing_app());\r
-                       $this->add_application(new dimensions_app());\r
-                       $this->add_application(new general_ledger_app());\r
-                       $this->add_application(new setup_app());\r               }\r      }\r
-?>
\ No newline at end of file
+<?php
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+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/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');
+
+       class front_accounting
+       {
+               var $user;
+               var $settings;
+               var $applications;
+               var $selected_application;
+
+               var $menu;
+
+               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;
+               }
+               function get_selected_application()
+               {
+                       if (isset($this->selected_application))
+                                return $this->applications[$this->selected_application];
+                       foreach ($this->applications as $application)
+                               return $application;
+                       return null;
+               }
+               function display()
+               {
+                       global $path_to_root;
+                       
+                       include_once($path_to_root . "/themes/".user_theme()."/renderer.php");
+
+                       $this->init();
+                       $rend = new renderer();
+                       $rend->wa_header();
+
+                       $rend->display_applications($this);
+
+                       $rend->wa_footer();
+                       $this->renderer =& $rend;
+               }
+               function init()
+               {
+                       global $SysPrefs;
+
+                       $this->menu = new menu(_("Main  Menu"));
+                       $this->menu->add_item(_("Main  Menu"), "index.php");
+                       $this->menu->add_item(_("Logout"), "/account/access/logout.php");
+                       $this->applications = array();
+                       $this->add_application(new customers_app());
+                       $this->add_application(new suppliers_app());
+                       $this->add_application(new inventory_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());
+
+                       hook_invoke_all('install_tabs', $this);
+
+                       $this->add_application(new setup_app());
+               }
+       }