mirror of
https://ghproxy.net/https://github.com/elementor/one-click-accessibility.git
synced 2026-07-21 12:16:59 +08:00
103 lines
3.2 KiB
PHP
103 lines
3.2 KiB
PHP
<?php
|
||
/**
|
||
* Plugin Name: Web Accessibility - WCAG Scanning, Guided Fixes, Usability Widget
|
||
* Plugin URI: https://elementor.com/
|
||
* Description: Improve your website’s accessibility with ease. Customize capabilities such as text resizing, contrast modes, link highlights, and easily generate an accessibility statement to demonstrate your commitment to inclusivity.
|
||
* Author: Elementor.com
|
||
* Author URI: https://elementor.com/
|
||
* Version: 4.1.2
|
||
* Text Domain: pojo-accessibility
|
||
*
|
||
* Web Accessibility is free software: you can redistribute it and/or modify
|
||
* it under the terms of the GNU General Public License as published by
|
||
* the Free Software Foundation, either version 3 of the License, or
|
||
* any later version.
|
||
*
|
||
* Web Accessibility is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU General Public License for more details.
|
||
*/
|
||
|
||
if ( ! defined( 'ABSPATH' ) ) {
|
||
exit;
|
||
} // Exit if accessed directly
|
||
|
||
// Legacy
|
||
define( 'POJO_A11Y_CUSTOMIZER_OPTIONS', 'pojo_a11y_customizer_options' );
|
||
define( 'EA11Y_VERSION', '4.1.2' );
|
||
define( 'EA11Y_MAIN_FILE', __FILE__ );
|
||
define( 'EA11Y_BASE', plugin_basename( EA11Y_MAIN_FILE ) );
|
||
define( 'EA11Y_PATH', plugin_dir_path( __FILE__ ) );
|
||
define( 'EA11Y_URL', plugins_url( '/', __FILE__ ) );
|
||
define( 'EA11Y_ASSETS_PATH', EA11Y_PATH . 'assets/' );
|
||
define( 'EA11Y_ASSETS_URL', EA11Y_URL . 'assets/' );
|
||
|
||
final class Pojo_Accessibility {
|
||
|
||
/**
|
||
* @var Pojo_Accessibility The one true Pojo_Accessibility
|
||
* @since 1.0.0
|
||
*/
|
||
public static $instance = null;
|
||
|
||
/**
|
||
* Throw error on object clone
|
||
* The whole idea of the singleton design pattern is that there is a single
|
||
* object therefore, we don't want the object to be cloned.
|
||
* @return void
|
||
* @since 1.0.0
|
||
*/
|
||
public function __clone() {
|
||
// Cloning instances of the class is forbidden
|
||
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'pojo-accessibility' ), '1.0.0' );
|
||
}
|
||
|
||
/**
|
||
* Disable unserializing of the class
|
||
* @return void
|
||
* @since 1.0.0
|
||
*/
|
||
public function __wakeup() {
|
||
// Unserializing instances of the class is forbidden
|
||
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'pojo-accessibility' ), '1.0.0' );
|
||
}
|
||
|
||
/**
|
||
* @return Pojo_Accessibility
|
||
*/
|
||
public static function instance() {
|
||
if ( is_null( self::$instance ) ) {
|
||
self::$instance = new self();
|
||
}
|
||
|
||
return self::$instance;
|
||
}
|
||
|
||
/**
|
||
* Initialize the plugin
|
||
* Do your Validations here:
|
||
* for example checks for basic plugin requirements, if one check fail don't continue,
|
||
* if all check have passed include the plugin class.
|
||
* Fired by `plugins_loaded` action hook.
|
||
* @since 2.2.0
|
||
* @access public
|
||
*/
|
||
public function init() {
|
||
// Once we get here, We have passed all validation checks, so we can safely include our plugin
|
||
require_once 'plugin.php';
|
||
}
|
||
|
||
private function __construct() {
|
||
// Load Composer autoloader
|
||
require_once EA11Y_PATH . 'vendor/autoload.php';
|
||
require_once EA11Y_PATH . 'classes/plugin-activation.php';
|
||
|
||
// Init Plugin
|
||
add_action( 'plugins_loaded', [ $this, 'init' ] );
|
||
new \EA11y\Classes\Plugin_Activation( EA11Y_MAIN_FILE );
|
||
}
|
||
|
||
}
|
||
|
||
Pojo_Accessibility::instance();
|