| Server IP : 3.93.235.159 / Your IP : 216.73.216.140 Web Server : Apache System : Linux ip-172-26-0-169 5.10.0-46-cloud-amd64 #1 SMP Debian 5.10.262-1 (2026-07-31) x86_64 User : bitnami ( 1000) PHP Version : 8.2.9 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/send-app/core/rest/routes/legacy/ |
Upload File : |
<?php
namespace Send_App\Core\Rest\Routes\Legacy;
use Send_App\Core\Rest\Routes\Integrations;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class Integration_Status_Route extends Integrations {
public string $path = '/get-integrations-status';
public function get_name(): string {
return 'legacy-get-integrations-status';
}
/**
* @param \WP_REST_Request $request
*
* @return \WP_REST_Response|\WP_Error
*/
public function GET( \WP_REST_Request $request ) {
$valid = $this->verify_capability();
if ( is_wp_error( $valid ) ) {
return $valid;
}
$result = $this->get_integrations_status( $request );
if ( is_wp_error( $result ) ) {
return $this->respond_error_json( $result );
}
return $this->respond_success_json( $result );
}
public function respond_success_json( $data = [] ): \WP_REST_Response {
return new \WP_REST_Response( $data, 200 );
}
private function get_integrations_status( $request ) {
static $all_sources = [
'cf7',
'elementor',
'wpforms',
'woocommerce',
];
$available_integrations = parent::GET( $request );
if ( is_wp_error( $available_integrations ) ) {
return $available_integrations;
}
$data = $available_integrations->get_data();
$status = [];
foreach ( $all_sources as $id ) {
$status[ $id ] = [
'installed' => false,
'activated' => false,
];
foreach ( $data as $name => $integration ) {
if ( $name === $id ) {
$status[ $id ]['installed'] = true;
$status[ $id ]['activated'] = $integration['enabled'];
}
}
}
return $status;
}
}