@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 {