taskman_bhl/bhl_macro.inc.php

24 lines
600 B
PHP

<?php
/**
* @global
*/
function macro_BHL_REF($proc, $module, $func, $signature_json = '')
{
$module_file = \taskman\bhl_map_module_to_file($module);
if(!$module_file)
throw new Exception("Module not found '{$module}'");
//validate signature only if it's explicitely passed
if($signature_json)
{
$signature = json_decode($signature_json, false);
if(!is_array($signature))
throw new Exception("Signature is invalid '$module'");
\taskman\bhl_validate_func_ref($module_file, $func, $signature);
}
return array('module' => ltrim($module, '/'), 'fn' => $func);
}