Skip to main content

GravityKit\GravityMigrate\Schema\UniversalForm

Represents a form in a platform-agnostic format.

The canonical shape every supported plugin's form is converted to and from. What one platform keeps that this shape has no room for goes into extensions, and what a conversion changed or dropped goes into the transformation log, so a form can be sent home carrying both.

Since: %ver%

Source: src/Schema/UniversalForm.php:19

Details

  • Kind: class

  • Namespace: GravityKit\GravityMigrate\Schema

  • Implements: JsonSerializable

Properties

PropertyTypeDescription
$idint | stringForm identifier.
$titlestringForm title.
$descriptionstringForm description.
$fieldsUniversalField[]Form fields.
$notificationsarrayForm notifications.
$confirmationsarrayForm confirmations.
$buttonarrayButton configuration.
$paginationarray | nullPagination configuration.
$css_classstringCSS class.
$field_id_maparrayField ID mapping (source_id => universal_id).
$extensionsExtensionDataPlatform-specific extensions.
$transformation_logTransformationLogTransformationLog tracking.
$warningsarrayWarnings generated during conversion.
$unsupported_fieldsarrayUnsupported fields encountered.
$requires_addonsarrayRequired add-ons.
$source_platformstringSource platform identifier.
$source_idint | stringSource form ID.

Methods

MethodDescription
__construct()Constructor.
get_id()Gets form ID.
set_id()Sets form ID.
get_title()Gets form title.
set_title()Sets form title.
get_description()Gets form description.
set_description()Sets form description.
get_fields()Gets form fields.
set_fields()Sets form fields.
add_field()Adds a field.
get_field()Gets a field by ID.
remove_field()Removes a field by ID.
get_notifications()The notifications this form sends.
set_notifications()Replaces every notification.
add_notification()Adds a notification.
get_confirmations()What this form shows or does after a submission.
set_confirmations()Replaces every confirmation.
add_confirmation()Adds a confirmation.
get_button()Gets button configuration.
set_button()Sets button configuration.
get_pagination()Gets pagination.
set_pagination()Sets pagination.
get_css_class()Gets CSS class.
set_css_class()Sets CSS class.
get_field_id_map()Gets field ID map.
set_field_id_map()Sets field ID map.
map_field_id()Maps a field ID.
get_mapped_field_id()Gets the universal field ID for a source field ID.
get_extensions()Gets extensions.
set_extensions()Sets extensions.
get_transformation_log()Gets transformation log.
set_transformation_log()Sets transformation log.
get_warnings()Gets warnings.
set_warnings()Sets warnings.
add_warning()Adds a warning.
get_unsupported_fields()Gets unsupported fields.
set_unsupported_fields()Sets unsupported fields.
add_unsupported_field()Adds an unsupported field.
get_requires_addons()Gets required add-ons.
set_requires_addons()Sets required add-ons.
add_required_addon()Adds a required add-on.
get_source_platform()Gets source platform.
set_source_platform()Sets source platform.
get_source_id()Gets source ID.
set_source_id()Sets source ID.
is_multi_page()Checks if form has multi-page pagination.
get_page_count()Gets the total page count.
has_data_loss()Checks if the form has any data loss during conversion.
get_all_issues()Gets all issues (warnings, unsupported fields, add-ons).
from_array()Creates from array.
to_array()Converts to array.

Method Reference

__construct()

public function __construct( $id=0, string $title='' )

Constructor.

Parameters

NameTypeDefaultDescription
$idint | string0Form ID.
$titlestring''Form title.

Since: %ver%

Source: src/Schema/UniversalForm.php:182

get_id()

public function get_id()

Gets form ID.

Returns

  • int | string

Since: %ver%

Source: src/Schema/UniversalForm.php:196

set_id()

public function set_id( $id ): self

Sets form ID.

Parameters

NameTypeDefaultDescription
$idint | stringForm ID.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:209

get_title()

public function get_title(): string

Gets form title.

Returns

  • string

Since: %ver%

Source: src/Schema/UniversalForm.php:222

set_title()

public function set_title( string $title ): self

Sets form title.

Parameters

NameTypeDefaultDescription
$titlestringForm title.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:235

get_description()

public function get_description(): string

Gets form description.

Returns

  • string

Since: %ver%

Source: src/Schema/UniversalForm.php:248

set_description()

public function set_description( string $description ): self

Sets form description.

Parameters

NameTypeDefaultDescription
$descriptionstringForm description.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:261

get_fields()

public function get_fields(): array

Gets form fields.

Returns

  • UniversalField[]

Since: %ver%

Source: src/Schema/UniversalForm.php:274

set_fields()

public function set_fields( array $fields ): self

Sets form fields.

Parameters

NameTypeDefaultDescription
$fieldsUniversalField[]Form fields.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:287

add_field()

public function add_field( UniversalField $field ): self

Adds a field.

Parameters

NameTypeDefaultDescription
$fieldUniversalFieldField to add.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:306

get_field()

public function get_field( $id ): ?UniversalField

Gets a field by ID.

Parameters

NameTypeDefaultDescription
$idint | stringField ID.

Returns

  • UniversalField | null

Since: %ver%

Source: src/Schema/UniversalForm.php:321

remove_field()

public function remove_field( $id ): self

Removes a field by ID.

Parameters

NameTypeDefaultDescription
$idint | stringField ID.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:340

get_notifications()

public function get_notifications(): array

The notifications this form sends.

Returns

  • UniversalNotification[] — Keyed by the id the origin platform gave each one.

Since: %ver%

Source: src/Schema/UniversalForm.php:361

set_notifications()

public function set_notifications( array $notifications ): self

Replaces every notification.

Parameters

NameTypeDefaultDescription
$notificationsUniversalNotification[]Notifications, keyed by id.

Returns

  • self

Throws

  • \InvalidArgumentException — When an entry is not a notification.

Since: %ver%

Source: src/Schema/UniversalForm.php:376

add_notification()

public function add_notification( string $id, $notification ): self

Adds a notification.

Parameters

NameTypeDefaultDescription
$idstringId the origin platform gave it.
$notificationUniversalNotificationNotification.

Returns

  • self

Throws

  • \InvalidArgumentException — When it is not a notification.

Since: %ver%

Source: src/Schema/UniversalForm.php:398

get_confirmations()

public function get_confirmations(): array

What this form shows or does after a submission.

Returns

  • UniversalConfirmation[] — Keyed by the id the origin platform gave each one.

Since: %ver%

Source: src/Schema/UniversalForm.php:417

set_confirmations()

public function set_confirmations( array $confirmations ): self

Replaces every confirmation.

Parameters

NameTypeDefaultDescription
$confirmationsUniversalConfirmation[]Confirmations, keyed by id.

Returns

  • self

Throws

  • \InvalidArgumentException — When an entry is not a confirmation.

Since: %ver%

Source: src/Schema/UniversalForm.php:432

add_confirmation()

public function add_confirmation( string $id, $confirmation ): self

Adds a confirmation.

Parameters

NameTypeDefaultDescription
$idstringId the origin platform gave it.
$confirmationUniversalConfirmationConfirmation.

Returns

  • self

Throws

  • \InvalidArgumentException — When it is not a confirmation.

Since: %ver%

Source: src/Schema/UniversalForm.php:454

get_button()

public function get_button(): array

Gets button configuration.

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:473

set_button()

public function set_button( array $button ): self

Sets button configuration.

Parameters

NameTypeDefaultDescription
$buttonarrayButton configuration.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:486

get_pagination()

public function get_pagination(): ?array

Gets pagination.

Returns

  • array | null

Since: %ver%

Source: src/Schema/UniversalForm.php:499

set_pagination()

public function set_pagination( ?array $pagination ): self

Sets pagination.

Parameters

NameTypeDefaultDescription
$paginationarray | nullPagination configuration.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:512

get_css_class()

public function get_css_class(): string

Gets CSS class.

Returns

  • string

Since: %ver%

Source: src/Schema/UniversalForm.php:525

set_css_class()

public function set_css_class( string $css_class ): self

Sets CSS class.

Parameters

NameTypeDefaultDescription
$css_classstringCSS class.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:538

get_field_id_map()

public function get_field_id_map(): array

Gets field ID map.

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:551

set_field_id_map()

public function set_field_id_map( array $field_id_map ): self

Sets field ID map.

Parameters

NameTypeDefaultDescription
$field_id_maparrayField ID map.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:564

map_field_id()

public function map_field_id( $source_id, $universal_id ): self

Maps a field ID.

Parameters

NameTypeDefaultDescription
$source_idint | stringSource field ID.
$universal_idint | stringUniversal field ID.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:580

get_mapped_field_id()

public function get_mapped_field_id( $source_id )

Gets the universal field ID for a source field ID.

Parameters

NameTypeDefaultDescription
$source_idint | stringSource field ID.

Returns

  • int | string | null

Since: %ver%

Source: src/Schema/UniversalForm.php:595

get_extensions()

public function get_extensions(): ExtensionData

Gets extensions.

Returns

  • ExtensionData

Since: %ver%

Source: src/Schema/UniversalForm.php:606

set_extensions()

public function set_extensions( ExtensionData $extensions ): self

Sets extensions.

Parameters

NameTypeDefaultDescription
$extensionsExtensionDataExtensions.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:619

get_transformation_log()

public function get_transformation_log(): TransformationLog

Gets transformation log.

Returns

  • TransformationLog

Since: %ver%

Source: src/Schema/UniversalForm.php:632

set_transformation_log()

public function set_transformation_log( TransformationLog $transformation_log ): self

Sets transformation log.

Parameters

NameTypeDefaultDescription
$transformation_logTransformationLogTransformationLog.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:645

get_warnings()

public function get_warnings(): array

Gets warnings.

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:658

set_warnings()

public function set_warnings( array $warnings ): self

Sets warnings.

Parameters

NameTypeDefaultDescription
$warningsarrayWarnings.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:671

add_warning()

public function add_warning( string $warning ): self

Adds a warning.

Parameters

NameTypeDefaultDescription
$warningstringWarning message.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:686

get_unsupported_fields()

public function get_unsupported_fields(): array

Gets unsupported fields.

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:699

set_unsupported_fields()

public function set_unsupported_fields( array $unsupported_fields ): self

Sets unsupported fields.

Parameters

NameTypeDefaultDescription
$unsupported_fieldsarrayUnsupported fields.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:712

add_unsupported_field()

public function add_unsupported_field( string $field ): self

Adds an unsupported field.

Parameters

NameTypeDefaultDescription
$fieldstringField label or identifier.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:727

get_requires_addons()

public function get_requires_addons(): array

Gets required add-ons.

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:740

set_requires_addons()

public function set_requires_addons( array $requires_addons ): self

Sets required add-ons.

Parameters

NameTypeDefaultDescription
$requires_addonsarrayRequired add-ons.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:753

add_required_addon()

public function add_required_addon( string $addon ): self

Adds a required add-on.

Parameters

NameTypeDefaultDescription
$addonstringAdd-on name.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:768

get_source_platform()

public function get_source_platform(): string

Gets source platform.

Returns

  • string

Since: %ver%

Source: src/Schema/UniversalForm.php:781

set_source_platform()

public function set_source_platform( string $source_platform ): self

Sets source platform.

Parameters

NameTypeDefaultDescription
$source_platformstringSource platform.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:794

get_source_id()

public function get_source_id()

Gets source ID.

Returns

  • int | string

Since: %ver%

Source: src/Schema/UniversalForm.php:807

set_source_id()

public function set_source_id( $source_id ): self

Sets source ID.

Parameters

NameTypeDefaultDescription
$source_idint | stringSource ID.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:820

is_multi_page()

public function is_multi_page(): bool

Checks if form has multi-page pagination.

A form can carry the breaks without the pagination settings, so the fields are the second half of the answer. Every platform definition maps its own page break to TYPE_PAGE.

Returns

  • bool

Since: %ver%

Source: src/Schema/UniversalForm.php:836

get_page_count()

public function get_page_count(): int

Gets the total page count.

Returns

  • int

Since: %ver%

Source: src/Schema/UniversalForm.php:857

has_data_loss()

public function has_data_loss(): bool

Checks if the form has any data loss during conversion.

Returns

  • bool

Since: %ver%

Source: src/Schema/UniversalForm.php:877

get_all_issues()

public function get_all_issues(): array

Gets all issues (warnings, unsupported fields, add-ons).

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:899

from_array()

public static function from_array( array $data ): self

Creates from array.

Parameters

NameTypeDefaultDescription
$dataarrayArray data.

Returns

  • self

Since: %ver%

Source: src/Schema/UniversalForm.php:942

to_array()

public function to_array(): array

Converts to array.

Returns

  • array

Since: %ver%

Source: src/Schema/UniversalForm.php:1022