option_key ) ) { $data = get_option( awpp_get_instance()->option_key ); } else { $data = get_plugin_data( $file ); } self::$instance->name = $data['Name']; self::$instance->version = $data['Version']; self::$instance->prefix = 'awpp'; self::$instance->debug = true; self::$instance->file = $file; self::$instance->run(); } return self::$instance; } /** * Non-essential dump function to debug variables. * * @param mixed $var The variable to be output * @param boolean $die Should the script stop immediately after outputting $var? */ public function dump( $var, $die = false ) { echo '
' . print_r( $var, 1 ) . ''; if ( $die ) { die(); } } /** * Execution function which is called after the class has been initialized. * This contains hook and filter assignments, etc. */ private function run() { add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) ); add_action( 'admin_init', array( $this, 'update_plugin_data' ) ); register_deactivation_hook( awpp_get_instance()->file, array( $this, 'deactivate' ) ); } /** * Load translation files from the indicated directory. */ public function load_plugin_textdomain() { load_plugin_textdomain( 'awpp', false, dirname( plugin_basename( awpp_get_instance()->file ) ) . '/languages' ); } /** * Update Plugin Data */ public function update_plugin_data() { $db_data = get_option( awpp_get_instance()->option_key ); $file_data = get_plugin_data( awpp_get_instance()->file ); if ( ! $db_data || version_compare( $file_data['Version'], $db_data['Version'], '>' ) ) { awpp_get_instance()->name = $file_data['Name']; awpp_get_instance()->version = $file_data['Version']; update_option( awpp_get_instance()->option_key, $file_data ); if ( ! $db_data ) { do_action( 'awpp_on_activate' ); } else { do_action( 'awpp_on_update', $db_data['Version'], $file_data['Version'] ); } } } public function deactivate() { delete_option( awpp_get_instance()->option_key ); } }