/**
  * Returns and/or create the single instance of this class.  
  *
  * @return  Charitable_Admin_Pages
  * @access  public
  * @since   1.2.0
  */
 public static function get_instance()
 {
     if (is_null(self::$instance)) {
         self::$instance = new Charitable_Admin_Pages();
     }
     return self::$instance;
 }
/**
 * Add action links to the Charitable plugin block.
 *
 * @see     Charitable_Admin::add_plugin_action_links()
 */
add_filter('plugin_action_links_' . plugin_basename(charitable()->get_path()), array(Charitable_Admin::get_instance(), 'add_plugin_action_links'));
/**
 * Add a link to the settings page from the Charitable plugin block.
 *
 * @see     Charitable_Admin::add_plugin_row_meta()
 */
add_filter('plugin_row_meta', array(Charitable_Admin::get_instance(), 'add_plugin_row_meta'), 10, 2);
/**
 * Export donations.
 *
 * @see     Charitable_Admin::export_donations()
 */
add_action('charitable_export_donations', array(Charitable_Admin::get_instance(), 'export_donations'));
/**
 * Add Charitable menu.
 *
 * @see     Charitable_Admin_Pages::add_menu()
 */
add_action('admin_menu', array(Charitable_Admin_Pages::get_instance(), 'add_menu'), 5);
/**
 * Redirect to welcome page after install.
 *
 * @see     Charitable_Admin_Pages::redirect_to_welcome()
 */
add_action('charitable_install', array(Charitable_Admin_Pages::get_instance(), 'setup_welcome_redirect'), 100);
 /**
  * Include admin-only files.
  * 
  * @return  void
  * @access  private
  * @since   1.0.0
  */
 private function load_dependencies()
 {
     $admin_dir = charitable()->get_path('admin');
     require_once $admin_dir . 'charitable-core-admin-functions.php';
     require_once $admin_dir . 'class-charitable-meta-box-helper.php';
     require_once $admin_dir . 'class-charitable-admin-pages.php';
     /* Campaigns */
     require_once $admin_dir . 'campaigns/class-charitable-campaign-post-type.php';
     /* Donations */
     require_once $admin_dir . 'donations/class-charitable-donation-post-type.php';
     /* Settings */
     require_once $admin_dir . 'settings/class-charitable-settings.php';
     require_once $admin_dir . 'settings/class-charitable-general-settings.php';
     require_once $admin_dir . 'settings/class-charitable-email-settings.php';
     require_once $admin_dir . 'settings/class-charitable-gateway-settings.php';
     require_once $admin_dir . 'settings/class-charitable-licenses-settings.php';
     require_once $admin_dir . 'settings/class-charitable-advanced-settings.php';
     require_once $admin_dir . 'settings/charitable-settings-admin-hooks.php';
     /* Dashboard widgets */
     require_once $admin_dir . 'dashboard-widgets/class-charitable-donations-dashboard-widget.php';
     require_once $admin_dir . 'dashboard-widgets/charitable-dashboard-widgets-hooks.php';
     /* Upgrades */
     require_once $admin_dir . 'upgrades/class-charitable-upgrade.php';
     require_once $admin_dir . 'upgrades/class-charitable-upgrade-page.php';
     require_once $admin_dir . 'upgrades/charitable-upgrade-hooks.php';
     /**
      * We are registering this object only for backwards compatibility. It
      * will be removed in or after Charitable 1.3.
      *
      * @deprecated
      */
     charitable()->register_object(Charitable_Settings::get_instance());
     charitable()->register_object(Charitable_Campaign_Post_Type::get_instance());
     charitable()->register_object(Charitable_Donation_Post_Type::get_instance());
     charitable()->register_object(Charitable_Admin_Pages::get_instance());
 }