| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- /**
- * Main Plugin Class
- *
- * @package StudiouWCCustomReports
- */
- if (!defined('ABSPATH')) {
- exit;
- }
- class StudiouWC_Main {
-
- private $db_manager;
- private $settings_manager;
- private $admin_view;
- private $export_handler;
-
- public function __construct() {
- $this->init_classes();
- $this->init_hooks();
- }
-
- private function init_classes() {
- $this->db_manager = new StudiouWC_DB_Manager();
- $this->settings_manager = new StudiouWC_Settings_Manager();
- $this->admin_view = new StudiouWC_Admin_View($this->db_manager, $this->settings_manager);
- $this->export_handler = new StudiouWC_Export_Handler($this->db_manager, $this->settings_manager);
- }
-
- private function init_hooks() {
- add_action('init', array($this, 'init'));
- add_action('admin_menu', array($this->admin_view, 'add_admin_menu'));
- add_action('admin_enqueue_scripts', array($this->admin_view, 'enqueue_admin_scripts'));
- add_action('wp_ajax_studiou_export_csv', array($this->export_handler, 'export_csv'));
- add_action('wp_ajax_studiou_save_settings', array($this->settings_manager, 'save_settings'));
-
- register_activation_hook(STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_FILE, array($this->settings_manager, 'activate'));
- register_deactivation_hook(STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_FILE, array($this, 'deactivate'));
- }
-
- public function init() {
- load_plugin_textdomain(
- STUDIOU_WC_CUSTOM_REPORTS_TEXT_DOMAIN,
- false,
- dirname(plugin_basename(STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_FILE)) . '/languages'
- );
- }
-
- public function deactivate() {
- // Cleanup if needed
- }
-
- public static function get_text_domain() {
- return STUDIOU_WC_CUSTOM_REPORTS_TEXT_DOMAIN;
- }
-
- public static function get_version() {
- return STUDIOU_WC_CUSTOM_REPORTS_VERSION;
- }
-
- public static function get_plugin_dir() {
- return STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_DIR;
- }
-
- public static function get_plugin_url() {
- return STUDIOU_WC_CUSTOM_REPORTS_PLUGIN_URL;
- }
- }
|