示例#1
0
 private function getPaymentMethods()
 {
     $this->loadLanguageFile('backend/Settings');
     $this->application->loadLanguageFiles();
     $handlers = array();
     foreach (array_merge($this->application->getPaymentHandlerList(true), array($this->config->get('CC_HANDLER')), $this->application->getExpressPaymentHandlerList(true)) as $class) {
         $handlers[$class] = $this->translate($class);
     }
     foreach (OfflineTransactionHandler::getEnabledMethods() as $offline) {
         $handlers[$offline] = OfflineTransactionHandler::getMethodName($offline);
     }
     return $handlers;
 }
 public function getFields()
 {
     $app = ActiveRecordModel::getApplication();
     $app->loadLanguageFile('backend/Settings');
     $app->loadLanguageFiles();
     $config = $app->getConfig();
     $handlers = array();
     foreach (array_merge($app->getPaymentHandlerList(true), array($config->get('CC_HANDLER')), $app->getExpressPaymentHandlerList(true)) as $class) {
         $handlers[$class] = $app->translate($class);
     }
     foreach (OfflineTransactionHandler::getEnabledMethods() as $offline) {
         $handlers[$offline] = OfflineTransactionHandler::getMethodName($offline);
     }
     return array(array('type' => 'select', 'label' => '_payment_method', 'name' => 'method', 'options' => $handlers));
 }
示例#3
0
 public function index()
 {
     $nodes = array();
     foreach (EavField::getEavClasses() as $class => $id) {
         $nodes[] = array('ID' => $id, 'name' => $this->translate($class));
     }
     // get offline payment methods
     $offlineMethods = array();
     foreach (OfflineTransactionHandler::getEnabledMethods() as $method) {
         $id = substr($method, -1);
         $offlineMethods[] = array('ID' => $method, 'name' => $this->config->get('OFFLINE_NAME_' . $id));
     }
     if ($offlineMethods) {
         $nodes[] = array('ID' => 'offline methods', 'name' => $this->translate('_offline_methods'), 'sub' => $offlineMethods);
     }
     return new ActionResponse('nodes', $nodes);
 }
示例#4
0
 private function getOfflinePaymentForms(ActionResponse $response)
 {
     $forms = array();
     $offlineVars = array();
     foreach (OfflineTransactionHandler::getEnabledMethods() as $method) {
         $forms[$method] = new Form($this->getOfflinePaymentValidator($method));
         $eavManager = new EavSpecificationManager(EavObject::getInstanceByIdentifier($method));
         $eavManager->setFormResponse($response, $forms[$method]);
         foreach (array('groupClass', 'specFieldList') as $vars) {
             $offlineVars[$method][$vars] = $response->get($vars);
         }
     }
     $response->set('offlineVars', $offlineVars);
     return $forms;
 }
示例#5
0
 private function appendOfflineTransactionData($transactions)
 {
     foreach ($transactions as &$transaction) {
         if ($transaction['methodType'] == Transaction::METHOD_OFFLINE) {
             if ($this->availableOfflinePaymentMethods === null) {
                 $this->availableOfflinePaymentMethods = array();
                 foreach (OfflineTransactionHandler::getEnabledMethods() as $methodID) {
                     $this->availableOfflinePaymentMethods[] = array('ID' => $methodID, 'name' => OfflineTransactionHandler::getMethodName($methodID));
                 }
             }
             if (isset($transaction['serializedData'], $transaction['serializedData']['handlerID'])) {
                 $transaction['handlerID'] = $transaction['serializedData']['handlerID'];
             }
             $transaction['availableOfflinePaymentMethods'] = $this->availableOfflinePaymentMethods;
         }
     }
     return $transactions;
 }