' . esc_html__( 'Fillaro: this form does not exist or is a draft.', 'fillaro' ) . '
' : ''; } Assets::enqueue(); ++self::$instance; $uid = 'pf-' . $form['id'] . '-' . self::$instance; $theme = $form['theme']; $state = FallbackHandler::consume_state(); if ( ! is_array( $state ) || (int) $state['form_id'] !== (int) $form['id'] ) { $state = null; } $wrap_classes = array( 'pf', 'pf-container--' . $theme['container'], 'pf-inputs--' . $theme['inputStyle'], 'pf-buttons--' . $theme['buttonStyle'], ); /** * Filters a message shown in place of the form, for example when it * is closed or full. The builder preview always shows the form. * * @param string $message Safe HTML; empty to show the form. * @param array $form Form. */ $closed = $preview ? '' : (string) apply_filters( 'fillaro/form_closed', '', $form ); $ctx_tags = array( 'form' => $form ); $errors = $state && ! $state['done'] && isset( $state['errors'] ) ? (array) $state['errors'] : array(); $old = $state && ! $state['done'] && isset( $state['old'] ) ? (array) $state['old'] : array(); ob_start(); ?> element, from add-ons. * * @param array $form Form. * @return string Escaped attribute string. */ private static function form_attributes( array $form ) { /** * Filters extra attributes of the