dbi = $dbi; $this->structureController = $structureController; } public function __invoke(ServerRequest $request): void { $GLOBALS['message'] = $GLOBALS['message'] ?? null; $selected = $request->getParsedBodyParam('selected_fld', []); if (empty($selected)) { $this->response->setRequestStatus(false); $this->response->addJSON('message', __('No column selected.')); return; } $i = 1; $selectedCount = count($selected); $GLOBALS['sql_query'] = 'ALTER TABLE ' . Util::backquote($GLOBALS['table']) . ' ADD INDEX('; foreach ($selected as $field) { $GLOBALS['sql_query'] .= Util::backquote($field); $GLOBALS['sql_query'] .= $i++ === $selectedCount ? ');' : ', '; } $this->dbi->selectDb($GLOBALS['db']); $result = $this->dbi->tryQuery($GLOBALS['sql_query']); if (! $result) { $GLOBALS['message'] = Message::error($this->dbi->getError()); } if (empty($GLOBALS['message'])) { $GLOBALS['message'] = Message::success(); } ($this->structureController)($request); } }