Пример #1
0
 protected function getCustomFields($id, waPayment $plugin)
 {
     $contact = $this->getContact();
     $order_params = $this->getSessionData('params', array());
     $payment_params = isset($order_params['payment']) ? $order_params['payment'] : array();
     foreach ($payment_params as $k => $v) {
         $order_params['payment_params_' . $k] = $v;
     }
     $order = new waOrder(array('contact' => $contact, 'contact_id' => $contact ? $contact->getId() : null, 'params' => $order_params));
     $custom_fields = $plugin->customFields($order);
     if (!$custom_fields) {
         return $custom_fields;
     }
     $params = array();
     $params['namespace'] = 'payment_' . $id;
     $params['title_wrapper'] = '%s';
     $params['description_wrapper'] = '<br><span class="hint">%s</span>';
     $params['control_wrapper'] = '<div class="wa-name">%s</div><div class="wa-value">%s %s</div>';
     $selected = $id == $this->getSessionData('payment');
     $controls = array();
     foreach ($custom_fields as $name => $row) {
         $row = array_merge($row, $params);
         if ($selected && isset($payment_params[$name])) {
             $row['value'] = $payment_params[$name];
         }
         $controls[$name] = waHtmlControl::getControl($row['control_type'], $name, $row);
     }
     return $controls;
 }