/** * Initialize the plugin by loading admin scripts & styles and adding a settings page and menu. * * @since 1.0.0 */ private function __construct() { if (isset($_GET['csv'])) { $csv = $this->generate_csv(); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private", false); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"" . 'My Contact Form' . " report.csv\";"); header("Content-Transfer-Encoding: binary"); echo $csv['headers'] . $csv['csv']; die; } // Call $plugin_slug from initial plugin class. TODO: Rename "Plugin_Name" to the name of your initial plugin class $plugin = Ps_forms::get_instance(); $this->plugin_slug = $plugin->get_plugin_slug(); // 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')); // 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. TODO: Rename "plugin-name.php" to the name your plugin $plugin_basename = plugin_basename(plugin_dir_path(__FILE__) . 'ps-forms.php'); add_filter('plugin_action_links_' . $plugin_basename, array($this, 'add_action_links')); // Define custom functionality. Read more about actions and filters: http://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters add_action('TODO', array($this, 'action_method_name')); add_filter('TODO', array($this, 'filter_method_name')); }
/** * 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; }