* 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');
}
}
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;
}
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)