Bad handling of graphic links in certain browsers
[fa-stable.git] / frontaccounting.php
index 409186c12d9f73cea4f1b1e895324a628b14c4c8..ebc533df3fb162fa05467b6b593f162e0176b03f 100644 (file)
@@ -1,4 +1,14 @@
 <?php
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU Affero General Public License,
+       AGPL, 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/agpl-3.0.html>.
+***********************************************************************/
        include_once('applications/application.php');
        include_once('applications/customers.php');
        include_once('applications/suppliers.php');
        include_once('applications/dimensions.php');
        include_once('applications/generalledger.php');
        include_once('applications/setup.php');
-       include_once('themes/default/renderer.php');
+       include_once('installed_extensions.php');
        $path_to_root=".";
        include_once($path_to_root . "/includes/session.inc");
 
-       class front_accounting 
+       class front_accounting
                {
                var $user;
                var $settings;
                var $selected_application;
                // GUI
                var $menu;
-               var $renderer;
-               function front_accounting() 
-                               {
-                                                       $this->renderer = new renderer();
-                               }
-               function add_application($app) 
+               //var $renderer;
+               function front_accounting()
+               {
+                       //$this->renderer =& new renderer();
+               }
+               function add_application($app)
                                {
                                                        $this->applications[$app->id] = &$app;
                                }
-               function get_application($id) 
+               function get_application($id)
                                {
                                 if (isset($this->applications[$id]))
                                        return $this->applications[$id];
                                 return null;
                                }
-               function get_selected_application() 
-                               {
-                                                       if (isset($this->selected_application))
+               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() 
-                               {
-                                                       $this->init();
-                       $this->renderer->wa_header();
-                       $this->renderer->menu_header($this->menu);
-                       $this->renderer->display_applications($this);
-                       $this->renderer->menu_footer($this->menu);
-                       $this->renderer->wa_footer();
-                               }
-               function init() 
-                               {
+               }
+               function display()
+               {
+                       global $path_to_root;
+                       include($path_to_root . "/themes/".user_theme()."/renderer.php");
+                       $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();
+               }
+               function init()
+               {
+                       global $installed_extensions, $applications;
                        $this->menu = new menu(_("Main  Menu"));
                        $this->menu->add_item(_("Main  Menu"), "index.php");
                        $this->menu->add_item(_("Logout"), "/account/access/logout.php");
                        $this->add_application(new manufacturing_app());
                        $this->add_application(new dimensions_app());
                        $this->add_application(new general_ledger_app());
-                       $this->add_application(new setup_app());
+                       if (count($installed_extensions) > 0)
+                       {
+                               foreach ($installed_extensions as $ext)
+                               {
+                                       include_once("applications/".$ext['app_file']);
+                                       $class = $ext['name']."_app";
+                                       $this->add_application(new $class());
+                               }
                        }       
+                       
+                       $this->add_application(new setup_app());
+                       }
 }
 ?>
\ No newline at end of file