Example #1
0
        //The $isDefault parameter will change the default payment plugin
        if (!$isActive) {
            return;
        }
        if (!isset(ECommPayment::$activePaymentPlugin[$className])) {
            require "{$className}.php";
            ECommPayment::$activePaymentPlugin[$className] = new $className();
        }
        //If this is the first plugin, make it the default one
        if (count(ECommPayment::$activePaymentPlugin) == 1) {
            $isDefault = true;
        }
        if ($isDefault) {
            //If a plugin is the default payment class:
            //First, set the defaultPlugin variable to the name of this class
            //Second, change the order of the array becuase the default plugin MUST always be the first payment plugin
            ECommPayment::$defaultPlugin = $className;
            $tempArray = ECommPayment::$activePaymentPlugin;
            ECommPayment::$activePaymentPlugin = array();
            ECommPayment::$activePaymentPlugin[$className] = $tempArray[$className];
            //Put the default plugin at the beginning
            foreach ($tempArray as $key => $val) {
                ECommPayment::$activePaymentPlugin[$key] = $val;
            }
        }
    }
}
ECommPayment::init("Paypal");
ECommPayment::init("CreditCard");
ECommPayment::init("NewPaymentMethod");