<?php
include_once("c_autonomous_terminals_upload_mo.php");
include_once(_DIR_TO_ENGINE.'/admin/i_admin_system.php') ;
class c_page_cab_autonomous_terminals_upload_mo_from_file extends c_page_cab_autonomous_terminals_upload_mo
{
    public $h1='Загрузка медосмотров из файла xml/json' ;
    public $setting ;
    public $session_uid;
    public $file_data;

    function block_main()
    {
        $this->page_title() ;
        $this->panel_upload_file();
        if ($_POST['cmd'] == 'Да') $this->preparing_for_upload_file($_POST);
    }

    function panel_upload_file()
    { ?>
        <div>
            <p>Формат загружаемого файла: xml или json</p>
            <p>При отсутствии терминала в системе, будет предложено создать новый терминал.</p>
            <p>При отсутствии сотрудника в системе, будет создан новый «Unknown» сотрудник.</p>
            <p>После проверки наличия терминала и сотрудника, в систему будут добавлены медосмотры из файла.</p>
            <p>Медосмотры уже существующие в системе - будут проигнорированы.</p>
        </div>
        <div class="sky-form no_box_shadow" id="panel_upload_promt">
        <?$this->panel_file_upload();?>
        </div><?
    }

    function panel_file_upload()
    {
        include(_DIR_EXT.'/upload_files/panel_upload_files.php')  ;
        panel_upload_files(array('text'=>'Перетяните и отпустите сюда<br>файл с медосмотрами',
            'upload_url'=>'/cab/autonomous_terminals/upload_mo/from_file/json/',
            'file_filter'=>'json;xml',
            //'style_panel'=>'margin:0;',
            'SendFormOnUploadSuccess'=>0,
            'view_debug_panel'=>0,
            'style_panel'=>'width:600px;margin:20px auto;',
        )) ;
    }

    function preparing_for_upload_file($info)
    {
        //грузим данные из файла
        $this->upload_source_file_to_array($info['file_ext'],$info['upload_fname']);
        //создаем нужный нам терминал
        //подтверждение уже получено
        $result = AUTONOMOUS_TERMINALS()->create_new_terminal($info['terminals_id'],$info['terminals_type']);
        if (!$result['error']) {
            include_once(_DIR_EXT.'/autonomous_terminals/i_mo_import.php');
            $mo_import = new i_mo_import();
            $result = $mo_import->import_temp_table_into_db($this->file_data);

            if ($result) {
                echo 'Добавлено строк: '.$result['relation_adding'].'<br>';
                echo 'Информация:'.'<br><ul><li>'.implode('</li><li>',$result['comment']).'</li></ul>';
            }
            else echo 'result is empty';
        } else {
            echo $result['error'];
        }
    }

    function upload_source_file_to_array($temp_file_ext,$upload_fname)
    {
        if ($temp_file_ext == '.xml') $this->file_data = AUTONOMOUS_TERMINALS()->import_data_xml($upload_fname);
        else $this->file_data = AUTONOMOUS_TERMINALS()->import_data_json($upload_fname);
        return $this->file_data;
    }

}
?>