(2018-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Panel * @since 0.10.0 * */ // This file is being included in admin_index and customer_index // and therefore does not need to require lib/init.php try { $json_result = Froxlor::getLocal($userinfo)->listFunctions(); } catch (Exception $e) { dynamic_error($e->getMessage()); } $result = json_decode($json_result, true)['data']; // get response data $m_arr = $result; // initialize output-array $output_arr = array(); // check every module foreach ($m_arr as $module) { // initialize module array for sorting if (! isset($output_arr[$module['module']]) || ! is_array($output_arr[$module['module']])) { $output_arr[$module['module']] = array(); } // set necessary data $output_arr[$module['module']][$module['function']] = array( 'return_type' => (isset($module['return']['type']) && $module['return']['type'] != "" ? $module['return']['type'] : - 1), 'return_desc' => (isset($module['return']['desc']) && $module['return']['desc'] != "" ? $module['return']['desc'] : - 1), 'params_list' => array(), 'head' => $module['head'], 'access' => isset($module['access']) ? $module['access'] : null ); if (isset($module['params']) && is_array($module['params'])) { foreach ($module['params'] as $param) { $output_arr[$module['module']][$module['function']]['params_list'][] = array( 'type' => $param['type'], 'name' => $param['parameter'], 'desc' => $param['desc'] ); } } } // sort array ksort($output_arr); $apihelp = ""; // output ALL the modules foreach ($output_arr as $module => $functions) { // sort by function ksort($functions); $apihelp .= "

" . $module . "



"; // output ALL the functions foreach ($functions as $function => $funcdata) { $apihelp .= "
"; $apihelp .= "

" . $module . " - "; // description if (strtoupper(substr($funcdata['head'], 0, 5)) == "@TODO") { $apihelp .= ""; } $apihelp .= $funcdata['head']; if (strtoupper(substr($funcdata['head'], 0, 5)) == "@TODO") { $apihelp .= ""; } $apihelp .= "

"; $apihelp .= "Command" . " "; $apihelp .= "" . $module . "." . $function . "
"; if (isset($funcdata['access']['groups']) && ! empty($funcdata['access']['groups'])) { $apihelp .= "
Access: "; $apihelp .= $funcdata['access']['groups'] . "
"; } // output ALL the params; if (count($funcdata['params_list']) > 0) { $parms = "
Parameter
"; $parms .= ""; $parms .= ""; $parms .= ""; // separate and format them foreach ($funcdata['params_list'] as $index => $param) { $parms .= ""; $parms .= ""; $parms .= ""; } $parms .= "
FieldTypeDescription
";
				// check whether the parameter is optional
				if (! empty($param['desc']) && strtolower(substr(trim($param['desc']), 0, 8)) == "optional") {
					$parms .= "" . $param['name'] . "";
					$param['desc'] = substr(trim($param['desc']), 8);
					if (substr($param['desc'], 0, 1) == ',') {
						$param['desc'] = substr(trim($param['desc']), 1);
					}
				} else {
					$parms .= "" . $param['name'] . "";
				}
				$parms .= "
" . (strtolower($param['type']) == 'unknown' ? "unknown" : $param['type']) . ""; if (! empty($param['desc'])) { $parms .= trim($param['desc']); } $parms .= "
"; $apihelp .= $parms; } $apihelp .= "
Returns " . ($funcdata['return_type'] == - 1 ? "no-return-type" : $funcdata['return_type']) . ($funcdata['return_desc'] == - 1 ? "" : " ".$funcdata['return_desc']); $apihelp .= "

"; } } eval("echo \"" . getTemplate("apihelp/index", 1) . "\";");