Edit File by line
/home/zeestwma/ceyloniy.../wp-conte.../plugins/wpforms-.../src/Integrat.../AI
File: Helpers.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace WPForms\Integrations\AI;
[2] Fix | Delete
[3] Fix | Delete
/**
[4] Fix | Delete
* AI features related helper methods.
[5] Fix | Delete
*
[6] Fix | Delete
* @since 1.9.1
[7] Fix | Delete
*/
[8] Fix | Delete
class Helpers {
[9] Fix | Delete
[10] Fix | Delete
/**
[11] Fix | Delete
* Key for a state whether integration is disabled on the Settings > Misc admin page.
[12] Fix | Delete
*
[13] Fix | Delete
* @since 1.9.1
[14] Fix | Delete
*/
[15] Fix | Delete
public const DISABLE_KEY = 'ai-feature-disabled';
[16] Fix | Delete
[17] Fix | Delete
/**
[18] Fix | Delete
* Key for a state whether integration is used (or has been used).
[19] Fix | Delete
* There is no UI/UX for it, and it's used for internal purposes.
[20] Fix | Delete
*
[21] Fix | Delete
* @since 1.9.1
[22] Fix | Delete
*/
[23] Fix | Delete
private const USE_KEY = 'ai-feature-used';
[24] Fix | Delete
[25] Fix | Delete
/**
[26] Fix | Delete
* Determine whether integration is disabled.
[27] Fix | Delete
*
[28] Fix | Delete
* @since 1.9.1
[29] Fix | Delete
*
[30] Fix | Delete
* @return bool
[31] Fix | Delete
*/
[32] Fix | Delete
public static function is_disabled(): bool {
[33] Fix | Delete
[34] Fix | Delete
return self::is_disabled_by_rule() || wpforms_setting( self::DISABLE_KEY );
[35] Fix | Delete
}
[36] Fix | Delete
[37] Fix | Delete
/**
[38] Fix | Delete
* Determine whether integration is used.
[39] Fix | Delete
*
[40] Fix | Delete
* @since 1.9.1
[41] Fix | Delete
*
[42] Fix | Delete
* @return bool
[43] Fix | Delete
*/
[44] Fix | Delete
public static function is_used(): bool {
[45] Fix | Delete
[46] Fix | Delete
return (bool) wpforms_setting( self::USE_KEY );
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
/**
[50] Fix | Delete
* Mark integration as used.
[51] Fix | Delete
*
[52] Fix | Delete
* @since 1.9.1
[53] Fix | Delete
*/
[54] Fix | Delete
public static function set_ai_used() {
[55] Fix | Delete
[56] Fix | Delete
if ( self::is_used() ) {
[57] Fix | Delete
return;
[58] Fix | Delete
}
[59] Fix | Delete
[60] Fix | Delete
$settings = (array) get_option( 'wpforms_settings', [] );
[61] Fix | Delete
[62] Fix | Delete
$settings[ self::USE_KEY ] = true;
[63] Fix | Delete
[64] Fix | Delete
update_option( 'wpforms_settings', $settings );
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
/**
[68] Fix | Delete
* Determine whether integration is disabled through constant or filter.
[69] Fix | Delete
*
[70] Fix | Delete
* @since 1.9.1
[71] Fix | Delete
*
[72] Fix | Delete
* @return bool
[73] Fix | Delete
* @noinspection PhpUndefinedConstantInspection
[74] Fix | Delete
*/
[75] Fix | Delete
public static function is_disabled_by_rule(): bool {
[76] Fix | Delete
[77] Fix | Delete
$is_disabled = defined( 'WPFORMS_DISABLE_AI_FEATURES' ) && WPFORMS_DISABLE_AI_FEATURES;
[78] Fix | Delete
[79] Fix | Delete
/**
[80] Fix | Delete
* Allow modifying whether AI integration is disabled in WPForms.
[81] Fix | Delete
*
[82] Fix | Delete
* @since 1.9.1
[83] Fix | Delete
*
[84] Fix | Delete
* @param bool $is_disabled True if AI integration is disabled. Default is false.
[85] Fix | Delete
*/
[86] Fix | Delete
return (bool) apply_filters( 'wpforms_disable_ai_features', $is_disabled ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[87] Fix | Delete
}
[88] Fix | Delete
[89] Fix | Delete
/**
[90] Fix | Delete
* Log an error record.
[91] Fix | Delete
*
[92] Fix | Delete
* @since 1.9.1
[93] Fix | Delete
*
[94] Fix | Delete
* @param string $message Error message.
[95] Fix | Delete
* @param string $endpoint Endpoint.
[96] Fix | Delete
* @param array $args Arguments.
[97] Fix | Delete
*/
[98] Fix | Delete
public static function log_error( string $message, string $endpoint, array $args ) {
[99] Fix | Delete
[100] Fix | Delete
wpforms_log(
[101] Fix | Delete
'AI Integration Error',
[102] Fix | Delete
[
[103] Fix | Delete
'error' => $message,
[104] Fix | Delete
'endpoint' => $endpoint,
[105] Fix | Delete
'args' => $args,
[106] Fix | Delete
],
[107] Fix | Delete
[
[108] Fix | Delete
'type' => [ 'ai', 'error' ],
[109] Fix | Delete
]
[110] Fix | Delete
);
[111] Fix | Delete
}
[112] Fix | Delete
[113] Fix | Delete
/**
[114] Fix | Delete
* Get the license type.
[115] Fix | Delete
*
[116] Fix | Delete
* @since 1.9.4
[117] Fix | Delete
*
[118] Fix | Delete
* @return string
[119] Fix | Delete
*/
[120] Fix | Delete
public static function get_license_type(): string {
[121] Fix | Delete
[122] Fix | Delete
$license = (array) get_option( 'wpforms_license', [] );
[123] Fix | Delete
[124] Fix | Delete
return $license['type'] ?? '';
[125] Fix | Delete
}
[126] Fix | Delete
[127] Fix | Delete
/**
[128] Fix | Delete
* Determine whether a license key is active.
[129] Fix | Delete
*
[130] Fix | Delete
* @since 1.9.4
[131] Fix | Delete
*
[132] Fix | Delete
* @return bool
[133] Fix | Delete
*/
[134] Fix | Delete
public static function is_license_active(): bool {
[135] Fix | Delete
[136] Fix | Delete
$license = (array) get_option( 'wpforms_license', [] );
[137] Fix | Delete
[138] Fix | Delete
return ! empty( wpforms_get_license_key() ) &&
[139] Fix | Delete
empty( $license['is_expired'] ) &&
[140] Fix | Delete
empty( $license['is_disabled'] ) &&
[141] Fix | Delete
empty( $license['is_invalid'] );
[142] Fix | Delete
}
[143] Fix | Delete
}
[144] Fix | Delete
[145] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function