/** * @automap */ public function index() { $flow_output_maps = []; $map = \ebi\Flow::get_map($this->entry); $patterns = $map['patterns']; unset($map['patterns']); foreach ($patterns as $k => $m) { foreach (['deprecated' => false, 'mode' => null, 'summary' => null, 'template' => null] as $i => $d) { if (!isset($m[$i])) { $m[$i] = $d; } } if (isset($m['action']) && is_string($m['action'])) { list($m['class'], $m['method']) = explode('::', $m['action']); if (substr($m['class'], 0, 1) == '\\') { $m['class'] = substr($m['class'], 1); } $m['class'] = str_replace('\\', '.', $m['class']); } if (!isset($m['class']) || $m['class'] != $this->self_class) { try { $m['error'] = null; $m['url'] = $k; if (isset($m['method'])) { $info = \ebi\Dt\Man::method_info($m['class'], $m['method'], false); if (empty($m['summary'])) { list($summary) = explode(PHP_EOL, $info->document()); $m['summary'] = empty($summary) ? null : $summary; } if (!$m['deprecated'] && $info->opt('deprecated')) { $m['deprecated'] = $info->opt('deprecated'); } } } catch (\Exception $e) { $m['error'] = $e->getMessage(); } foreach ($m as $k => $v) { if (is_array($v) && isset($map[$k]) && !empty($map[$k])) { $m[$k] = array_merge($map[$k], $v); } else { if (!isset($v) && isset($map[$k])) { $m[$k] = $map[$k]; } } } $flow_output_maps[$m['name']] = $m; } } $entry_desc = preg_match('/\\/\\*\\*.+?\\*\\//s', \ebi\Util::file_read($this->entry), $m) ? trim(preg_replace("/^[\\s]*\\*[\\s]{0,1}/m", '', str_replace(['/' . '**', '*' . '/'], '', $m[0]))) : ''; return ['map_list' => $flow_output_maps, 'description' => $entry_desc]; }