diff --git a/plugin-name/trunk/includes/class-plugin-name.php b/plugin-name/trunk/includes/class-plugin-name.php index e9fd502..e8de47d 100644 --- a/plugin-name/trunk/includes/class-plugin-name.php +++ b/plugin-name/trunk/includes/class-plugin-name.php @@ -24,37 +24,126 @@ class Plugin_Name { /** - * This class is used to define common functionality that exists between - * both the dashboard and the public-facing side of the website. Think - * of this as a shared class. - * - * If any hooks are defined in this class, then they should be defined - * in their respective Loader classes (that is, Plugin_Name_Admin_Loader - * or Plugin_Name_Public_Loader). - * - * An instance of this class should then be passed to the loader. + * TODO */ - - protected $plugin_slug = 'plugin-name-slug'; - - protected $version = '1.0.0'; - protected $loader; - public function __construct( Plugin_Name_Loader $loader ) { - $this->loader = $loader; + /** + * TODO + */ + protected $plugin_slug; + + /** + * TODO + */ + protected $version; + + /** + * TODO + */ + public function __construct() { + + $this->plugin_slug = 'plugin-name-slug'; + $this->version = '1.0.0'; + + $this->load_dependencies(); + $this->set_locale(); + $this->define_admin_hooks(); + $this->define_public_hooks(); + } + /** + * TODO + */ + private function load_dependencies() { + + /** + * The class responsible for orchestrating the actions and filters of the + * core plugin. + */ + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-plugin-name-loader.php'; + + /** + * The class responsible for defining internationalization functionality + * of the plugin. + */ + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-plugin-name-i18n.php'; + + /** + * The class responsible for defining all actions that occur in the Dashboard. + */ + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-plugin-name-admin.php'; + + /** + * The class responsible for defining all actions that occur in the public-facing + * side of the site. + */ + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-plugin-name-public.php'; + + $this->loader = new Plugin_Name_Loader(); + + } + + /** + * TODO + */ + private function set_locale() { + + $plugin_i18n = new Plugin_Name_i18n(); + $plugin_i18n->set_domain( $this->get_slug() ); + $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' ); + + } + + /** + * TODO + */ + private function define_admin_hooks() { + + $plugin_admin = new Plugin_Name_Admin( $this->get_version() ); + $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); + $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' ); + + } + + /** + * TODO + */ + private function define_public_hooks() { + + $plugin_public = new Plugin_Name_Public( $this->get_version() ); + $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' ); + $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' ); + + } + + /** + * TODO + */ public function run() { $this->loader->run(); } - public function get_version() { - return $this->version; - } - + /** + * TODO + */ public function get_slug() { return $this->plugin_slug; } + /** + * TODO + */ + public function get_loader() { + return $this->loader; + } + + /** + * TODO + */ + public function get_version() { + return $this->version; + } + }