get('currentModule'); if (isset($currentModule)) { $currentProvider = SPTips_CurrentProvider_Model::getProviderInstance(); if (!$currentProvider) { $response->setError('Can\'t load provider'); $response->emit(); return; } $searchParam = $request->get('searchParam'); $providerId = Settings_SPTips_Provider_Model::getProviderIdByName($currentProvider->getName()); $ruleModel = Settings_SPTips_Rule_Model::getInstanceByNameAndProvider($currentModule, $providerId); $targetFields = $ruleModel->get('targetFields'); $currentVtigerField = $request->get('currentField'); // add source field to array, which will be used for searching $targetFields[$currentVtigerField] = $currentVtigerField; $providerFields = Settings_SPTips_ListRules_View::getProviderFieldsForSelectedRule($ruleModel->get('ruleId')); $providerFields[$request->get('currentField')] = Settings_SPTips_Rule_Model::getProviderFieldForSourceField($currentModule, $providerId); $addressAggregator = new SPTips_AddressAggregator_Model($currentProvider, $searchParam, $targetFields, $providerFields); $resultArray = $addressAggregator->searchAddress(); $response->setResult($resultArray); } else { $response->setError('No param with current module name'); } $response->emit(); } }