Feature 5388: Print Invoices (documents) list gets too long. Fixed by default 180...
[fa-stable.git] / applications / application.php
index 052c6861d4b5fa052da5045ed8155d0adcbf6192..c9f8e943a791e4ddc6113209aeed3e471903b1bf 100644 (file)
@@ -9,12 +9,22 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-       class menu_item 
+
+define('MENU_ENTRY', 'menu_entry');
+define('MENU_TRANSACTION', 'menu_transaction');
+define('MENU_INQUIRY', 'menu_inquiry');
+define('MENU_REPORT', 'menu_report');
+define('MENU_MAINTENANCE', 'menu_maintenance');
+define('MENU_UPDATE', 'menu_update');
+define('MENU_SETTINGS', 'menu_settings');
+define('MENU_SYSTEM', 'menu_system');
+
+    class menu_item
        {
                var $label;
                var $link;
                
-               function menu_item($label, $link) 
+               function __construct($label, $link) 
                {
                        $this->label = $label;
                        $this->link = $link;
@@ -26,7 +36,7 @@
                var $title;
                var $items;
                
-               function menu($title) 
+               function __construct($title) 
                {
                        $this->title = $title;
                        $this->items = array();
                var $label;
                var $link;
                var $access;
+        var $category;
                
-               function app_function($label,$link,$access='SA_OPEN') 
+               function __construct($label,$link,$access='SA_OPEN',$category='')
                {
                        $this->label = $label;
                        $this->link = $link;
                        $this->access = $access;
+            $this->category = $category;
                }
        }
 
@@ -62,7 +74,7 @@
                var $lappfunctions;
                var $rappfunctions;
                
-               function module($name,$icon = null) 
+               function __construct($name,$icon = null) 
                {
                        $this->name = $name;
                        $this->icon = $icon;
                        $this->rappfunctions = array();
                }
                
-               function add_lapp_function($label,$link="",$access='SA_OPEN'
+               function add_lapp_function($label,$link="",$access='SA_OPEN',$category='')
                {
-                       $appfunction = new app_function($label,$link,$access);
-                       //array_push($this->lappfunctions,$appfunction);
+                       $appfunction = new app_function($label,$link,$access,$category);
                        $this->lappfunctions[] = $appfunction;
                        return $appfunction;
                }
 
-               function add_rapp_function($label,$link="",$access='SA_OPEN'
+               function add_rapp_function($label,$link="",$access='SA_OPEN',$category='')
                {
-                       $appfunction = new app_function($label,$link,$access);
-                       //array_push($this->rappfunctions,$appfunction);
+                       $appfunction = new app_function($label,$link,$access,$category);
                        $this->rappfunctions[] = $appfunction;
                        return $appfunction;
                }
                var $modules;
                var $enabled;
                
-               function application($id, $name, $enabled=true) 
+               function __construct($id, $name, $enabled=true) 
                {
                        $this->id = $id;
                        $this->name = $name;
                function add_module($name, $icon = null) 
                {
                        $module = new module($name,$icon);
-                       //array_push($this->modules,$module);
                        $this->modules[] = $module;
                        return $module;
                }
                
-               function add_lapp_function($level, $label,$link="",$access='SA_OPEN'
+               function add_lapp_function($level, $label,$link="",$access='SA_OPEN',$category='')
                {
-                       $this->modules[$level]->lappfunctions[] = new app_function($label, $link, $access);
+                       $this->modules[$level]->lappfunctions[] = new app_function($label, $link, $access, $category);
                }
                
-               function add_rapp_function($level, $label,$link="",$access='SA_OPEN'
+               function add_rapp_function($level, $label,$link="",$access='SA_OPEN',$category='')
                {
-                       $this->modules[$level]->rappfunctions[] = new app_function($label, $link, $access);
+                       $this->modules[$level]->rappfunctions[] = new app_function($label, $link, $access, $category);
                }
                
                function add_extensions()
                {
-                       global $installed_extensions, $path_to_root;
-
-                       foreach ($installed_extensions as $mod)
-                       {
-                               if (@$mod['active'] && isset($mod['entries']))
-                                       foreach($mod['entries'] as $entry) {
-                                               if ($entry['tab_id'] == $this->id) {
-                                                       $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
-                                                               $mod['path']."/lang");
-
-                                                       $this->add_rapp_function(
-                                                               isset($entry['section']) ? $entry['section'] : 2,
-                                                               _($entry['title']), $path_to_root.'/'.$mod['path'].'/'.$entry['url'],
-                                                               isset($entry["access"]) ? $entry["access"] : 'SA_OPEN' );
-
-                                                       $_SESSION['get_text']->add_domain($_SESSION['language']->code, 
-                                                               $path_to_root."/lang", $_SESSION['language']->version);
-                                               }
-                                       }
-                       }
+                       hook_invoke_all('install_options', $this);
                }
                //
                // Helper returning link to report class added by extension module.
                //
                function report_class_url($class)
                {
-                       global $installed_extensions;
-
-                       // TODO : konwencja lub ?
-                       $classno = 7;
-//                     if (file_exists($path_to_root.'/'.$mod['path'].'/'.$entry['url']
-//                                     .'/'.'reporting/reports_custom.php'))
-                               return "reporting/reports_main.php?Class=".$class;
-//                     else
-//                             return '';
+                       return "reporting/reports_main.php?Class=".$class;
                }
        }
 
 
-?>
\ No newline at end of file