public function save($return = 0) { $pp = new PaymentProcessor(); if (!empty($_POST['id'])) { $pp->loadId($_POST['id']); if (empty($pp->id)) { $this->cancel(); } $procname = $pp->processor_name; } elseif (isset($_POST['processor'])) { $pp->loadName($_POST['processor']); $procname = $_POST['processor']; } $pp->fullInit(true); $active = $procname . '_active'; $longname = $procname . '_info_longname'; $description = $procname . '_info_description'; if (isset($_POST[$longname])) { $pp->info['longname'] = $_POST[$longname]; unset($_POST[$longname]); } if (isset($_POST[$description])) { $pp->info['description'] = $_POST[$description]; unset($_POST[$description]); } if (isset($_POST[$active])) { $pp->processor->active = $_POST[$active]; unset($_POST[$active]); } $settings = $pp->getBackendSettings(); if (is_int($pp->is_recurring())) { $settings['recurring'] = 2; } foreach ($settings as $name => $value) { if ($name == 'lists') { continue; } $postname = $procname . '_' . $name; if (isset($_POST[$postname])) { $val = $_POST[$postname]; if (empty($val)) { switch ($name) { case 'currency': $val = 'USD'; break; default: break; } } $pp->settings[$name] = $val; } } $pp->storeload(); $this->setMessage(JText::_('AEC_CONFIG_SAVED')); }