one-click-accessibility/modules/connect/module.php
VasylD 2f647a254d
Release/v4.0.1 (#498)
* [APP-0000] fix tab index

* fix: php error in legacy module [APP-2370] (#495)

* fix: php error in legacy module

* Fix fatal error

* Fix fatal error

---------

Co-authored-by: Rami Yushuvaev <ramiy@elementor.com>

* Fix: Ally action link toggle [APP-2326] (#497)

* [APP-0000] add change log items

* readme.txt and README.MD

* Update readme.txt

Co-authored-by: Rami Yushuvaev <92088692+rami-elementor@users.noreply.github.com>

---------

Co-authored-by: Nirbhay Singh <121793120+nirbhayel@users.noreply.github.com>
Co-authored-by: Rami Yushuvaev <ramiy@elementor.com>
Co-authored-by: Raz Ohad <ohad@elementor.com>
Co-authored-by: Rami Yushuvaev <92088692+rami-elementor@users.noreply.github.com>
2026-01-20 19:28:56 +07:00

83 lines
1.8 KiB
PHP

<?php
namespace EA11y\Modules\Connect;
use EA11y\Classes\Module_Base;
use EA11y\Modules\Connect\Classes\Config;
use ElementorOne\Connect\Facade;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* Class Module
*/
class Module extends Module_Base {
/**
* Get module name.
* Retrieve the module name.
* @access public
* @return string Module name.
*/
public function get_name() {
return 'connect';
}
public static function is_connected(): bool {
$facade = self::get_connect();
if ( ! $facade ) {
return false;
}
$access_token = $facade->data()->get_access_token();
return ! ! $access_token && $facade->utils()->is_valid_home_url();
}
public static function get_connect(): ?Facade {
return Facade::get( Config::PLUGIN_SLUG );
}
public function authorize_url( $authorize_url ) {
$utm_params = [];
$a11y_campaign = get_transient( 'elementor_ea11y_campaign' );
if ( false === $a11y_campaign ) {
return $authorize_url;
}
foreach ( [ 'source', 'medium', 'campaign' ] as $key ) {
if ( ! empty( $a11y_campaign[ $key ] ) ) {
$utm_params[ 'utm_' . $key ] = $a11y_campaign[ $key ];
}
}
if ( ! empty( $utm_params ) ) {
$authorize_url = add_query_arg( $utm_params, $authorize_url );
}
return $authorize_url;
}
public function __construct() {
add_filter( 'elementor_one/ea11y_connect_authorize_url', [ $this, 'authorize_url' ] );
Facade::make([
'app_name' => Config::APP_NAME,
'app_prefix' => Config::APP_PREFIX,
'app_rest_namespace' => Config::APP_REST_NAMESPACE,
'base_url' => Config::BASE_URL,
'admin_page' => Config::ADMIN_PAGE,
'app_type' => Config::APP_TYPE,
'scopes' => Config::SCOPES,
'state_nonce' => Config::STATE_NONCE,
'connect_mode' => Config::CONNECT_MODE,
'plugin_slug' => Config::PLUGIN_SLUG,
]);
}
}