1<?php 2/********************************************************************** 3 Copyright (C) FrontAccounting, LLC. 4 Released under the terms of the GNU General Public License, GPL, 5 as published by the Free Software Foundation, either version 3 6 of the License, or (at your option) any later version. 7 This program is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>. 11***********************************************************************/ 12 13define('MENU_ENTRY', 'menu_entry'); 14define('MENU_TRANSACTION', 'menu_transaction'); 15define('MENU_INQUIRY', 'menu_inquiry'); 16define('MENU_REPORT', 'menu_report'); 17define('MENU_MAINTENANCE', 'menu_maintenance'); 18define('MENU_UPDATE', 'menu_update'); 19define('MENU_SETTINGS', 'menu_settings'); 20define('MENU_SYSTEM', 'menu_system'); 21 22 class menu_item 23 { 24 var $label; 25 var $link; 26 27 function menu_item($label, $link) 28 { 29 $this->label = $label; 30 $this->link = $link; 31 } 32 } 33 34 class menu 35 { 36 var $title; 37 var $items; 38 39 function menu($title) 40 { 41 $this->title = $title; 42 $this->items = array(); 43 } 44 45 function add_item($label, $link) 46 { 47 $item = new menu_item($label,$link); 48 array_push($this->items,$item); 49 return $item; 50 } 51 52 } 53 54 class app_function 55 { 56 var $label; 57 var $link; 58 var $access; 59 var $category; 60 61 function app_function($label,$link,$access='SA_OPEN',$category='') 62 { 63 $this->label = $label; 64 $this->link = $link; 65 $this->access = $access; 66 $this->category = $category; 67 } 68 } 69 70 class module 71 { 72 var $name; 73 var $icon; 74 var $lappfunctions; 75 var $rappfunctions; 76 77 function module($name,$icon = null) 78 { 79 $this->name = $name; 80 $this->icon = $icon; 81 $this->lappfunctions = array(); 82 $this->rappfunctions = array(); 83 } 84 85 function add_lapp_function($label,$link="",$access='SA_OPEN',$category='') 86 { 87 $appfunction = new app_function($label,$link,$access,$category); 88 //array_push($this->lappfunctions,$appfunction); 89 $this->lappfunctions[] = $appfunction; 90 return $appfunction; 91 } 92 93 function add_rapp_function($label,$link="",$access='SA_OPEN',$category='') 94 { 95 $appfunction = new app_function($label,$link,$access,$category); 96 //array_push($this->rappfunctions,$appfunction); 97 $this->rappfunctions[] = $appfunction; 98 return $appfunction; 99 } 100 101 102 } 103 104 class application 105 { 106 var $id; 107 var $name; 108 var $help_context; 109 var $modules; 110 var $enabled; 111 112 function application($id, $name, $enabled=true) 113 { 114 $this->id = $id; 115 $this->name = $name; 116 $this->enabled = $enabled; 117 $this->modules = array(); 118 } 119 120 function add_module($name, $icon = null) 121 { 122 $module = new module($name,$icon); 123 //array_push($this->modules,$module); 124 $this->modules[] = $module; 125 return $module; 126 } 127 128 function add_lapp_function($level, $label,$link="",$access='SA_OPEN',$category='') 129 { 130 $this->modules[$level]->lappfunctions[] = new app_function($label, $link, $access, $category); 131 } 132 133 function add_rapp_function($level, $label,$link="",$access='SA_OPEN',$category='') 134 { 135 $this->modules[$level]->rappfunctions[] = new app_function($label, $link, $access, $category); 136 } 137 138 function add_extensions() 139 { 140 hook_invoke_all('install_options', $this); 141 } 142 // 143 // Helper returning link to report class added by extension module. 144 // 145 function report_class_url($class) 146 { 147 global $installed_extensions; 148 149 // TODO : konwencja lub ? 150 $classno = 7; 151// if (file_exists($path_to_root.'/'.$mod['path'].'/'.$entry['url'] 152// .'/'.'reporting/reports_custom.php')) 153 return "reporting/reports_main.php?Class=".$class; 154// else 155// return ''; 156 } 157 } 158 159 160?>