Skip to content

Bump version to 2.7.8#133

Merged
RishadAlam merged 37 commits intomainfrom
fix/plugin-review-team-issues
Feb 20, 2026
Merged

Bump version to 2.7.8#133
RishadAlam merged 37 commits intomainfrom
fix/plugin-review-team-issues

Conversation

@RishadAlam
Copy link
Member

No description provided.

RishadAlam and others added 30 commits February 14, 2026 13:32
- Enhanced Route validation and sanitization to prevent path traversal attacks
- Improved email notification system with better error handling
- Updated multiple action controllers with security enhancements
- Added email notification template for integration failures
- Renamed integration images for consistency
- Updated deployment workflow configuration
- Improved helper functions and smart tags processing
…roller

- Updated GoogleSheet components and common functions
- Modified ajax.php routes
- Removed OneClickCredentialController.php
- Added EXTERNAL-SERVICES.md documentation
- Updated readme.txt
- Fixed namespace mismatch in composer.json from BitCode\FI\ to BitApps\BTCBI_FI- Regenerated composer autoload files to resolve Plugin class not found error
- Added source code and build instructions section to readme.txt for WordPress.org compliance
- Fixed WordPress.DB.PreparedSQL.NotPrepared errors by adding phpcs:ignore comments for static queries with no user input
- Fixed WordPress.DB.PreparedSQL.InterpolatedNotPrepared errors in dynamic IN clauses using sprintf() pattern
- Fixed WordPress.Security.NonceVerification warnings with appropriate phpcs:ignore comments for routing and external parameters
- Fixed WordPress.I18n.MissingTranslatorsComment by adding translators comments to 443+ files
- Fixed unordered placeholders (changed %s,%d to %1$s,%2$d where needed)

Affected files:
- TriggerFallback.php: DB query and nonce verification fixes
- AcademyLmsController.php: Dynamic IN clause fix for quiz deletion
- BuddyBoss/RecordApiHelper.php: Dynamic IN clause fix for group status query
- TutorLmsController.php: Dynamic IN clause fix for lesson meta deletion
- ZohoCRM/RecordApiHelper.php: Nonce verification for external parameters
- Route.php: Nonce verification in routing logic
- GamiPress, LifterLms, Affiliate, PaidMembershipPro controllers: Static query fixes
- 443+ files: Added translators comments for i18n compliance

All changes maintain functionality while ensuring WordPress coding standards compliance.
…Check

- Add translators comment above __() calls containing printf placeholders
- Number multiple unordered placeholders (%s -> %1$s, %2$s) per WP i18n standards
- Rename global variable to use btcbi_ prefix ($btcbi_i18n_strings)
- Move all action classes from `includes/Actions/` to `backend/Actions/`
- Relocate frontend-dev config files to project root (.prettierrc, LICENSE,
  pnpm-workspace.yaml)
- Add Vite build configuration with React plugin and static file copying
- Add ESLint configuration for frontend code quality
- Fix email template i18n: rename variables to remove btcbi_ prefix repetition
- Update frontend dependencies (react-router, vite, recoil, react-icons)
- Configure development server with port detection and HMR support
- Remove commented code from Config.php
- Add version upgrade task runner in Activation class for v2.7.9 cleanup
- Rename btcbi_delete_log_scheduler to deleteLogScheduler
- Use Config::withPrefix() for hook names
- Mark BTCBI_* constants as deprecated in loader.php
- Add class existence check in main plugin file
- Simplify GitHub build script and workflow configurations

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
…it_integrations_ prefix

Deprecate old btcbi_ hooks with backward compatibility, convert all object
cache keys and groups to use Config::withPrefix/VAR_PREFIX, and update
option keys to the new naming convention.

Co-authored-by: Cursor <cursoragent@cursor.com>
… keys

Add cache keys section (17 keys + group), missing filter/action hooks,
test data option keys, Freshdesk field prefix, and cache migration examples.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gemini-code-assist
Copy link

Summary of Changes

Hello @RishadAlam, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant architectural overhaul to the plugin's integration framework. The primary goal is to enhance code organization, maintainability, and scalability by restructuring backend files, standardizing API interaction patterns, and updating development tooling. These changes lay a robust foundation for future feature development and ensure a more consistent and manageable codebase.

Highlights

  • Architectural Refactoring: The core file structure for integrations has been reorganized, moving files from includes/Actions to a new backend/Actions directory to enhance modularity and maintainability.
  • Namespace Updates: PHP namespaces across numerous integration files have been updated from BitCode\FI\ to BitApps\Integrations\, aligning with the new architectural design.
  • Standardized Integration Handling: Dedicated RecordApiHelper.php and Routes.php files have been introduced for each integration, establishing a consistent pattern for API interactions and endpoint routing.
  • Code Quality and Internationalization Improvements: New ESLint configurations have been added for frontend code, PHPCS rules adjusted for backend, and // translators: comments included to improve code quality and prepare for better internationalization.
  • Build Process and Tooling Updates: The .github/build script, .gitignore, .php-cs-fixer.php, .prettierrc, and .vscode/settings.json files have been updated to reflect the new file structure, dependency management, and consolidated frontend tooling.
  • Hook Deprecation Notices: Existing Hooks::apply calls have been marked as deprecated, signaling a transition to new bit_integrations_ prefixed hook names for future compatibility.
Changelog
  • .eslintrc.js
    • Added new ESLint configuration for frontend code quality checks.
  • .github/build
    • Updated build script to reflect the new backend directory structure and adjusted the pnpm pda command execution.
  • .gitignore
    • Modified ignored files to exclude various lock files and build hash, and included .port for local development configurations.
  • .php-cs-fixer.php
    • Updated PHP-CS-Fixer configuration to target the new backend directory instead of includes and added an exclusion for defined in native_function_invocation.
  • .prettierrc
    • Renamed and moved the Prettier configuration file from frontend-dev/ to the root directory.
  • .vscode/settings.json
    • Updated the Prettier path to correctly reference the new location of the .prettierrc file.
  • backend/Actions/ACPT/RecordApiHelper.php
    • Added new API helper for ACPT integration.
  • backend/Actions/ACPT/Routes.php
    • Added new routing file for ACPT integration.
  • backend/Actions/AcademyLms/Routes.php
    • Added new routing file for AcademyLms integration.
  • backend/Actions/ActiveCampaign/RecordApiHelper.php
    • Added new API helper for ActiveCampaign integration.
  • backend/Actions/ActiveCampaign/Routes.php
    • Added new routing file for ActiveCampaign integration.
  • backend/Actions/Acumbamail/RecordApiHelper.php
    • Added new API helper for Acumbamail integration.
  • backend/Actions/Acumbamail/Routes.php
    • Added new routing file for Acumbamail integration.
  • backend/Actions/AdvancedFormIntegration/AdvancedFormIntegrationController.php
    • Added new controller extending WebHooksController for AdvancedFormIntegration.
  • backend/Actions/Affiliate/AffiliateController.php
    • Added new controller for Affiliate integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/Affiliate/RecordApiHelper.php
    • Added new API helper for Affiliate integration, including i18n comments.
  • backend/Actions/Affiliate/Routes.php
    • Added new routing file for Affiliate integration.
  • backend/Actions/AgiledCRM/RecordApiHelper.php
    • Added new API helper for AgiledCRM integration.
  • backend/Actions/AgiledCRM/Routes.php
    • Added new routing file for AgiledCRM integration.
  • backend/Actions/Airtable/RecordApiHelper.php
    • Added new API helper for Airtable integration.
  • backend/Actions/Airtable/Routes.php
    • Added new routing file for Airtable integration.
  • backend/Actions/Albato/AlbatoController.php
    • Added new controller extending WebHooksController for Albato integration.
  • backend/Actions/AntApps/AntAppsController.php
    • Added new controller extending WebHooksController for AntApps integration.
  • backend/Actions/Asana/RecordApiHelper.php
    • Added new API helper for Asana integration.
  • backend/Actions/Asana/Routes.php
    • Added new routing file for Asana integration.
  • backend/Actions/AutomatorWP/AutomatorWPController.php
    • Added new controller extending WebHooksController for AutomatorWP integration.
  • backend/Actions/Autonami/RecordApiHelper.php
    • Added new API helper for Autonami integration.
  • backend/Actions/Autonami/Routes.php
    • Added new routing file for Autonami integration.
  • backend/Actions/BenchMark/RecordApiHelper.php
    • Added new API helper for BenchMark integration.
  • backend/Actions/BenchMark/Routes.php
    • Added new routing file for BenchMark integration.
  • backend/Actions/Bento/BentoController.php
    • Added new controller for Bento integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/Bento/RecordApiHelper.php
    • Added new API helper for Bento integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/Bento/Routes.php
    • Added new routing file for Bento integration.
  • backend/Actions/BitForm/BitFormController.php
    • Added new controller for BitForm integration, including i18n comments.
  • backend/Actions/BitForm/RecordApiHelper.php
    • Added new API helper for BitForm integration.
  • backend/Actions/BitForm/Routes.php
    • Added new routing file for BitForm integration.
  • backend/Actions/BuddyBoss/BuddyBossController.php
    • Added new controller for BuddyBoss integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/BuddyBoss/Hooks.php
    • Added new hooks file for BuddyBoss integration, including phpcs ignore comments.
  • backend/Actions/BuddyBoss/RecordApiHelper.php
    • Added new API helper for BuddyBoss integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/BuddyBoss/Routes.php
    • Added new routing file for BuddyBoss integration.
  • backend/Actions/CampaignMonitor/RecordApiHelper.php
    • Added new API helper for CampaignMonitor integration.
  • backend/Actions/CampaignMonitor/Routes.php
    • Added new routing file for CampaignMonitor integration.
  • backend/Actions/CapsuleCRM/RecordApiHelper.php
    • Added new API helper for CapsuleCRM integration.
  • backend/Actions/CapsuleCRM/Routes.php
    • Added new routing file for CapsuleCRM integration.
  • backend/Actions/Clickup/RecordApiHelper.php
    • Added new API helper for Clickup integration.
  • backend/Actions/Clickup/Routes.php
    • Added new routing file for Clickup integration.
  • backend/Actions/ClinchPad/RecordApiHelper.php
    • Added new API helper for ClinchPad integration.
  • backend/Actions/ClinchPad/Routes.php
    • Added new routing file for ClinchPad integration.
  • backend/Actions/CompanyHub/RecordApiHelper.php
    • Added new API helper for CompanyHub integration.
  • backend/Actions/CompanyHub/Routes.php
    • Added new routing file for CompanyHub integration.
  • backend/Actions/ConstantContact/RecordApiHelper.php
    • Added new API helper for ConstantContact integration.
  • backend/Actions/ConstantContact/Routes.php
    • Added new routing file for ConstantContact integration.
  • backend/Actions/ConvertKit/RecordApiHelper.php
    • Added new API helper for ConvertKit integration.
  • backend/Actions/ConvertKit/Routes.php
    • Added new routing file for ConvertKit integration.
  • backend/Actions/CopperCRM/RecordApiHelper.php
    • Added new API helper for CopperCRM integration.
  • backend/Actions/CopperCRM/Routes.php
    • Added new routing file for CopperCRM integration.
  • backend/Actions/CustomAction/CustomActionController.php
    • Added new controller for CustomAction, including error handling and logging.
  • backend/Actions/CustomAction/Routes.php
    • Added new routing file for CustomAction.
  • backend/Actions/Demio/RecordApiHelper.php
    • Added new API helper for Demio integration.
  • backend/Actions/Demio/Routes.php
    • Added new routing file for Demio integration.
  • backend/Actions/DirectIq/RecordApiHelper.php
    • Added new API helper for DirectIq integration.
  • backend/Actions/DirectIq/Routes.php
    • Added new routing file for DirectIq integration.
  • backend/Actions/Discord/FilesApiHelper.php
    • Added new files API helper for Discord integration.
  • backend/Actions/Discord/RecordApiHelper.php
    • Added new API helper for Discord integration.
  • backend/Actions/Discord/Routes.php
    • Added new routing file for Discord integration.
  • backend/Actions/Dokan/RecordApiHelper.php
    • Added new API helper for Dokan integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/Dokan/Routes.php
    • Added new routing file for Dokan integration.
  • backend/Actions/Drip/RecordApiHelper.php
    • Added new API helper for Drip integration.
  • backend/Actions/Drip/Routes.php
    • Added new routing file for Drip integration.
  • backend/Actions/Dropbox/RecordApiHelper.php
    • Added new API helper for Dropbox integration.
  • backend/Actions/Dropbox/Routes.php
    • Added new routing file for Dropbox integration.
  • backend/Actions/ElasticEmail/RecordApiHelper.php
    • Added new API helper for ElasticEmail integration.
  • backend/Actions/ElasticEmail/Routes.php
    • Added new routing file for ElasticEmail integration.
  • backend/Actions/EmailOctopus/RecordApiHelper.php
    • Added new API helper for EmailOctopus integration.
  • backend/Actions/EmailOctopus/Routes.php
    • Added new routing file for EmailOctopus integration.
  • backend/Actions/Encharge/RecordApiHelper.php
    • Added new API helper for Encharge integration.
  • backend/Actions/Encharge/Routes.php
    • Added new routing file for Encharge integration.
  • backend/Actions/Fabman/RecordApiHelper.php
    • Added new API helper for Fabman integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/Fabman/Routes.php
    • Added new routing file for Fabman integration.
  • backend/Actions/FlowMattic/FlowMatticController.php
    • Added new controller extending WebHooksController for FlowMattic integration.
  • backend/Actions/Flowlu/RecordApiHelper.php
    • Added new API helper for Flowlu integration.
  • backend/Actions/Flowlu/Routes.php
    • Added new routing file for Flowlu integration.
  • backend/Actions/FluentCart/RecordApiHelper.php
    • Added new API helper for FluentCart integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/FluentCart/Routes.php
    • Added new routing file for FluentCart integration.
  • backend/Actions/FluentCrm/RecordApiHelper.php
    • Added new API helper for FluentCrm integration, including deprecation notices for hooks.
  • backend/Actions/FluentCrm/Routes.php
    • Added new routing file for FluentCrm integration.
  • backend/Actions/FluentSupport/RecordApiHelper.php
    • Added new API helper for FluentSupport integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/FluentSupport/Routes.php
    • Added new routing file for FluentSupport integration.
  • backend/Actions/FreshSales/RecordApiHelper.php
    • Added new API helper for FreshSales integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/FreshSales/Routes.php
    • Added new routing file for FreshSales integration.
  • backend/Actions/Freshdesk/FilesApiHelper.php
    • Added new files API helper for Freshdesk integration.
  • backend/Actions/Freshdesk/RecordApiHelper.php
    • Added new API helper for Freshdesk integration.
  • backend/Actions/Freshdesk/Routes.php
    • Added new routing file for Freshdesk integration.
  • backend/Actions/GamiPress/GamiPressController.php
    • Added new controller for GamiPress integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/GamiPress/RecordApiHelper.php
    • Added new API helper for GamiPress integration, including i18n comments.
  • backend/Actions/GamiPress/Routes.php
    • Added new routing file for GamiPress integration.
  • backend/Actions/GetResponse/RecordApiHelper.php
    • Added new API helper for GetResponse integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/GetResponse/Routes.php
    • Added new routing file for GetResponse integration.
  • backend/Actions/Getgist/RecordApiHelper.php
    • Added new API helper for Getgist integration.
  • backend/Actions/Getgist/Routes.php
    • Added new routing file for Getgist integration.
  • backend/Actions/GiveWp/RecordApiHelper.php
    • Added new API helper for GiveWp integration, including i18n comments.
  • backend/Actions/GiveWp/Routes.php
    • Added new routing file for GiveWp integration.
  • backend/Actions/GoogleCalendar/RecordApiHelper.php
    • Added new API helper for GoogleCalendar integration.
  • backend/Actions/GoogleCalendar/Routes.php
    • Added new routing file for GoogleCalendar integration.
  • backend/Actions/GoogleContacts/RecordApiHelper.php
    • Added new API helper for GoogleContacts integration.
  • backend/Actions/GoogleContacts/Routes.php
    • Added new routing file for GoogleContacts integration.
  • backend/Actions/GoogleDrive/RecordApiHelper.php
    • Added new API helper for GoogleDrive integration.
  • backend/Actions/GoogleDrive/Routes.php
    • Added new routing file for GoogleDrive integration.
  • backend/Actions/GoogleSheet/RecordApiHelper.php
    • Added new API helper for GoogleSheet integration.
  • backend/Actions/GoogleSheet/Routes.php
    • Added new routing file for GoogleSheet integration.
  • backend/Actions/Gravitec/RecordApiHelper.php
    • Added new API helper for Gravitec integration.
  • backend/Actions/Gravitec/Routes.php
    • Added new routing file for Gravitec integration.
  • backend/Actions/Groundhogg/RecordApiHelper.php
    • Added new API helper for Groundhogg integration.
  • backend/Actions/Groundhogg/Routes.php
    • Added new routing file for Groundhogg integration.
  • backend/Actions/HighLevel/RecordApiHelper.php
    • Added new API helper for HighLevel integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/HighLevel/Routes.php
    • Added new routing file for HighLevel integration.
  • backend/Actions/Hubspot/Routes.php
    • Added new routing file for Hubspot integration.
  • backend/Actions/Insightly/RecordApiHelper.php
    • Added new API helper for Insightly integration.
  • backend/Actions/Insightly/Routes.php
    • Added new routing file for Insightly integration.
  • backend/Actions/Integrately/IntegratelyController.php
    • Added new controller extending WebHooksController for Integrately integration.
  • backend/Actions/Integromat/IntegromatController.php
    • Added new controller extending WebHooksController for Integromat integration.
  • backend/Actions/JetEngine/RecordApiHelper.php
    • Added new API helper for JetEngine integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/JetEngine/Routes.php
    • Added new routing file for JetEngine integration.
  • backend/Actions/Keap/RecordApiHelper.php
    • Added new API helper for Keap integration.
  • backend/Actions/Keap/Routes.php
    • Added new routing file for Keap integration.
  • backend/Actions/KirimEmail/RecordApiHelper.php
    • Added new API helper for KirimEmail integration.
  • backend/Actions/KirimEmail/Routes.php
    • Added new routing file for KirimEmail integration.
  • backend/Actions/Klaviyo/RecordApiHelper.php
    • Added new API helper for Klaviyo integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/Klaviyo/Routes.php
    • Added new routing file for Klaviyo integration.
  • backend/Actions/KonnectzIT/KonnectzITController.php
    • Added new controller extending WebHooksController for KonnectzIT integration.
  • backend/Actions/LMFWC/RecordApiHelper.php
    • Added new API helper for LMFWC integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/LMFWC/Routes.php
    • Added new routing file for LMFWC integration.
  • backend/Actions/LearnDash/Routes.php
    • Added new routing file for LearnDash integration.
  • backend/Actions/Lemlist/RecordApiHelper.php
    • Added new API helper for Lemlist integration.
  • backend/Actions/Lemlist/Routes.php
    • Added new routing file for Lemlist integration.
  • backend/Actions/LifterLms/LifterLmsController.php
    • Added new controller for LifterLms integration, including i18n comments and phpcs ignore comments.
  • backend/Actions/LifterLms/RecordApiHelper.php
    • Added new API helper for LifterLms integration.
  • backend/Actions/LifterLms/Routes.php
    • Added new routing file for LifterLms integration.
  • backend/Actions/Line/RecordApiHelper.php
    • Added new API helper for Line integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/Line/Routes.php
    • Added new routing file for Line integration.
  • backend/Actions/LionDesk/RecordApiHelper.php
    • Added new API helper for LionDesk integration.
  • backend/Actions/LionDesk/Routes.php
    • Added new routing file for LionDesk integration.
  • backend/Actions/Livestorm/RecordApiHelper.php
    • Added new API helper for Livestorm integration.
  • backend/Actions/Livestorm/Routes.php
    • Added new routing file for Livestorm integration.
  • backend/Actions/MailBluster/RecordApiHelper.php
    • Added new API helper for MailBluster integration.
  • backend/Actions/MailBluster/Routes.php
    • Added new routing file for MailBluster integration.
  • backend/Actions/MailChimp/Routes.php
    • Added new routing file for MailChimp integration.
  • backend/Actions/MailMint/RecordApiHelper.php
    • Added new API helper for MailMint integration.
  • backend/Actions/MailMint/Routes.php
    • Added new routing file for MailMint integration.
  • backend/Actions/MailPoet/RecordApiHelper.php
    • Added new API helper for MailPoet integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/MailPoet/Routes.php
    • Added new routing file for MailPoet integration.
  • backend/Actions/MailRelay/RecordApiHelper.php
    • Added new API helper for MailRelay integration.
  • backend/Actions/MailRelay/Routes.php
    • Added new routing file for MailRelay integration.
  • backend/Actions/MailerLite/RecordApiHelper.php
    • Added new API helper for MailerLite integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/MailerLite/Routes.php
    • Added new routing file for MailerLite integration.
  • backend/Actions/MailerPress/RecordApiHelper.php
    • Added new API helper for MailerPress integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/MailerPress/Routes.php
    • Added new routing file for MailerPress integration.
  • backend/Actions/Mailercloud/RecordApiHelper.php
    • Added new API helper for Mailercloud integration.
  • backend/Actions/Mailercloud/Routes.php
    • Added new routing file for Mailercloud integration.
  • backend/Actions/Mailify/RecordApiHelper.php
    • Added new API helper for Mailify integration.
  • backend/Actions/Mailify/Routes.php
    • Added new routing file for Mailify integration.
  • backend/Actions/Mailjet/RecordApiHelper.php
    • Added new API helper for Mailjet integration.
  • backend/Actions/Mailjet/Routes.php
    • Added new routing file for Mailjet integration.
  • backend/Actions/Mailster/RecordApiHelper.php
    • Added new API helper for Mailster integration.
  • backend/Actions/Mailster/Routes.php
    • Added new routing file for Mailster integration.
  • backend/Actions/Mailup/RecordApiHelper.php
    • Added new API helper for Mailup integration.
  • backend/Actions/Mailup/Routes.php
    • Added new routing file for Mailup integration.
  • backend/Actions/MasterStudyLms/RecordApiHelper.php
    • Added new API helper for MasterStudyLms integration.
  • backend/Actions/MasterStudyLms/Routes.php
    • Added new routing file for MasterStudyLms integration.
  • backend/Actions/Mautic/RecordApiHelper.php
    • Added new API helper for Mautic integration.
  • backend/Actions/Mautic/Routes.php
    • Added new routing file for Mautic integration.
  • backend/Actions/Memberpress/RecordApiHelper.php
    • Added new API helper for Memberpress integration, including i18n comments.
  • backend/Actions/Memberpress/Routes.php
    • Added new routing file for Memberpress integration.
  • backend/Actions/Moosend/RecordApiHelper.php
    • Added new API helper for Moosend integration, including i18n comments and deprecation notices for hooks.
  • backend/Actions/Moosend/Routes.php
    • Added new routing file for Moosend integration.
  • includes/Actions/ACPT/ACPTController.php
    • Renamed to backend/Actions/ACPT/ACPTController.php and updated its namespace, also added i18n comments.
  • includes/Actions/ACPT/ACPTHelper.php
    • Renamed to backend/Actions/ACPT/ACPTHelper.php and updated its namespace, also added i18n comments.
  • includes/Actions/AcademyLms/AcademyLmsController.php
    • Renamed to backend/Actions/AcademyLms/AcademyLmsController.php and updated its namespace, also added i18n comments and phpcs ignore comments.
  • includes/Actions/ActionController.php
    • Renamed to backend/Actions/ActionController.php and updated its namespace, also changed wp_redirect to wp_safe_redirect.
  • includes/Actions/ActiveCampaign/ActiveCampaignController.php
    • Renamed to backend/Actions/ActiveCampaign/ActiveCampaignController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Acumbamail/AcumbamailController.php
    • Renamed to backend/Actions/Acumbamail/AcumbamailController.php and updated its namespace, also added i18n comments.
  • includes/Actions/AgiledCRM/AgiledCRMController.php
    • Renamed to backend/Actions/AgiledCRM/AgiledCRMController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Airtable/AirtableController.php
    • Renamed to backend/Actions/Airtable/AirtableController.php and updated its namespace.
  • includes/Actions/Asana/AsanaController.php
    • Renamed to backend/Actions/Asana/AsanaController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Autonami/AutonamiController.php
    • Renamed to backend/Actions/Autonami/AutonamiController.php and updated its namespace, also added i18n comments.
  • includes/Actions/BenchMark/BenchMarkController.php
    • Renamed to backend/Actions/BenchMark/BenchMarkController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Bento/BentoHelper.php
    • Renamed to backend/Actions/Bento/BentoHelper.php and updated its namespace.
  • includes/Actions/CampaignMonitor/CampaignMonitorController.php
    • Renamed to backend/Actions/CampaignMonitor/CampaignMonitorController.php and updated its namespace, also added i18n comments.
  • includes/Actions/CapsuleCRM/CapsuleCRMController.php
    • Renamed to backend/Actions/CapsuleCRM/CapsuleCRMController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Clickup/ClickupController.php
    • Renamed to backend/Actions/Clickup/ClickupController.php and updated its namespace, also added i18n comments.
  • includes/Actions/ClinchPad/ClinchPadController.php
    • Renamed to backend/Actions/ClinchPad/ClinchPadController.php and updated its namespace, also added i18n comments.
  • includes/Actions/CompanyHub/CompanyHubController.php
    • Renamed to backend/Actions/CompanyHub/CompanyHubController.php and updated its namespace, also added i18n comments.
  • includes/Actions/ConstantContact/ConstantContactController.php
    • Renamed to backend/Actions/ConstantContact/ConstantContactController.php and updated its namespace, also added i18n comments.
  • includes/Actions/ConvertKit/ConvertKitController.php
    • Renamed to backend/Actions/ConvertKit/ConvertKitController.php and updated its namespace, also added i18n comments.
  • includes/Actions/CopperCRM/CopperCRMController.php
    • Renamed to backend/Actions/CopperCRM/CopperCRMController.php and updated its namespace, also added i18n comments.
  • includes/Actions/CustomApi/CustomApiController.php
    • Renamed to backend/Actions/CustomApi/CustomApiController.php and updated its namespace.
  • includes/Actions/CustomApi/Routes.php
    • Renamed to backend/Actions/CustomApi/Routes.php.
  • includes/Actions/Demio/DemioController.php
    • Renamed to backend/Actions/Demio/DemioController.php and updated its namespace, also added i18n comments.
  • includes/Actions/DirectIq/DirectIqController.php
    • Renamed to backend/Actions/DirectIq/DirectIqController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Discord/DiscordController.php
    • Renamed to backend/Actions/Discord/DiscordController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Dokan/DokanController.php
    • Renamed to backend/Actions/Dokan/DokanController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Drip/DripController.php
    • Renamed to backend/Actions/Drip/DripController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Dropbox/DropboxController.php
    • Renamed to backend/Actions/Dropbox/DropboxController.php and updated its namespace, also added i18n comments.
  • includes/Actions/ElasticEmail/ElasticEmailController.php
    • Renamed to backend/Actions/ElasticEmail/ElasticEmailController.php and updated its namespace, also added i18n comments.
  • includes/Actions/EmailOctopus/EmailOctopusController.php
    • Renamed to backend/Actions/EmailOctopus/EmailOctopusController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Encharge/EnchargeController.php
    • Renamed to backend/Actions/Encharge/EnchargeController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Fabman/FabmanController.php
    • Renamed to backend/Actions/Fabman/FabmanController.php and updated its namespace, also removed a debug error_log call.
  • includes/Actions/Flowlu/FlowluController.php
    • Renamed to backend/Actions/Flowlu/FlowluController.php and updated its namespace, also added i18n comments.
  • includes/Actions/FluentCart/FluentCartController.php
    • Renamed to backend/Actions/FluentCart/FluentCartController.php and updated its namespace.
  • includes/Actions/FluentCrm/FluentCrmController.php
    • Renamed to backend/Actions/FluentCrm/FluentCrmController.php and updated its namespace, also added i18n comments.
  • includes/Actions/FluentSupport/FluentSupportController.php
    • Renamed to backend/Actions/FluentSupport/FluentSupportController.php and updated its namespace, also added i18n comments.
  • includes/Actions/FreshSales/FreshSalesController.php
    • Renamed to backend/Actions/FreshSales/FreshSalesController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Freshdesk/AllFilesApiHelper.php
    • Renamed to backend/Actions/Freshdesk/AllFilesApiHelper.php and updated its namespace.
  • includes/Actions/Freshdesk/FreshdeskController.php
    • Renamed to backend/Actions/Freshdesk/FreshdeskController.php and updated its namespace, also added i18n comments and updated custom field key prefix.
  • includes/Actions/GetResponse/GetResponseController.php
    • Renamed to backend/Actions/GetResponse/GetResponseController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Getgist/GetgistController.php
    • Renamed to backend/Actions/Getgist/GetgistController.php and updated its namespace, also added i18n comments.
  • includes/Actions/GiveWp/GiveWpController.php
    • Renamed to backend/Actions/GiveWp/GiveWpController.php and updated its namespace, also added i18n comments.
  • includes/Actions/GoogleCalendar/GoogleCalendarController.php
    • Renamed to backend/Actions/GoogleCalendar/GoogleCalendarController.php and updated its namespace, also added i18n comments.
  • includes/Actions/GoogleContacts/GoogleContactsController.php
    • Renamed to backend/Actions/GoogleContacts/GoogleContactsController.php and updated its namespace, also added i18n comments.
  • includes/Actions/GoogleDrive/GoogleDriveController.php
    • Renamed to backend/Actions/GoogleDrive/GoogleDriveController.php and updated its namespace, also added i18n comments.
  • includes/Actions/GoogleSheet/GoogleSheetController.php
    • Renamed to backend/Actions/GoogleSheet/GoogleSheetController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Gravitec/GravitecController.php
    • Renamed to backend/Actions/Gravitec/GravitecController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Groundhogg/GroundhoggController.php
    • Renamed to backend/Actions/Groundhogg/GroundhoggController.php and updated its namespace, also added i18n comments.
  • includes/Actions/HighLevel/HighLevelController.php
    • Renamed to backend/Actions/HighLevel/HighLevelController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Hubspot/HubspotController.php
    • Renamed to backend/Actions/Hubspot/HubspotController.php and updated its namespace.
  • includes/Actions/Hubspot/HubspotRecordApiHelper.php
    • Renamed to backend/Actions/Hubspot/HubspotRecordApiHelper.php and updated its namespace, also added i18n comments and deprecation notices for hooks.
  • includes/Actions/Insightly/InsightlyController.php
    • Renamed to backend/Actions/Insightly/InsightlyController.php and updated its namespace, also added i18n comments.
  • includes/Actions/JetEngine/JetEngineController.php
    • Renamed to backend/Actions/JetEngine/JetEngineController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Keap/KeapController.php
    • Renamed to backend/Actions/Keap/KeapController.php and updated its namespace, also added i18n comments.
  • includes/Actions/KirimEmail/KirimEmailController.php
    • Renamed to backend/Actions/KirimEmail/KirimEmailController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Klaviyo/KlaviyoController.php
    • Renamed to backend/Actions/Klaviyo/KlaviyoController.php and updated its namespace, also added i18n comments.
  • includes/Actions/LMFWC/LMFWCController.php
    • Renamed to backend/Actions/LMFWC/LMFWCController.php and updated its namespace, also added i18n comments.
  • includes/Actions/LearnDash/LearnDashController.php
    • Renamed to backend/Actions/LearnDash/LearnDashController.php and updated its namespace, also added i18n comments.
  • includes/Actions/LearnDash/RecordApiHelper.php
    • Renamed to backend/Actions/LearnDash/RecordApiHelper.php and updated its namespace, also added i18n comments and phpcs ignore comments.
  • includes/Actions/Lemlist/LemlistController.php
    • Renamed to backend/Actions/Lemlist/LemlistController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Line/LineController.php
    • Renamed to backend/Actions/Line/LineController.php and updated its namespace.
  • includes/Actions/LionDesk/LionDeskController.php
    • Renamed to backend/Actions/LionDesk/LionDeskController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Livestorm/LivestormController.php
    • Renamed to backend/Actions/Livestorm/LivestormController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Mail/MailController.php
    • Renamed to backend/Actions/Mail/MailController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MailBluster/MailBlusterController.php
    • Renamed to backend/Actions/MailBluster/MailBlusterController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MailChimp/MailChimpController.php
    • Renamed to backend/Actions/MailChimp/MailChimpController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MailChimp/RecordApiHelper.php
    • Renamed to backend/Actions/MailChimp/RecordApiHelper.php and updated its namespace, also added i18n comments and deprecation notices for hooks.
  • includes/Actions/MailMint/MailMintController.php
    • Renamed to backend/Actions/MailMint/MailMintController.php and updated its namespace, also added i18n comments and phpcs ignore comments.
  • includes/Actions/MailPoet/MailPoetController.php
    • Renamed to backend/Actions/MailPoet/MailPoetController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MailRelay/MailRelayController.php
    • Renamed to backend/Actions/MailRelay/MailRelayController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MailerLite/MailerLiteController.php
    • Renamed to backend/Actions/MailerLite/MailerLiteController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MailerPress/MailerPressController.php
    • Renamed to backend/Actions/MailerPress/MailerPressController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Mailercloud/MailercloudController.php
    • Renamed to backend/Actions/Mailercloud/MailercloudController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Mailify/MailifyController.php
    • Renamed to backend/Actions/Mailify/MailifyController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Mailjet/MailjetController.php
    • Renamed to backend/Actions/Mailjet/MailjetController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Mailster/MailsterController.php
    • Renamed to backend/Actions/Mailster/MailsterController.php and updated its namespace.
  • includes/Actions/Mailup/MailupController.php
    • Renamed to backend/Actions/Mailup/MailupController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MasterStudyLms/MasterStudyLmsController.php
    • Renamed to backend/Actions/MasterStudyLms/MasterStudyLmsController.php and updated its namespace, also added i18n comments.
  • includes/Actions/MasterStudyLms/MasterStudyLmsHelper.php
    • Renamed to backend/Actions/MasterStudyLms/MasterStudyLmsHelper.php and updated its namespace, also added phpcs ignore comments.
  • includes/Actions/Mautic/MauticController.php
    • Renamed to backend/Actions/Mautic/MauticController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Memberpress/MemberpressController.php
    • Renamed to backend/Actions/Memberpress/MemberpressController.php and updated its namespace, also added i18n comments and phpcs ignore comments.
  • includes/Actions/Moosend/MoosendController.php
    • Renamed to backend/Actions/Moosend/MoosendController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Moosend/MoosendHelper.php
    • Renamed to backend/Actions/Moosend/MoosendHelper.php and updated its namespace.
  • includes/Actions/MoxieCRM/MoxieCRMController.php
    • Renamed to backend/Actions/MoxieCRM/MoxieCRMController.php and updated its namespace, also added i18n comments.
  • includes/Actions/Newsletter/NewsletterController.php
    • Renamed to backend/Actions/Newsletter/NewsletterController.php.
  • includes/Actions/Nimble/NimbleController.php
    • Renamed to backend/Actions/Nimble/NimbleController.php.
  • includes/Actions/Notion/NotionController.php
    • Renamed to backend/Actions/Notion/NotionController.php.
  • includes/Actions/NutshellCRM/NutshellCRMController.php
    • Renamed to backend/Actions/NutshellCRM/NutshellCRMController.php.
  • includes/Actions/OmniSend/OmniSendController.php
    • Renamed to backend/Actions/OmniSend/OmniSendController.php.
  • includes/Actions/OneDrive/OneDriveController.php
    • Renamed to backend/Actions/OneDrive/OneDriveController.php.
  • includes/Actions/OneHashCRM/OneHashCRMController.php
    • Renamed to backend/Actions/OneHashCRM/OneHashCRMController.php.
  • includes/Actions/PCloud/PCloudController.php
    • Renamed to backend/Actions/PCloud/PCloudController.php.
  • includes/Actions/PerfexCRM/PerfexCRMController.php
    • Renamed to backend/Actions/PerfexCRM/PerfexCRMController.php.
  • includes/Actions/PipeDrive/PipeDriveController.php
    • Renamed to backend/Actions/PipeDrive/PipeDriveController.php.
  • includes/Actions/Pods/PodsController.php
    • Renamed to backend/Actions/Pods/PodsController.php.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/deploy.yml
    • .github/workflows/plugin-check.yml
Activity
  • RishadAlam initiated a significant refactoring of the plugin's integration architecture.
  • New ESLint and PHPCS configurations were introduced to enforce code quality standards.
  • The build process was updated to reflect the new file structure and dependency management.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

$in_str = join(',', $in_str_arr);
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->prefix}bp_groups WHERE status IN (%s)", $in_str));
$placeholders = implode(', ', array_fill(0, \count($statuses), '%s'));
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->prefix}bp_groups WHERE status IN ({$placeholders})", ...$statuses));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use static values

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request primarily focuses on a large-scale refactoring, moving files from the includes/ directory to backend/ and updating namespaces from BitCode\FI to BitApps\Integrations. It also introduces several new RecordApiHelper and Routes files for various integrations, along with internationalization improvements and linting configuration updates. While the refactoring is consistent, I have identified a few critical issues, including a hardcoded user ID in the LifterLMS integration and a logic error in the Custom Action logging mechanism.

{
$user_id = 30;
if (! \function_exists('llms_unenroll_student') && empty($user_id) && empty($membershipId)) {
return false;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The user ID is hardcoded to 30. This appears to be a debugging leftover and will cause the unenrollment action to target the wrong user in production. It should be replaced with a dynamic call to get the current user ID.

        $user_id = get_current_user_id();

}
if ($isSuccessfullyRun) {
LogHandler::save($integId, wp_json_encode(['type' => 'custom_action', 'type_name' => 'custom action']), 'success', wp_json_encode('Custom action successfully run' . !empty($additionalData) ? wp_json_encode($additionalData) : ''));
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is a precedence issue with the ternary operator and string concatenation. The current code evaluates the concatenation before the ternary condition, which results in the prefix string being lost in the log. Parentheses should be added to ensure the ternary operation is evaluated first.

            LogHandler::save($integId, wp_json_encode(['type' => 'custom_action', 'type_name' => 'custom action']), 'success', wp_json_encode('Custom action successfully run' . (!empty($additionalData) ? wp_json_encode($additionalData) : '')));

Comment on lines +44 to +46
$keyTypes = explode('{btcbi}', $key);
$fieldId = $keyTypes[0];
$fieldType = $keyTypes[1];

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Accessing $keyTypes[1] without verifying that the explode operation succeeded (i.e., that the delimiter {btcbi} was present in the key) may lead to an 'Undefined offset' notice and potential logic failure if the input data is malformed.

            $keyTypes = explode('{btcbi}', $key);
            $fieldId = $keyTypes[0];
            $fieldType = isset($keyTypes[1]) ? $keyTypes[1] : 'string';


private function existContact($email)
{
$apiEndpoints = $apiEndpoints = $this->baseUrl . 'contacts?email=' . $email . '&include=custom_fields,list_memberships,taggings,notes,phone_numbers,street_addresses,sms_channel';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is a redundant double assignment to the $apiEndpoints variable.

        $apiEndpoints = $this->baseUrl . 'contacts?email=' . $email . '&include=custom_fields,list_memberships,taggings,notes,phone_numbers,street_addresses,sms_channel';

@RishadAlam RishadAlam merged commit 65d91bc into main Feb 20, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants