function plgVmOnSelfCallFE($type, $name, &$render) { //Klarna Ajax require JPATH_VMKLARNAPLUGIN . '/klarna/helpers/klarna_ajax.php'; if (!class_exists('VmModel')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'vmmodel.php'; } $model = VmModel::getModel('paymentmethod'); $payment = $model->getPayment(); if (!class_exists('vmParameters')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'parameterparser.php'; } $parameters = new vmParameters($payment, $payment->payment_element, 'plugin', 'vmpayment'); $method = $parameters->getParamByName('data'); $country = JRequest::getWord('country'); $country = KlarnaHandler::convertToThreeLetterCode($country); if (!class_exists('klarna_virtuemart')) { require JPATH_VMKLARNAPLUGIN . '/klarna/helpers/klarna_virtuemart.php'; } $settings = KlarnaHandler::getCountryData($method, $country); $klarna = new Klarna_virtuemart(); $klarna->config($settings['eid'], $settings['secret'], $settings['country'], $settings['language'], $settings['currency'], KlarnaHandler::getKlarnaMode($method), VMKLARNA_PC_TYPE, KlarnaHandler::getKlarna_pc_type(), true); $SelfCall = new KlarnaAjax($klarna, (int) $settings['eid'], JPATH_VMKLARNAPLUGIN, Juri::base()); $action = JRequest::getWord('action'); $jlang = JFactory::getLanguage(); $currentLang = substr($jlang->getDefault(), 0, 2); $newIso = JRequest::getWord('newIso'); if ($currentLang != $newIso) { $iso = array("sv" => "sv-SE", "da" => "da-DK", "en" => "en-GB", "de" => "de-DE", "nl" => "nl-NL", "nb" => "nb-NO", "fi" => "fi-FI"); if (array_key_exists($newIso, $iso)) { $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, $iso[$newIso], true); } } echo $SelfCall->{$action}(); jexit(); }