require 'define.php'; $jlang = JFactory::getLanguage(); $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, 'en-GB', true); $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, $jlang->getDefault(), true); $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, null, true); $total = 0; 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'); $data = $parameters->getParamByName('data'); //vmdebug('pclasses',$data); $eid_array = KlarnaHandler::getEidSecretArray($data); foreach ($eid_array as $country => $eid_data) { try { $klarna = new Klarna_virtuemart(); $klarna->config($eid_data['eid'], $eid_data['secret'], null, null, null, $data->klarna_mode, VMKLARNA_PC_TYPE, KlarnaHandler::getKlarna_pc_type(), $data->klarna_mode == 'klarna_live'); $klarna->setCountry($country); $pclasses = $klarna->getPClasses(); $total = $total + count($pclasses); if (!count($pclasses) == 0) { ?> <table class="klarna_pclasses"> <thead class="klarna_pclasses_header"> <td class="pclass_id"><?php echo JText::_('VMPAYMENT_KLARNA_PCLASS_ID');
function getPclasses() { $jlang = JFactory::getLanguage(); $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, 'en-GB', true); $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, $jlang->getDefault(), true); $jlang->load('plg_vmpayment_klarna', JPATH_ADMINISTRATOR, NULL, true); // call klarna server for pClasses //$methodid = jrequest::getInt('methodid'); 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'); $data = $parameters->getParamByName('data'); // echo "<pre>";print_r($data); $json = KlarnaHandler::fetchPClasses($data); ob_start(); require JPATH_VMKLARNAPLUGIN . DS . 'klarna' . DS . 'helpers' . DS . 'pclasses_html.php'; $json['pclasses'] = ob_get_clean(); $document = JFactory::getDocument(); $document->setMimeEncoding('application/json'); //echo json_encode($json, true); echo json_encode($json); jexit(); // echo result with tmpl ? }
/** * @author Patrick Kohl * @param $type * @param $name * @param $render */ function plgVmOnSelfCallFE ($type, $name, &$render) { if ($name != $this->_name || $type != 'vmpayment') { return FALSE; } //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, $settings['country_code_3']), 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 (); }