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; } } } } function OnCheckGateways(&$event) { if (!$this->Application->isAdminUser) { return ; } $fh = opendir(GW_CLASS_PATH); while( $entry=readdir($fh) ) { if ( !is_file(GW_CLASS_PATH.'/'.$entry) ) continue; $pathinfo = pathinfo($entry); if ( $pathinfo['extension'] != 'php') continue; $class_name = false; include_once(GW_CLASS_PATH.'/'.$entry); if (!$class_name) continue; $tmp = new $class_name(); $tmp->Install(); } } }