Bug in Customer/Supplier Payments Recording. Fixed.
[fa-stable.git] / includes / hooks.inc
index 6c6dda32bdc2a3e5922f44884f8b8b59e0a09931..609eac31203b49b4a2efdac51f2aaf54d1161232 100644 (file)
@@ -211,7 +211,6 @@ class hooks {
                        return true;
                }
                return array($qoh, 'stockmankobg');
-               return array($line_item->qty_dispatched, 'stockmankobg');
        }
 
 }
@@ -219,35 +218,39 @@ class hooks {
 /*
        Installs hooks provided by extension modules
 */
-function install_hooks()
+function install_hooks($lang_code=null)
 {
        global $path_to_root, $Hooks, $installed_extensions;
 
        $Hooks = array();
-       
        // include current language related $Hooks object if locale file exists
-       $lang_code  = clean_file_name($_SESSION['language']->code);
+       if (!$lang_code)
+               $lang_code = $_SESSION['language']->code;
+       $lang_code  = clean_file_name($lang_code);
+
        if (file_exists($path_to_root . "/lang/" . $lang_code . "/locale.inc"))
        {
                include_once($path_to_root . "/lang/" . $lang_code . "/locale.inc");
-               $code = $_SESSION['language']->code;
+               $code = $lang_code;
                $hook_class = 'hooks_'.$code;
                $Hooks[$code] = new $hook_class;
                unset($code, $hook_class);
        }
        // install hooks provided by active extensions
-       foreach($installed_extensions as $ext) {
-               $hook_class = 'hooks_'.$ext['package'];
-               if ($ext['active'] && class_exists($hook_class)) {
-                       $Hooks[$ext['package']] = new $hook_class;
-               }
+       if (isset($installed_extensions) && !empty($installed_extensions)) {
+               foreach($installed_extensions as $ext) {
+                       $hook_class = 'hooks_'.$ext['package'];
+                       if ($ext['active'] && class_exists($hook_class)) {
+                               $Hooks[$ext['package']] = new $hook_class;
+                       }
+               }       
        }
 }
 /*
        Non active hooks are not included in $Hooks array, so we can use special function to 
        activate.
 */
-function activate_hooks($ext, $comp)
+function activate_hooks($ext, $comp, $on=true)
 {
        global $Hooks;
 
@@ -261,8 +264,10 @@ function activate_hooks($ext, $comp)
        }
        if (!$hooks)
                return false;
-       else
+       elseif ($on)
                return $hooks->activate_extension($comp, false);
+       else
+               return $hooks->deactivate_extension($comp, false);
 }
 /*
        Calls hook $method defined in extension $ext (if any)