示例#1
0
 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'));
 }