Index: branches/5.2.x/units/gateways/gateways_config.php =================================================================== --- branches/5.2.x/units/gateways/gateways_config.php +++ branches/5.2.x/units/gateways/gateways_config.php @@ -19,6 +19,24 @@ 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), 'EventHandlerClass' => Array('class'=>'GatewayEventHandler','file'=>'gw_event_handler.php','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'GatewayTagProcessor','file'=>'gw_tag_processor.php','build_event'=>'OnBuild'), + + 'RegisterClasses' => array( + array('pseudo' => 'kGWBase', 'class' => 'kGWBase', 'file' => 'gw_classes/gw_base.php', 'build_event' => ''), + array('pseudo' => 'kAtosOriginGW', 'class' => 'kAtosOriginGW', 'file' => 'gw_classes/atosorigin.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWAuthorizeNet', 'class' => 'kGWAuthorizeNet', 'file' => 'gw_classes/authorizenet.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWGoogleCheckout', 'class' => 'kGWGoogleCheckout', 'file' => 'gw_classes/google_checkout.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWiDEALnl', 'class' => 'kGWiDEALnl', 'file' => 'gw_classes/ideal_nl.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kMultiCardsGW', 'class' => 'kMultiCardsGW', 'file' => 'gw_classes/multicards.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kPayboxGW', 'class' => 'kPayboxGW', 'file' => 'gw_classes/paybox.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kPaymentechGW', 'class' => 'kPaymentechGW', 'file' => 'gw_classes/paymentech.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWPayPal', 'class' => 'kGWPayPal', 'file' => 'gw_classes/paypal.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWPaypalDirect', 'class' => 'kGWPaypalDirect', 'file' => 'gw_classes/paypal_direct.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWRightConnect', 'class' => 'kGWRightConnect', 'file' => 'gw_classes/rightconnect.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kSellaGuestPayGW', 'class' => 'kSellaGuestPayGW', 'file' => 'gw_classes/sella_guestpay.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kVerisignPfLinkGW', 'class' => 'kVerisignPfLinkGW', 'file' => 'gw_classes/verisign_pflink.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + array('pseudo' => 'kGWWorldPay', 'class' => 'kGWWorldPay', 'file' => 'gw_classes/worldpay.php', 'build_event' => '', 'require_classes' => 'kGWBase'), + ), + 'AutoLoad' => true, 'Hooks' => Array( Array( @@ -54,7 +72,7 @@ 'ListSQLs' => Array ( '' => 'SELECT * FROM %s', ), // key - special, value - list select sql - + 'ItemSQLs' => Array ( ''=>'SELECT * FROM %s', ), @@ -70,5 +88,5 @@ 'VirtualFields' => Array ( 'Value' => Array('type' => 'string', 'default' => ''), - ), - ); \ No newline at end of file + ), + ); Index: branches/5.2.x/units/orders/order_validator.php =================================================================== --- branches/5.2.x/units/orders/order_validator.php +++ branches/5.2.x/units/orders/order_validator.php @@ -120,9 +120,8 @@ if (defined('DEBUG_MODE') && kUtil::constOn('DBG_PAYMENT_GW')) { $gw_data = $this->dataSource->getGatewayData(); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); $test_numbers = $gateway_object->GetTestCCNumbers(); if ( in_array($value, $test_numbers) ) { @@ -244,4 +243,4 @@ return true; } -} \ No newline at end of file +} Index: branches/5.2.x/units/orders/orders_event_handler.php =================================================================== --- branches/5.2.x/units/orders/orders_event_handler.php +++ branches/5.2.x/units/orders/orders_event_handler.php @@ -348,9 +348,8 @@ { $gw_data = $order->getGatewayData(); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - /* @var $gateway_object kGWBase */ + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); $payment_result = $gateway_object->DirectPayment($order->GetFieldValues(), $gw_data['gw_params']); $sql = 'UPDATE %s SET GWResult1 = %s WHERE %s = %s'; @@ -2100,9 +2099,8 @@ // charge user for order in case if we user 2step charging (e.g. AUTH_ONLY + PRIOR_AUTH_CAPTURE) $gw_data = $object->getGatewayData(); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - /* @var $gateway_object kGWBase */ + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); $charge_result = $gateway_object->Charge($object->GetFieldValues(), $gw_data['gw_params']); $sql = 'UPDATE %s SET GWResult2 = %s WHERE %s = %s'; @@ -2166,9 +2164,8 @@ $gw_data = $object->getGatewayData(); if ( $gw_data ) { - $this->Application->registerClass($gw_data['ClassName'], GW_CLASS_PATH . '/' . $gw_data['ClassFile']); + /** @var kGWBase $gateway_object */ $gateway_object = $this->Application->recallObject($gw_data['ClassName']); - $gateway_object->OrderDeclined($object->GetFieldValues(), $gw_data['gw_params']); } } @@ -2220,9 +2217,8 @@ // inform payment gateway that order was shipped $gw_data = $object->getGatewayData(); - $this->Application->registerClass($gw_data['ClassName'], GW_CLASS_PATH . '/' . $gw_data['ClassFile']); + /** @var kGWBase $gateway_object */ $gateway_object = $this->Application->recallObject($gw_data['ClassName']); - $gateway_object->OrderShipped($object->GetFieldValues(), $gw_data['gw_params']); } else { Index: branches/5.2.x/units/orders/orders_tag_processor.php =================================================================== --- branches/5.2.x/units/orders/orders_tag_processor.php +++ branches/5.2.x/units/orders/orders_tag_processor.php @@ -1111,10 +1111,9 @@ /* @var $object OrdersItem */ $gw_data = $object->getGatewayData( isset($params['payment_type_id']) ? $params['payment_type_id'] : null ); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - /* @var $gateway_object kGWBase */ + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); return $gateway_object->getFormAction($gw_data['gw_params']); } @@ -1125,10 +1124,9 @@ /* @var $object OrdersItem */ $gw_data = $object->getGatewayData( isset($params['payment_type_id']) ? $params['payment_type_id'] : null ); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - /* @var $gateway_object kGWBase */ + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); $tpl = ''."\n"; $hidden_fields = $gateway_object->getHiddenFields($object->GetFieldValues(), $params, $gw_data['gw_params']); @@ -1152,10 +1150,9 @@ /* @var $object OrdersItem */ $gw_data = $object->getGatewayData( isset($params['payment_type_id']) ? $params['payment_type_id'] : null ); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - /* @var $gateway_object kGWBase */ + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); return $gateway_object->NeedPlaceButton($object->GetFieldValues(), $params, $gw_data['gw_params']); } @@ -1394,9 +1391,8 @@ $object = $this->getObject($params); $gw_data = $object->getGatewayData($params['payment_type_id']); - $this->Application->registerClass( $gw_data['ClassName'], GW_CLASS_PATH.'/'.$gw_data['ClassFile'] ); - $gateway_object = $this->Application->recallObject( $gw_data['ClassName'] ); - + /** @var kGWBase $gateway_object */ + $gateway_object = $this->Application->recallObject($gw_data['ClassName']); $sql = 'SELECT oi.* FROM '.TABLE_PREFIX.'OrderItems oi