GetShopped.org | Support Forum | Documentation Version: 3.8.RC.2 Author: Instinct Entertainment Author URI: http://getshopped.org/ */ /** * WP_eCommerce * * Main WPEC Plugin Class * * @package wp-e-commerce */ class WP_eCommerce { /** * Start WPEC on plugins loaded */ function WP_eCommerce() { add_action( 'plugins_loaded', array( $this, 'init' ), 8 ); } /** * Takes care of loading up WPEC */ function init() { // Previous to initializing do_action( 'wpsc_pre_init' ); // Initialize $this->start(); $this->constants(); $this->includes(); $this->load(); // Finished initializing do_action( 'wpsc_init' ); } /** * Initialize the basic WPEC constants */ function start() { // Set the core file path define( 'WPSC_FILE_PATH', dirname( __FILE__ ) ); // Define the path to the plugin folder define( 'WPSC_DIR_NAME', basename( WPSC_FILE_PATH ) ); // Define the URL to the plugin folder define( 'WPSC_FOLDER', dirname( plugin_basename( __FILE__ ) ) ); define( 'WPSC_URL', plugins_url( '', __FILE__ ) ); // Finished starting do_action( 'wpsc_started' ); } /** * Setup the WPEC core constants */ function constants() { // Define globals and constants used by wp-e-commerce require_once( WPSC_FILE_PATH . '/wpsc-core/wpsc-constants.php' ); // Load the WPEC core constants wpsc_core_constants(); // Is WordPress Multisite wpsc_core_is_multisite(); // Start the wpsc session wpsc_core_load_session(); // Which version of WPEC wpsc_core_constants_version_processing(); // WPEC Table names and related constants wpsc_core_constants_table_names(); // Uploads directory info wpsc_core_constants_uploads(); // Any additional constants can hook in here do_action( 'wpsc_constants' ); } /** * Include the rest of WPEC's files */ function includes() { require_once( WPSC_FILE_PATH . '/wpsc-core/wpsc-functions.php' ); require_once( WPSC_FILE_PATH . '/wpsc-core/wpsc-installer.php' ); require_once( WPSC_FILE_PATH . '/wpsc-core/wpsc-includes.php' ); // Any additional file includes can hook in here do_action( 'wpsc_includes' ); } /** * Setup the WPEC core */ function load() { // Before setup do_action( 'wpsc_pre_load' ); // Legacy action do_action( 'wpsc_before_init' ); // Setup the core WPEC globals wpsc_core_setup_globals(); // Setup the core WPEC cart wpsc_core_setup_cart(); // Load the thumbnail sizes wpsc_core_load_thumbnail_sizes(); // Load the purchase log statuses wpsc_core_load_purchase_log_statuses(); // Load unique names and checout form types wpsc_core_load_checkout_data(); // Load the gateways wpsc_core_load_gateways(); // Load the shipping modules wpsc_core_load_shipping_modules(); // Set page title array for important WPSC pages wpsc_core_load_page_titles(); // WPEC is fully loaded do_action( 'wpsc_loaded' ); } /** * WPEC Activation Hook */ function install() { global $wp_version; if((float)$wp_version < 3.0){ deactivate_plugins(plugin_basename(__FILE__)); // Deactivate ourselves wp_die( __('Looks like you\'re running an older version of WordPress, you need to be running at least WordPress 3.0 to use WP e-Commerce 3.8', 'wpsc'), __('WP e-Commerce 3.8 not compatible', 'wpsc'), array('back_link' => true)); return; } define( 'WPSC_FILE_PATH', dirname( __FILE__ ) ); require_once( WPSC_FILE_PATH . '/wpsc-core/wpsc-installer.php' ); $this->constants(); wpsc_install(); } } // Start WPEC $wpec = new WP_eCommerce(); // Activation register_activation_hook( __FILE__, array( $wpec, 'install' ) ); ?>