function do_related_functions($func) { $functions = ''; $GLOBALS['functions'] = get_func_info(); foreach ($GLOBALS['functions'] as $name => $function) { if ($func & $function['function']) { $functions .= "<a name='{$name}'></a>\n"; $functions .= "<hr class='light'/>\n"; $text = add_links($function['short_desc']); if ($function['arguments'] === 'none') { $functions .= "<div class='name'><span class='type'>{$function['return_type']}</span> {$name}()</div>\n"; } else { $functions .= "<div class='name'><span class='type'>{$function['return_type']}</span> {$name}( <span class='type'>{$function['arguments']}</span> )</div>\n"; } $functions .= "<div class='short-description'>{$text}</div>\n"; if (isset($function['version'])) { $functions .= "<div class='version'>Introduced in version {$function['version']}</div>\n"; } $functions .= "<div class='description'>\n"; $functions .= $function['data']; $functions .= "</div>\n"; } } if (empty($functions)) { return; } echo '<h2>Related Functions</h2>'; echo "<div class='functions'>\n"; echo $functions; echo "</div>\n"; echo "<hr />\n"; }
} } $arr['args'] = $args; return $arr; } $ret = array('preamble' => '', 'consts' => array(), 'funcs' => array(), 'classes' => array()); $funcs = phpnet_get_extension_functions($name); foreach ($funcs as $func) { print "Importing {$func}\n"; $ret['funcs'][] = get_func_info($func); } $consts = phpnet_get_extension_constants($name); foreach ($consts as $const) { if (!defined($const)) { var_dump("Undefined: {$const}. Try using Zend to run this script"); continue; } $ret['consts'][] = array('name' => $const, 'value' => constant($const)); } $classes = phpnet_get_extension_classes($name); foreach ($classes as $class) { print "Importing {$class}\n"; $info = phpnet_get_class_info($class); $arr = array('name' => $class, 'desc' => idx($info, 'desc'), 'flags' => array('ZendCompat'), 'parent' => idx($info, 'parent'), 'funcs' => array()); foreach (array_unique($info['funcs']) as $func) { print "Importing {$class}::{$func}\n"; $arr['funcs'][] = get_func_info($func, $class); } $ret['classes'][] = $arr; } file_put_contents("{$name}.idl.json", json_encode($ret, JSON_PRETTY_PRINT));