X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fhooks.inc;h=393fc8720a96a1d45116931554b76576c25304c4;hb=6bcd87642330092910f5d6977845a76ac59350ac;hp=cb5cddfa9db3e604635b80a3ab52023cb0dd3cbb;hpb=17b390efcf904072b02ec866b2a427490471a260;p=fa-stable.git diff --git a/includes/hooks.inc b/includes/hooks.inc index cb5cddfa..393fc872 100644 --- a/includes/hooks.inc +++ b/includes/hooks.inc @@ -203,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'); } } @@ -236,18 +235,20 @@ function install_hooks() 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; } + } } } /* 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 +262,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)