-
Notifications
You must be signed in to change notification settings - Fork 98
/
frontaccounting.php
91 lines (81 loc) · 3.05 KB
/
frontaccounting.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?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 $renderer = null;
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());
}
}