File "class-convertkit-resource-forms.php"
Full Path: /home/attunedd/public_html/wp-content/plugins/convertkit/includes/class-convertkit-resource-forms.php
File size: 2.39 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Note: This file may contain artifacts of previous malicious infection.
* However, the dangerous code has been removed, and the file is now safe to use.
*/
?>
<?php
/**
* ConvertKit Forms Resource class.
*
* @package ConvertKit
* @author ConvertKit
*/
/**
* Reads ConvertKit Forms from the options table, and refreshes
* ConvertKit Forms data stored locally from the API.
*
* @since 1.9.6
*/
class ConvertKit_Resource_Forms extends ConvertKit_Resource {
/**
* Holds the Settings Key that stores site wide ConvertKit settings
*
* @var string
*/
public $settings_name = 'convertkit_forms';
/**
* The type of resource
*
* @var string
*/
public $type = 'forms';
/**
* Returns the HTML/JS markup for the given Form ID.
*
* Legacy Forms will return HTML.
* Current Forms will return a <script> embed string.
*
* @since 1.9.6
*
* @param int $id Form ID.
* @return WP_Error|string
*/
public function get_html( $id ) {
// Cast ID to integer.
$id = absint( $id );
// Bail if the resources are a WP_Error.
if ( is_wp_error( $this->resources ) ) {
return $this->resources;
}
// Bail if the resource doesn't exist.
if ( ! isset( $this->resources[ $id ] ) ) {
return new WP_Error(
'convertkit_resource_forms_get_html',
sprintf(
/* translators: ConvertKit Form ID */
__( 'ConvertKit Form ID %s does not exist on ConvertKit.', 'convertkit' ),
$id
)
);
}
// If no uid is present in the Form API data, this is a legacy form that's served by directly fetching the HTML
// from forms.convertkit.com.
if ( ! isset( $this->resources[ $id ]['uid'] ) ) {
// Initialize Settings.
$settings = new ConvertKit_Settings();
// Bail if no API Key is specified in the Plugin Settings.
if ( ! $settings->has_api_key() ) {
return new WP_Error(
'convertkit_resource_forms_get_html',
__( 'ConvertKit Legacy Form could not be fetched as no API Key specified in Plugin Settings', 'convertkit' )
);
}
// Initialize the API.
$api = new ConvertKit_API( $settings->get_api_key(), $settings->get_api_secret(), $settings->debug_enabled() );
// Return Legacy Form HTML.
return $api->get_form_html( $id );
}
// If here, return Form <script> embed.
return '<script async data-uid="' . $this->resources[ $id ]['uid'] . '" src="' . $this->resources[ $id ]['embed_js'] . '"></script>';
}
}