|
|
6 years ago | |
|---|---|---|
| .. | ||
| README.md | 6 years ago | |
| bootstrap.php | 6 years ago | |
| oauth.php | 6 years ago | |
| remote-installer-skin.php | 6 years ago | |
Requires PHP v5.6+.
ninja_forms_servicesNote: This filter is implemented during an AJAX request, which is used to "live update" the current state of a service from the Ninja Forms Dashboard. The below properties can be set dynamically to correspond to the current "state" of the service.
Example
add_filter( 'ninja_forms_services', function( $services ){
$services[ 'my-service' ] => [
'name' => __( 'My Service', 'textdomain' ),
'slug' => 'my-service', // Duplicate of the array key.
'description' => __( 'This is my service.', 'textdomain' ),
'enabled' => true,
'installPath' => 'my-plugin/my-plugin.php',
];
return $services;
});
Properties:
name string (required) The translatable, human-readable name of the service.slug string (required) The programatic reference for the registered service.description string (required) The short description to display on the services tab.enabled bool|null (required) Pass null to disable the toggle.installPath string (required) The expected plugin install path (inside of /wp-content/plugins).learnMore string (required) The content of the "Learn More" modal.Additional properties for installed service plugins:
serviceLink array (required) Properties for the external link to manage the service.
text string The content of the service link.href string The URL of the service link.classes string Add additional classes to the link, ie 'nf-button primary'.target string Specify the anchor target.connect_url string Override the OAuth connection URL.successMessage string The content of the modal after the service is setup.
?success query string in the OAuth redirect with the slug of the service.Ninja Forms services are provided via a secure OAuth connection to My.NinjaForms.com.
The client generates a local secret key which is passed to the server when connecting a service.
The server accepts the passed secret key, registers an new OAuth Client, and returns the OAuth Client ID.
Communication between the server and the client requires a hash of the combined OAuth Client ID and OAuth Client Secret.
Registered services have access to OAuth connection data via the \NinjaForms\OAuth class.
::is_connected()::get_client_id()::get_client_secret()::connect_url()The OAuth flow can be customized the a specific service (for an optimization experience) by passing a connect_url (See above).
Service integrations are provided as additional plugins, which are installed remotely from the WordPress.org plugin directory.
This remote plugin installation uses a custom Plugin_Installer_Skin in order to suppress any output feedback text - since this process happens asynchronously.
See services/remote-installer-skin.php.
When developing with a local copy the Ninja Forms Server, specify the NF_SERVER_URL.
Example:
define('NF_SERVER_URL', 'https://my.ninjaforms.test');