Вход Регистрация
Файл: upload/catalog/controller/payment/sberbank_transfer.php
Строк: 247
<?php
class ControllerPaymentSberBankTransfer extends Controller {

    private static 
$valid_currencies = array('RUB''RUR');
    private 
$currency_code;

    public function 
__construct($registry) {
        
parent::__construct($registry);
        
$this->load->language('payment/sberbank_transfer');
    }

    public function 
index() {
        
$this->getCurrencyCode();
        
        
$data['text_printpay']        = sprintf($this->language->get('text_printpay'), $this->url->link('payment/sberbank_transfer/printpay''''SSL'));
        
$data['text_instruction']     = $this->language->get('text_instruction');
        
$data['text_payment']         = $this->language->get('text_payment');
        
$data['text_payment_comment'] = $this->language->get('text_payment_comment');
        
$data['text_order_history']   = $this->customer->isLogged() ? sprintf($this->language->get('text_order_history'), $this->url->link('account/order''''SSL')) : '';
        
$data['button_confirm']       = $this->config->get('sberbank_transfer_button_confirm_' $this->config->get('config_language_id'));
        
$data['continue']             = $this->url->link('checkout/success');

        if (
is_file(DIR_TEMPLATE $this->config->get('config_template') . '/template/payment/sberbank_transfer.tpl')) {
            return 
$this->load->view($this->config->get('config_template') . '/template/payment/sberbank_transfer.tpl'$data);
        } else {
            return 
$this->load->view('default/template/payment/sberbank_transfer.tpl'$data);
        }
    }

    public function 
printpay() {
        
$this->load->model('checkout/order');
        
        if (!empty(
$this->request->get['order_id'])) {
            
$order_info $this->model_checkout_order->getOrder($this->request->get['order_id']);

            if (!
$order_info || !$this->validateTransferPay()) {
                
$this->response->redirect($this->url->link('account/order''''SSL'));
            }
        } else {
            
$order_info $this->model_checkout_order->getOrder($this->session->data['order_id']);

            if (!
$order_info) {
                
$this->response->redirect($this->url->link('account/order''''SSL'));
            }
        }


        
$data['button_confirm'] = $this->language->get('button_confirm');
        
$data['button_back']    = $this->language->get('button_back');
        
$data['text_confirm']   = $this->language->get('text_confirm');

        
$data['bank']     = nl2br($this->config->get('sberbank_transfer_bank_' $this->config->get('config_language_id')));
        
$data['inn']      = $this->config->get('sberbank_transfer_inn');
        
$data['rs']       = $this->config->get('sberbank_transfer_rs');
        
$data['bankuser'] = $this->config->get('sberbank_transfer_bankuser_' $this->config->get('config_language_id'));
        
$data['bik']      = $this->config->get('sberbank_transfer_bik');
        
$data['ks']       = $this->config->get('sberbank_transfer_ks');

        
$this->getCurrencyCode();
        
$rur_order_total $this->currency->convert($order_info['total'], $order_info['currency_code'], $this->currency_code);

        
$data['amount']   = $this->currency->format($rur_order_total$this->currency_code$order_info['currency_value'], false);
        
$data['order_id'] = $order_info['order_id'];
        
$data['name']     = $order_info['payment_firstname'] . ' ' $order_info['payment_lastname'];
        
$data['address']  = $order_info['payment_zone'] . ', ' $order_info['payment_city'] . ', ' .$order_info['payment_address_1'] . ($order_info['payment_address_2'] ? ', ' $order_info['payment_address_2'] : '');
        
$data['postcode'] = $order_info['payment_postcode'];

        if (
is_file(DIR_TEMPLATE $this->config->get('config_template') . '/template/payment/sberbank_transfer_printpay.tpl')) {
            
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/payment/sberbank_transfer_printpay.tpl'$data));
        } else {
            
$this->response->setOutput($this->load->view('default/template/payment/sberbank_transfer_printpay.tpl'$data));
        }
    }

    public function 
confirm() {
        
$this->load->model('checkout/order');
        
$order_info $this->model_checkout_order->getOrder($this->session->data['order_id']);

        if (
$order_info) {
            
$comment  $this->language->get('text_instruction') . "nn";
            
$comment .= sprintf($this->language->get('text_printpay'), $this->url->link('payment/sberbank_transfer/printpay''order_id=' $order_info['order_id'] . '&order_ttl=' $order_info['total'] . '&order_tel=' $order_info['telephone'], 'SSL')) . "nn";
            
$comment .= $this->language->get('text_payment_comment');

            
$this->model_checkout_order->addOrderHistory($order_info['order_id'], $this->config->get('sberbank_transfer_order_status_id'), $commenttrue);
        }
    }


    protected function 
validateTransferPay() {
        if ((!isset(
$this->request->get['order_id'])) || (!isset($this->request->get['order_ttl'])) || (!isset($this->request->get['order_tel']))) {
            return 
false;
        } else {
            
$order_info $this->model_checkout_order->getOrder($this->request->get['order_id']);
            return 
$order_info && ($this->request->get['order_id'] == $order_info['order_id']) && ($this->request->get['order_ttl'] == $order_info['total']) && ($this->request->get['order_tel'] == $order_info['telephone']);
        }
    }

    protected function 
getCurrencyCode() {
        
$found false;
        foreach (
self::$valid_currencies as $code) {
            if (
$this->currency->has($code)) {
                
$this->currency_code $code;
                
$found true;
                break;
            }
        }

        if (!
$found) {
            die(
sprintf('Currency code (%s) not found'implode(', 'self::$valid_currencies)));
        }
    }
}
?>
Онлайн: 1
Реклама