@link      https://forge.indepnet.net/projects/datainjection
 @link      http://www.glpi-project.org/
 @since     2009
 ---------------------------------------------------------------------- */
include '../../../inc/includes.php';
Html::header(__('File injection', 'datainjection'), $_SERVER["PHP_SELF"], "tools", "plugindatainjectionmenu", "client");
if (isset($_SESSION['datainjection']['go'])) {
    $model = unserialize($_SESSION['datainjection']['currentmodel']);
    PluginDatainjectionClientInjection::showInjectionForm($model, $_SESSION['glpiactive_entity']);
} else {
    if (isset($_POST['upload'])) {
        $model = new PluginDatainjectionModel();
        $model->can($_POST['id'], READ);
        $_SESSION['datainjection']['infos'] = isset($_POST['info']) ? $_POST['info'] : array();
        //If additional informations provided : check if mandatory infos are present
        if (!$model->checkMandatoryFields($_SESSION['datainjection']['infos'])) {
            Session::addMessageAfterRedirect(__('One mandatory field is not filled', 'datainjection'), true, ERROR, true);
        } else {
            if (isset($_FILES['filename']['name']) && $_FILES['filename']['name'] && $_FILES['filename']['tmp_name'] && !$_FILES['filename']['error'] && $_FILES['filename']['size']) {
                //Read file using automatic encoding detection, and do not delete file once readed
                $options = array('file_encoding' => $_POST['file_encoding'], 'mode' => PluginDatainjectionModel::PROCESS, 'delete_file' => false);
                $response = $model->processUploadedFile($options);
                $model->cleanData();
                if ($response) {
                    //File uploaded successfully and matches the given model : switch to the import tab
                    $_SESSION['datainjection']['file_name'] = $_FILES['filename']['name'];
                    $_SESSION['datainjection']['step'] = PluginDatainjectionClientInjection::STEP_PROCESS;
                    //Store model in session for injection
                    $_SESSION['datainjection']['currentmodel'] = serialize($model);
                    $_SESSION['datainjection']['go'] = true;
                } else {