X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fhooks.inc;h=609eac31203b49b4a2efdac51f2aaf54d1161232;hb=6351305b2b0e5782804ab4d9e3db5f84b671d6f2;hp=6f15d0b0b7138c7a8f3542b89d4e55144fab7bec;hpb=8a2ac7536a58c7860cbebba4f786f51f761ac2bf;p=fa-stable.git diff --git a/includes/hooks.inc b/includes/hooks.inc index 6f15d0b0..609eac31 100644 --- a/includes/hooks.inc +++ b/includes/hooks.inc @@ -116,6 +116,7 @@ class hooks { function price_in_words($amount, $doc_type) { } + // // Exchange rate currency $curr as on date $date. // Keep in mind FA has internally implemented 3 exrate providers @@ -202,15 +203,14 @@ class hooks { * more than one in the cart. */ /* Default behavior check if there is enough quantity on hand and change the css - * class if needed */ + * class if needed */ static function default_get_dispatchable_quantity($line_item, $location, $date, $qoh) { - global $SysPrefs; + global $SysPrefs; if ($SysPrefs->allow_negative_stock() || ($line_item->qty_dispatched <= $qoh)) { return true; } return array($qoh, 'stockmankobg'); - return array($line_item->qty_dispatched, 'stockmankobg'); } } @@ -218,28 +218,32 @@ 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) { + 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; } + } } } /* @@ -249,7 +253,7 @@ function install_hooks() function activate_hooks($ext, $comp, $on=true) { global $Hooks; - + $hooks = @$Hooks[$ext]; if (!$hooks) { $hookclass = 'hooks_'.$ext; @@ -314,7 +318,7 @@ function hook_invoke_first($method, &$data, $opts=null) { global $Hooks; - + $result = null; foreach($Hooks as $ext => $hook) { if (method_exists($hook, $method)) {