AdminPageSlugs::PARENT, 'action' => 'update', 'server' => (int) $server['id'], ), admin_url( 'admin.php' ) ); printf( '

%s

', esc_html__( 'Update Database-Registered Server', 'acrossai-mcp-manager' ) ); printf( '

%s

', esc_html__( 'This server was registered dynamically via the database. Update its metadata here.', 'acrossai-mcp-manager' ) ); $this->open_form( $server, 'update', $post_url ); $this->nonce_field( $server, 'acrossai_mcp_update_' . (int) $server['id'] ); echo ''; $this->render_text_row( 'server_name', __( 'Name', 'acrossai-mcp-manager' ), (string) $server['server_name'], true ); $this->render_textarea_row( 'description', __( 'Description', 'acrossai-mcp-manager' ), (string) $server['description'] ); $this->render_text_row( 'server_route_namespace', __( 'Route Namespace', 'acrossai-mcp-manager' ), (string) $server['server_route_namespace'], false ); $this->render_text_row( 'server_route', __( 'Route', 'acrossai-mcp-manager' ), (string) $server['server_route'], false ); $this->render_text_row( 'server_version', __( 'Version', 'acrossai-mcp-manager' ), (string) $server['server_version'], false ); echo ''; $this->close_form( __( 'Update Server', 'acrossai-mcp-manager' ) ); } /** * Renders one form-table row with an . * * @since 0.0.6 * @param string $name Field name (also the id). * @param string $label Label text. * @param string $value Current field value. * @param bool $required Whether the field is required. * @return void */ private function render_text_row( string $name, string $label, string $value, bool $required ): void { $required_attr = $required ? ' required' : ''; printf( '', esc_attr( $name ), esc_html( $label ), esc_attr( $value ), esc_attr( $required_attr ) ); } /** * Renders one form-table row with a ', esc_attr( $name ), esc_html( $label ), esc_textarea( $value ) ); } }