module( 'captcha' ); /** @var Base_Captcha $captcha */ foreach ( $module->rep_generate_items() as $captcha ) { if ( ! ( $captcha instanceof Captcha_Settings_From_Options ) ) { continue; } $slug = $captcha->get_id(); // phpcs:disable WordPress.Security.NonceVerification.Missing if ( ! array_key_exists( $slug, $_POST ) ) { $options[ $slug ] = $captcha->on_load_options(); continue; } // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $options[ $slug ] = $captcha->on_save_options( wp_unslash( $_POST[ $slug ] ) ); // phpcs:enable WordPress.Security.NonceVerification.Missing } $result = $this->update_options( $options ); $this->send_response( $result ); } public function on_load() { return $this->get_captcha_options(); } public function on_editor_load(): array { return $this->get_captcha_options(); } /** * @return array * @throws Repository_Exception */ protected function get_captcha_options(): array { $options = array(); /** @var Module $module */ $module = jet_form_builder()->module( 'captcha' ); /** @var Base_Captcha $captcha */ foreach ( $module->rep_generate_items() as $captcha ) { if ( ! ( $captcha instanceof Captcha_Settings_From_Options ) ) { continue; } $options[ $captcha->get_id() ] = $captcha->on_load_options(); } return $options; } }