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/LanguageAdmin.php
<?php

require_once('api/Mgc.php');

class LanguageAdmin extends Mgc {
    
    public function fetch() {
        $languages = $this->languages->get_languages();
        $lang_list = $this->languages->lang_list();
        $language = new stdClass();
        /*Принимаем информацию о языке сайта*/
        if($this->request->method('post')) {
            $language->id      = $this->request->post('id', 'integer');
            $language->enabled = $this->request->post('enabled', 'boolean');
            if (empty($language->id)) {
                $lang = $lang_list[$this->request->post('lang')];
                $language->name    = $lang->name;
                $language->label   = $lang->label;
                $language->href_lang = $lang->href_lang;

                $this->db->query("SELECT * FROM __languages WHERE label=? LIMIT 1", $language->label);
                $exist_label = $this->db->result();

                if(!$language->label) {
                    $this->design->assign('message_error', 'label_empty');
                } elseif($exist_label && $exist_label->id!=$language->id) {
                    $this->design->assign('message_error', 'label_exists');
                } else {
                    /*Добавление/Обновление языка*/
                    $language->id = $this->languages->add_language($language);
                    $languages = $this->languages->get_languages();
                    foreach($languages as $l) {
                        $language->{'name_'.$l->label} = $language->name;
                    }
                    $this->languages->update_language($language->id, $language);
                    $this->design->assign('message_success', 'added');
                }
            } elseif (!empty($languages)) {
                foreach($languages as $l) {
                    $field = 'name_'.$l->label;
                    $language->$field = $this->request->post($field);
                }
                $this->languages->update_language($language->id, $language);
                $this->design->assign('message_success', 'updated');
            }
        } else {
            $language->id = $this->request->get('id', 'integer');
        }

        if(!empty($language->id)) {
            $language = $this->languages->get_language($language->id);
        }
        $this->design->assign('lang_list', $lang_list);
        
        $this->design->assign('language', $language);
        $this->design->assign('languages', $languages);
        return $this->design->fetch('language.tpl');
    }
    
}