getPassedID($event); $event->setPseudoClass('_List'); $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); $PaymentType_info = $this->Application->GetVar( 'pt' ); $GWConfigValue = $this->Application->recallObject('gwfv'); $GWConfigValue->SetDBField('PaymentTypeId', $this->Application->GetVar('pt_id')); //deleting old values $sql = 'DELETE FROM '.$GWConfigValue->TableName.' WHERE PaymentTypeId = '.$this->Application->GetVar('pt_id'); $res = $this->Conn->Query($sql); //selecting fields for selected gateway only $sql = 'SELECT GWConfigFieldId FROM '.TABLE_PREFIX.'GatewayConfigFields WHERE GatewayId = '.$PaymentType_info[$this->Application->GetVar('pt_id')]['GatewayId']; $res = $this->Conn->GetCol($sql); if($items_info) { foreach($res as $gw_field_id) { $field_values = $items_info[$gw_field_id]; $field_values['GWConfigFieldId'] = $gw_field_id; $GWConfigValue->SetFieldsFromHash($field_values); if( $GWConfigValue->Create() ) { $event->status=kEvent::erSUCCESS; } else { $event->status=kEvent::erFAIL; break; } } } } protected function OnCheckGateways($event) { if ( !$this->Application->isAdminUser ) { return; } $gateways = glob(GW_CLASS_PATH . DIRECTORY_SEPARATOR . '*.php'); if ( !$gateways ) { return; } foreach ($gateways as $gateway_file) { $class_name = false; include_once($gateway_file); if ( !$class_name ) { continue; } /** @var kGWBase $tmp */ $tmp = new $class_name(); $tmp->Install(); } } }