HEX
Server: Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 mod_fcgid/2.3.9 PHP/5.4.16
System: Linux dvm.vladweb.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: region-gk.ru (1016)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: /home/temp/yarusvl.ru/adminx/core/PaymentMethodAdmin.php
<?php

require_once('api/Mgc.php');

class PaymentMethodAdmin extends Mgc {
    
    public function fetch() {
        $payment_method = new stdClass;
        /*Приме информации о способе оплаты*/
        if($this->request->method('post')) {
            $payment_method->id              = $this->request->post('id', 'intgeger');
            $payment_method->enabled         = $this->request->post('enabled', 'boolean');
            $payment_method->name            = $this->request->post('name');
            $payment_method->currency_id     = $this->request->post('currency_id');
            $payment_method->description     = $this->request->post('description');
            $payment_method->module          = $this->request->post('module', 'string');
            
            $payment_settings = $this->request->post('payment_settings');
            
            if(!$payment_deliveries = $this->request->post('payment_deliveries')) {
                $payment_deliveries = array();
            }
            
            if (empty($payment_method->name)) {
                $this->design->assign('message_error', 'empty_name');
            } else {
                /*Добавление/Обновление способа оплаты*/
                if(empty($payment_method->id)) {
                    $payment_method->id = $this->payment->add_payment_method($payment_method);
                    $this->design->assign('message_success', 'added');
                } else {
                    $this->payment->update_payment_method($payment_method->id, $payment_method);
                    $this->design->assign('message_success', 'updated');
                }

                // Удаление изображения
                if ($this->request->post('delete_image')) {
                    $this->image->delete_image($payment_method->id, 'image', 'payment_methods', $this->config->original_payments_dir, $this->config->resized_payments_dir);
                }
                // Загрузка изображения
                $image = $this->request->files('image');
                if (!empty($image['name']) && ($filename = $this->image->upload_image($image['tmp_name'], $image['name'], $this->config->original_payments_dir))) {
                    $this->image->delete_image($payment_method->id, 'image', 'payment_methods', $this->config->original_payments_dir, $this->config->resized_payments_dir);
                    $this->payment->update_payment_method($payment_method->id, array('image'=>$filename));
                }
                if($payment_method->id) {
                    $this->payment->update_payment_settings($payment_method->id, $payment_settings);
                    $this->payment->update_payment_deliveries($payment_method->id, $payment_deliveries);
                }
                $payment_method = $this->payment->get_payment_method($payment_method->id);
            }
        } else {
            $payment_method->id = $this->request->get('id', 'integer');
            if(!empty($payment_method->id)) {
                $payment_method = $this->payment->get_payment_method($payment_method->id);
                $payment_settings =  $this->payment->get_payment_settings($payment_method->id);
            } else {
                $payment_settings = array();
            }
            $payment_deliveries = $this->payment->get_payment_deliveries($payment_method->id);
        }
        $this->design->assign('payment_deliveries', $payment_deliveries);
        // Связанные способы доставки
        $deliveries = $this->delivery->get_deliveries();
        $this->design->assign('deliveries', $deliveries);
        
        $this->design->assign('payment_method', $payment_method);
        $this->design->assign('payment_settings', $payment_settings);
        $payment_modules = $this->payment->get_payment_modules();
        $this->design->assign('payment_modules', $payment_modules);
        
        $currencies = $this->money->get_currencies();
        $this->design->assign('currencies', $currencies);
        
        return $this->design->fetch('payment_method.tpl');
    }
    
}