| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- /**
- * Plugin Name: QDR - Studiou WC Custom Reports
- * Plugin URI: https://www.quadarax.com/plugins/studiou-wc-custom-reports
- * Description: Allows view WooCommerce/Reports that shows custom overviews according to order, product, product categories, properties
- * Version: 1.1.0
- * Requires at least: 6.8.1
- * Requires PHP: 8.2
- * Author: Dalibor Votruba
- * Author URI: https://www.quadarax.com
- * License: GPL v2 or later
- * License URI: https://www.gnu.org/licenses/gpl-2.0.html
- * Text Domain: studiou-wc-custom-reports
- * Domain Path: /languages
- * WC requires at least: 9.0
- * WC tested up to: 9.9
- * Woo: 12345:342928dfsfhsf8429842374wdf4234sfd
- */
- // Prevent direct access
- if (!defined('ABSPATH')) {
- exit;
- }
- // Define plugin constants
- define('STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_FILE', __FILE__);
- define('STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_DIR', plugin_dir_path(__FILE__));
- define('STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_URL', plugin_dir_url(__FILE__));
- define('STUDIOU_WC_CUSTOM_REPORTS_VERSION', '1.1.0');
- define('STUDIOU_WC_CUSTOM_REPORTS_TEXT_DOMAIN', 'studiou-wc-custom-reports');
- // Check if WooCommerce is active
- if (!in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
- add_action('admin_notices', function() {
- echo '<div class="notice notice-error"><p>' . __('Studiou WC Custom Reports requires WooCommerce to be installed and active.', STUDIOU_WC_CUSTOM_REPORTS_TEXT_DOMAIN) . '</p></div>';
- });
- return;
- }
- // Declare HPOS compatibility
- add_action('before_woocommerce_init', function() {
- if (class_exists('\Automattic\WooCommerce\Utilities\FeaturesUtil')) {
- \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true);
- }
- });
- // Autoload classes
- spl_autoload_register(function ($class_name) {
- if (strpos($class_name, 'StudiouWC_') === 0) {
- $file_name = 'class-' . strtolower(str_replace('_', '-', substr($class_name, 10))) . '.php';
- $file_path = STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_DIR . 'includes/' . $file_name;
-
- if (file_exists($file_path)) {
- require_once $file_path;
- }
- }
- });
- // Include main plugin class
- require_once STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_DIR . 'includes/class-main.php';
- // Initialize the plugin
- function studiou_wc_custom_reports_init() {
- // Load translations
- load_plugin_textdomain(
- STUDIOU_WC_CUSTOM_REPORTS_TEXT_DOMAIN,
- false,
- dirname(plugin_basename(__FILE__)) . '/languages/'
- );
-
- // Initialize main plugin class
- new StudiouWC_Main();
- }
- add_action('plugins_loaded', 'studiou_wc_custom_reports_init');
- // Load textdomain for admin notices (before plugins_loaded)
- add_action('init', function() {
- load_plugin_textdomain(
- STUDIOU_WC_CUSTOM_REPORTS_TEXT_DOMAIN,
- false,
- dirname(plugin_basename(__FILE__)) . '/languages/'
- );
- });
|