/**
 * Load the plugin text domain for translation.
 *
 * @since    1.0.0
 */
function hf_load_plugin_textdomain()
{
    $plugin = Hook_Flowchart::get_instance();
    $domain = $plugin->get_plugin_slug();
    $locale = apply_filters('plugin_locale', get_locale(), $domain);
    load_textdomain($domain, trailingslashit(WP_LANG_DIR) . $domain . '/' . $domain . '-' . $locale . '.mo');
    load_plugin_textdomain($domain, FALSE, basename(plugin_dir_path(dirname(__FILE__))) . '/languages/');
}
 /**
  * Initialize the plugin by loading admin scripts & styles and adding a
  * settings page and menu.
  *
  * @since     1.0.0
  */
 protected function __construct()
 {
     $plugin = Hook_Flowchart::get_instance();
     $this->plugin_slug = $plugin->get_plugin_slug();
     $this->version = $plugin->get_plugin_version();
     // Add the options page and menu item.
     add_action('admin_menu', array($this, 'add_plugin_admin_menu'));
     // Add an action link pointing to the options page.
     $plugin_basename = plugin_basename(plugin_dir_path(realpath(dirname(__FILE__))) . $this->plugin_slug . '.php');
     add_filter('plugin_action_links_' . $plugin_basename, array($this, 'add_action_links'));
     // Load admin style sheet and JavaScript.
     add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_styles'));
     add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'));
     /*
      * CMB 2 for metabox and many other cool things!
      * https://github.com/WebDevStudios/CMB2
      */
     require_once plugin_dir_path(__FILE__) . '/includes/CMB2/init.php';
 }
 /**
  * Return an instance of this class.
  *
  * @since     1.0.0
  *
  * @return    object    A single instance of this class.
  */
 public static function get_instance()
 {
     // If the single instance hasn't been set, set it now.
     if (null == self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }