/var/www/qr4y.com/www/wp-content/plugins/elementor-pro/modules/forms/classes
NameSizeModeActions
action-base.php8120644editdlrm
activecampaign-handler.php31410644editdlrm
ajax-handler.php91880644editdlrm
akismet.php55270644editdlrm
convertkit-handler.php26710644editdlrm
drip-handler.php20630644editdlrm
form-base.php83030644editdlrm
form-record.php97880644editdlrm
getresponse-handler.php31030644editdlrm
honeypot-handler.php27980644editdlrm
integration-base.php24150644editdlrm
mailchimp-handler.php44320644editdlrm
mailerlite-handler.php26200644editdlrm
recaptcha-handler.php90010644editdlrm
recaptcha-v3-handler.php46630644editdlrm
rest-client.php44410644editdlrm
Edit: /var/www/qr4y.com/www/wp-content/plugins/elementor-pro/modules/forms/classes/convertkit-handler.php (2671B)
init_rest_client( $api_key ); if ( ! $this->is_valid_api_key() ) { throw new \Exception( 'Invalid API key.' ); } } private function init_rest_client( $api_key ) { $this->api_key = $api_key; $this->rest_client = new Rest_Client( 'https://api.convertkit.com/v3/' ); } /** * validate api key * * @return bool * @throws \Exception */ private function is_valid_api_key() { $forms = $this->get_forms(); if ( ! empty( $forms ) ) { return true; } $this->api_key = ''; return false; } public function get_forms_and_tags() { $forms = $this->get_forms(); $tags = $this->get_tags(); return [ 'data' => [ 'forms' => $forms['forms'], 'tags' => $tags['tags'], ], ]; } /** * get GetResponse lists associated with API key * @return array * @throws \Exception */ public function get_forms() { $results = $this->rest_client->get( 'forms/?api_key=' . $this->api_key ); $forms = [ '' => esc_html__( 'Select...', 'elementor-pro' ), ]; if ( ! empty( $results['body']['forms'] ) ) { foreach ( $results['body']['forms'] as $index => $form ) { if ( ! is_array( $form ) ) { continue; } $forms[ $form['id'] ] = $form['name']; } } $return_array = [ 'forms' => $forms, ]; return $return_array; } public function get_tags() { $results = $this->rest_client->get( 'tags/?api_key=' . $this->api_key ); $tags = [ '' => esc_html__( 'Select...', 'elementor-pro' ), ]; if ( ! empty( $results['body']['tags'] ) ) { foreach ( $results['body']['tags'] as $index => $tag ) { if ( ! is_array( $tag ) ) { continue; } $tags[ $tag['id'] ] = $tag['name']; } } $return_array = [ 'tags' => $tags, ]; return $return_array; } /** * create contact at ConvertKit via api * * @param array $subscriber_data * * @return array|mixed * @throws \Exception */ public function create_subscriber( $form_id, $subscriber_data = [] ) { $endpoint = sprintf( 'forms/' . $form_id . '/subscribe?api_key=%s', $this->api_key ); $this->rest_client->add_headers( 'Content-Type', 'application/json' ); return $this->rest_client->post( $endpoint, $subscriber_data ); } }