/** * Plugins loaded */ public static function plugins_loaded() { if (Pronamic_WP_Pay_Extensions_WPMUDEV_Membership_Membership::is_active()) { // Backwards compatibility Membership <= 3.4 $class_aliases = array('M_Gateway' => 'Membership_Gateway', 'M_Subscription' => 'Membership_Model_Subscription', 'M_Membership' => 'Membership_Model_Member'); foreach ($class_aliases as $orignal => $alias) { if (class_exists($orignal) && !class_exists($alias)) { // http://www.php.net/manual/en/function.class-alias.php class_alias($orignal, $alias); } } // Register the Membership iDEAL gateway // Membership < 3.5 if (function_exists('M_register_gateway')) { M_register_gateway('pronamic_ideal', 'Pronamic_WP_Pay_Extensions_WPMUDEV_Membership_IDealGateway'); } // Membership >= 3.5 if (method_exists('Membership_Gateway', 'register_gateway')) { Membership_Gateway::register_gateway('pronamic_ideal', 'Pronamic_WP_Pay_Extensions_WPMUDEV_Membership_IDealGateway'); } add_action('pronamic_payment_status_update_' . self::SLUG, array(__CLASS__, 'status_update'), 10, 2); add_filter('pronamic_payment_source_text_' . self::SLUG, array(__CLASS__, 'source_text'), 10, 2); if (is_admin()) { $admin = new Pronamic_WP_Pay_Extensions_WPMUDEV_Membership_Admin(); } } }
/** * Constructs and initliaze an Membership iDEAL gateway */ public function __construct() { parent::__construct(); $this->id = constant(get_class($this) . '::ID'); if (!isset($this->name)) { $this->name = __('Pronamic', 'pronamic_ideal'); } // @see http://plugins.trac.wordpress.org/browser/membership/tags/3.4.4.1/membershipincludes/gateways/gateway.freesubscriptions.php#L30 // @see http://plugins.trac.wordpress.org/browser/membership/tags/3.4.4.1/membershipincludes/classes/class.gateway.php#L97 if (Pronamic_WP_Pay_Extensions_WPMUDEV_Membership_Membership::is_active()) { add_action('init', array($this, 'maybe_pay')); // @see http://plugins.trac.wordpress.org/browser/membership/tags/3.4.4.1/membershipincludes/includes/payment.form.php#L78 add_action('membership_purchase_button', array($this, 'purchase_button'), 1, 3); add_action('ms_gateway_changed_' . $this->id, array($this, 'update_settings')); } }