<?php
include_once('./_common.php');

use PhpOffice\PhpSpreadsheet\Spreadsheet;    //처음 선언해야 함.
use PhpOffice\PhpSpreadsheet\Reader\Xls;    //처음 선언해야 함.

error_reporting(E_ALL);
ini_set("display_errors", 1);

if( isset($_POST['ex_type']) && !$_POST['ex_type'] ){
	alert("파일유형을 선택해주세요");
}

// 상품이 많을 경우 대비 설정변경
set_time_limit ( 0 );
ini_set('memory_limit', '50M');

if(!$_FILES['excelfile']['tmp_name']) {
	alert("등록하실 파일이 없습니다");
}

if($_FILES['excelfile']['tmp_name']) {

    $inputFileName = $_FILES['excelfile']['tmp_name'];

    require_once(G5_THEME_PATH.'/lib/PhpOffice/Psr/autoloader.php');                    //설치폴더 변경시 G5_THEME_PATH 수정요함
    require_once(G5_THEME_PATH.'/lib/PhpOffice/PhpSpreadsheet/autoloader.php');    //설치폴더 변경시 G5_THEME_PATH 수정요함

    $reader = new PhpOffice\PhpSpreadsheet\Reader\Xls();

    $reader->setReadDataOnly(true);  //데이터가 있는 행까지만 읽음

    $spreadsheet = $reader->load($inputFileName);

    $data = $spreadsheet->getSheet(0)->toArray(null,true,true,true);   // >getSheet(0) 첫번째 시트 /  두번째는 getSheet(1)
    //print_r2($data);

    function time_convert($time) {  //45563 날짜값을 날짜포맷변경
        $t = ( $time - 25568 ) * 86400-60*60*9;  // 25569 : -1 daty 
        $t = round($t*10)/10;
        $t = date('Y-m-d',$t);
        return $t;
    }

    $total_line = 0;  //건수 초기화 
    $dup_line = 0;   //중복체크

    if($_POST['ex_type'] == "2"){

        if ( !empty($data) ) {

            for ($i=2; $i<=count($data);$i++ ){   //지작은 1부터.. 

                $mb_id = $member['mb_id'];
                $wr_name = $member['mb_nick'];
                $wr_password = $member['mb_password'];
                $wr_email = $member['mb_email'];
                $wr_homepage = $member['mb_homepage'];
                $wr_num = get_next_num($write_table);
                $wr_reply = '';

                $sql_subject = "select max(wr_subject) from $write_table "; //마자믹 접수번호  wr_subject 회득 */
                $row = sql_fetch($sql_subject); //row열에 sql를 실행한다. row열에 해당 데이터가 전부 배열됨.
                $temp1 = $row['max(wr_subject)']; //row열중에 wr_subject 의 값을 을 대입

                $wr_datetime = time_convert($data[$i]['A']);        //registerdate  -1day 읽어 오므로 +1 보정함. 함수(25569 -> 25568 )
                $wr_subject = $data[$i]['B'];                       //presetnum
                $wr_1       = time_convert($data[$i]['C']);         //receptionDate -1day 읽어 오므로 +1 보정함. 함수(25569 -> 25568 )
                $wr_2       = $data[$i]['D'];                        //Modelname
                $wr_3       = $data[$i]['E'];                       //SalesMember
                $wr_4       = $data[$i]['F'];                       //TestCategory
                $wr_5       = $data[$i]['G'];                       //Applicant
                $wr_6       = $data[$i]['H'];                       //비고

                $temp = date('Y-m-d', G5_SERVER_TIME); //사전접수일자 당일 처리
                $temp2 = substr($bo_table, -4, 4);  //테이블의 끝 4자리 즉 연도추출
                $temp3 = substr($temp1, -4, 4) + 1 ; // 마지막번호 +1 
                $temp3 = sprintf('%04d',$temp3);   // xxxx 자리수표시 0012  0152 ... 0315 
                $temp4 = substr($wr_subject, -4, 4);  // 엑셀자료의 접수번호 4자리
    
                if ( (int)$temp4 > (int)$temp3 ) {  
                    $wr_subject2 = "D$temp2-$temp4";  //마지막 접수번호가 클경우 입력된 접수번호 사용
                }else{
                    $wr_subject2 = "D$temp2-$temp3";  // DB 마지막번호 +1 
                }
                
                //중복체크
                $sql = "select count(wr_subject) as cnt from $write_table where wr_is_comment = 0 and wr_subject = '$wr_subject' "; 
                $row = sql_fetch($sql);
                $dupcount = $row['cnt'];

                if($dupcount) {
                    //중복건수 증가
                    $dup_line++;
                } else {
                    $sql = " insert into $write_table
                            set wr_num = '$wr_num',
                                wr_reply = '$wr_reply',
                                wr_comment = 0,
                                ca_name = '',
                                wr_option = '',
                                wr_subject = '$wr_subject2',
                                wr_content = '$wr_subject2',
                                wr_link1 = '',
                                wr_link2 = '',
                                wr_link1_hit = 0,
                                wr_link2_hit = 0,
                                wr_hit = 0,
                                wr_good = 0,
                                wr_nogood = 0,
                                mb_id = '$mb_id',
                                wr_password = '$wr_password',
                                wr_name = '$wr_name',
                                wr_email = '$wr_email',
                                wr_homepage = '$wr_homepage',
                                wr_datetime = '$wr_datetime',
                                wr_last = '".G5_TIME_YMDHIS."',
                                wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                                wr_1 = '$wr_1',
                                wr_2 = '$wr_2',
                                wr_3 = '$wr_3',
                                wr_4 = '$wr_4',
                                wr_5 = '$wr_5',
                                wr_6 = '$wr_6' ";
                        sql_query($sql);
                        $wr_id = sql_insert_id();
                        // 부모 아이디에 UPDATE
                        sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
                        // 새글 INSERT
                        sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '{$wr_datetime}', '{$mb_id}' ) ");
                        // 게시글 1 증가
                        sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
                        //업로드 건수 증가 
                        $total_line++;
                }

            } //for end

        if ( $dup_line > 0 ) {
            alert("$total_line 건 업로드(중복 $dup_line 건)되었습니다",G5_BBS_URL."/board.php?bo_table=".$bo_table);
        }else{
            alert("$total_line 건 업로드 되었습니다",G5_BBS_URL."/board.php?bo_table=".$bo_table);
        }

        } //data check

    }//file check

}//upload file check

?>
