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
* 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');
}
}
/*
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;
+ $Hooks[$ext['package']]->path = $ext['path'];
}
+ }
}
}
/*
function activate_hooks($ext, $comp, $on=true)
{
global $Hooks;
-
+
$hooks = @$Hooks[$ext];
if (!$hooks) {
$hookclass = 'hooks_'.$ext;
$ret = null;
if (isset($Hooks[$ext]) && method_exists($Hooks[$ext], $method)) {
- set_ext_domain('modules/'.$ext);
+ set_ext_domain($Hooks[$ext]->path);
$ret = $Hooks[$ext]->$method($data, $opts);
set_ext_domain();
}
{
foreach($Hooks as $ext => $hook)
if (method_exists($hook, $method)) {
- set_ext_domain('modules/'.$ext);
+ set_ext_domain($hook->path);
$result = $hook->$method($data, $opts);
if (isset($result) && is_array($result)) {
$return = array_merge_recursive($return, $result);
{
global $Hooks;
-
+
$result = null;
foreach($Hooks as $ext => $hook) {
if (method_exists($hook, $method)) {
- set_ext_domain('modules/'.$ext);
+ set_ext_domain($hook->path);
$result = $hook->$method($data, $opts);
set_ext_domain();
if (isset($result))
$Reverse = array_reverse($Hooks);
foreach($Reverse as $ext => $hook) {
if (method_exists($hook, $method)) {
- set_ext_domain('modules/'.$ext);
+ set_ext_domain($hook->path);
$result = $hook->$method($data, $opts);
set_ext_domain();
if (isset($result))