includes(); $this->admin_chat_box = plugin_basename(__FILE__); } /** * Register */ public function register() { add_action('plugins_loaded', [ $this, 'acb_load' ]); add_action('activated_plugin', [ $this, 'acb_plugin_activation' ]); } /** * Main Plugin Instance. * * Insures that only one instance of the addon exists in memory at any one * time. Also prevents needing to define globals all over the place. */ public static function acb_load() { load_plugin_textdomain('acb', false,dirname(__FILE__) . 'languages'); } /** * Classes instantiating here. */ public function includes() { new ACB_AdminDashboard(); $enqueue = new ACB_Enqueue(); $enqueue->register(); new ACB_DbTables(); new ACB_BaseController(); new ACB_Route(); } /** * While active the plugin redirect. * * @param string $plugin redirect to the dashboard. * @since 1.0.0 */ public function acb_plugin_activation( $plugin ) { if ( plugin_basename(__FILE__) == $plugin ) { wp_redirect(admin_url('admin.php?page=admin_chat_box_setting')); die(); } } /** * Activation Hook */ public function acb_activate() { ACB_Activate::acb_activate(); } /** * Deactivation Hook */ public function acb_deactivate() { ACB_Deactivate::acb_deactivate(); } } /** * Instantiate an Object Class */ $acb = new ACB_AdminChatBox(); $acb->register(); register_activation_hook (ADMIN_CHAT_BOX__FILE__, [ $acb, 'acb_activate' ] ); register_deactivation_hook (ADMIN_CHAT_BOX__FILE__, [ $acb, 'acb_deactivate' ] ); }