public static function setupSteps($steps = null)
{
if (!is_array($steps)) {
//default steps
$steps = array('membership' => 'CheckoutStep_Membership', 'contactdetails' => 'CheckoutStep_ContactDetails', 'shippingaddress' => 'CheckoutStep_Address', 'billingaddress' => 'CheckoutStep_Address', 'paymentmethod' => 'CheckoutStep_PaymentMethod', 'summary' => 'CheckoutStep_Summary');
}
CheckoutPage::config()->steps = $steps;
if (!CheckoutPage::config()->first_step) {
reset($steps);
CheckoutPage::config()->first_step = key($steps);
}
//initiate extensions
Object::add_extension("CheckoutPage_Controller", "SteppedCheckout");
foreach ($steps as $action => $classname) {
Object::add_extension("CheckoutPage_Controller", $classname);
}
}