/** * @param string $module * @return array Fungsi ini akan me-return sebuah array list form . */ public static function listForm($module = null, $useAlias = true, $excludeModule = true, $excludeExtension = true) { $list = []; $list[''] = '-- NONE --'; $modules = FormBuilder::listFile(false, $excludeExtension); foreach ($modules as $m) { if (!is_null($module) && strtolower($m['module']) != strtolower($module)) { continue; } if ($excludeModule !== true) { if (in_array($m['module'], $excludeModule)) { continue; } } $list[$m['module']] = []; foreach ($m['items'] as $file) { $f =& $file; while (!isset($f['alias'])) { $f = array_pop($f); } if ($useAlias) { $list[$file['alias']] = $file['name']; } else { $list[$file['class']] = $file['name']; } } } return $list; }
public function actionFormList($m = '') { $list = FormBuilder::listFile(); $return = []; if ($m == '') { foreach ($list as $k => $l) { array_push($return, ['module' => $l['module'], 'count' => $l['count'], 'alias' => $l['alias'], 'items' => [['name' => 'Loading...', 'items' => []]]]); } } else { foreach ($list as $k => $l) { if ($m == $l['module']) { $return = $l['items']; } } } echo json_encode($return); }