<?php
/**
 * Copyright (C) DairyWindow 2018
 * admin@dairywindow.nz
 */

/* (C) DairyWindow 2012-2017 */

require "inc/connect.php";
require "inc/get_units.php";
require "inc/cypherstuff.php"; //functions for converting dates to cyphers, and also expirys
require "inc/texttonumber.php";
require "inc/numbertotext.php";
require "inc/func_import.php";
require "inc/showdebug.php";

$title = "Import results";
require "inc/head.php";
$menu = "import";
require "inc/menu.php";

if (isset($_GET['debug']) || !empty($_POST['debug'])) {
    $debug = true;
} //manual override
if ($debug) {
    showdebug();
}

$warningmsg = "<div class='alert alert-warning alert-dismissible fade in' role='alert'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button>";
$successmsg = "<div class='alert alert-success fade in' role='alert'>";

?>
<div id="topDIV" class="page-header">
	<h1 class="text-center"><?php echo $title; ?></h1>
</div>

<div class="container text-center">
	<form method="post" id="myform" enctype="multipart/form-data">
		<input class="form-control text-center" type="file" id="holder" name="file" accept=".csv, .xls, .xlsx"
			onchange="$('#holder').addClass( 'dropped' );">
		<p class="form-control-static">Drag and drop a CSV or XLS file to the area above, or click to select a file</p>
		<label for="fileDragData"></label><textarea id="fileDragData" class="textarea" name="fileDragData" <?php if ($debug) {
		    echo "rows='5' cols = '50'";
		} else {
		    echo "style='display:none;'";
		} ?> ></textarea>
		<input type="hidden" name="filename" id="filename">
		<label>
			<input type="checkbox" name="debug" data-toggle="toggle" value="1" data-on="Dry run" data-off="Live">
		</label>&nbsp;
		<button type="submit" class="btn btn-primary" id="btnsubmit" onclick="please_wait('btnsubmit');">Import</button>
	</form>

	<?php
		if (isset($_FILES['file']) && $_FILES['file']['tmp_name'] != "") {
		    //manual file upload

		    $filenameforext = explode('.', $_FILES['file']['name']);
		    $ext = $filenameforext[count($filenameforext) - 1];

		    if ($ext == 'xls' || $ext == 'xlsx') {
		        move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']);
		        require_once 'inc/excel/PhpSpreadsheet-develop/src/Bootstrap.php';
		        $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($_FILES['file']['name']);

		        $spreadsheet->setActiveSheetIndex(0);
		        $rangearray = $spreadsheet->getActiveSheet()->rangeToArray('A1:Z100');
		        $line_number = 0;
		        $lines = array();
		        foreach ($rangearray as $tr) {
		            $lines[$line_number] = '';
		            foreach ($tr as $td) {
		                $lines[$line_number] .= $td.',';
		            }
		            $line_number++;
		        }

		    } else {
		        $lines = file($_FILES['file']['tmp_name']);
		    }

		    $filename = $_FILES['file']['tmp_name'];
		    if ($debug) {
		        echo "manual file upload<br>";
		    }
		} else {
		    if (isset($_POST['fileDragData']) && $_POST['fileDragData'] != "" && $_POST['fileDragData'] != null) {
		        //drag and drop
		        $lines = explode('<p>', $_POST['fileDragData']);
		        $filename = $_POST['filename'];
		        if ($debug) {
		            echo "drag and drop<br>";
		        }
		    } else {
		        if ($debug) {
		            echo "No file data";
		        }
		    }
		}

if (isset($lines)) {
    if ($debug) {
        echo $successmsg."<span id='debug_lines_button' ><button onclick=\"showdiv('debug_lines');\">Show lines info</button></span><div class='debug' id='debug_lines' style='display:none;' >";
        echo "<pre>lines:";
        print_r($lines);
        echo "</pre></div></div>";
    }

    echo "<div id='progress' class='progress' ></div>";

    if (!isset($output)) {
        $output = "";
    }

    $htmloutput = true;
    if ($debug) {
        $output .= $successmsg."[import] There are <strong>".count($lines)."</strong> lines in the file '".$filename."'</div>";
    }

    $import = import($lines, $htmloutput, $successmsg, $warningmsg);

    $success = $import['success'];
    $errors = $import['errors'];
    $skipped = $import['skipped'];
    $duplicates = $import['duplicates'];
    $output = $import['output'];

    if ($htmloutput) {
        echo $output;
    }

    echo "<script>
				var progress = document.getElementById('progress');
				progress.innerHTML = \"<div class='progress-bar progress-bar-success' role='progressbar' aria-valuenow='100' aria-valuemin='0' aria-valuemax='100' style='width: 100%;'>Complete</div>\";
			</script>".$successmsg."<strong>The import process is complete.</strong> ".$success." results were imported successfully";
    if ($errors > 0) {
        echo ", ".$errors." had errors and could not be imported";
    }
    echo ". ";
    if ($skipped > 0) {
        echo $skipped." lines were skipped due to no result ";
    }
    if ($duplicates > 0) {
        echo $duplicates." were duplicates (and not imported) ";
    }
    echo "<a href='yesterday.php'>View all recent results</a></div>";
}

?>
</div>

<script src="js/tinymce/tinymce.min.js?v=2.1">
	<!-- For editable textareas 
	-->
</script>
<script src="js/import.js?v=2.1"></script>
<script>
	tinymce.init({
		selector: ".textarea",
		imagetools_cors_hosts: ['dairywindow.nz', 'dairywindow.nz', 'localhost'],
		toolbar: false,
		menubar: false,
		statusbar: false,
		resize: false,
		relative_urls: false
	});
</script>
<?php require "inc/footer.php"; ?>