/** * @param $model PluginDatainjectionModel object **/ static function showAdditionalInformationsForm(PluginDatainjectionModel $model) { $infos = getAllDatasFromTable('glpi_plugin_datainjection_infos', "`models_id` = '" . $model->getField('id') . "'"); $table = false; $modeltype = PluginDatainjectionModel::getInstance($model->getField('filetype')); $modeltype->getFromDBByModelID($model->getField('id')); if (count($infos) || $modeltype->haveSample() || $model->fields['comment']) { echo "<table class='tab_cadre_fixe'>"; echo "<tr><th colspan='2'>" . sprintf(__('%1$s (%2$s)'), __('Complementary information', 'datainjection'), __('Choose a file', 'datainjection')); echo "</th></tr>\n"; $table = true; } if ($modeltype->haveSample()) { echo "<tr class='tab_bg_1'>"; echo "<td colspan='2' class='center'>"; echo "<a href='" . $model->getFormURL() . "?sample="; echo $model->getField('id') . "' class='vsubmit'>" . __('Download file sample', 'datainjection'); echo "</a></td></tr>\n"; } if ($model->fields['comment']) { echo "<tr class='tab_bg_2'>"; echo "<td colspan='2' class='center'>" . nl2br($model->fields['comment']) . "</td></tr>\n"; } if (count($infos)) { $info = new PluginDatainjectionInfo(); foreach ($infos as $tmp) { $info->fields = $tmp; echo "<tr class='tab_bg_1'>"; self::displayAdditionalInformation($info, isset($_SESSION['datainjection']['infos']) ? $_SESSION['datainjection']['infos'] : array()); echo "</tr>"; } } if ($table) { echo "</table><br>"; } $options['models_id'] = $model->getField('id'); $options['confirm'] = 'process'; PluginDatainjectionClientInjection::showUploadFileForm($options); //Store models_id in session for future usage $_SESSION['datainjection']['models_id'] = $model->getField('id'); }
$model->update($_POST); $specific_model = PluginDatainjectionModel::getInstance('csv'); $specific_model->saveFields($_POST); Html::back(); /* update order */ } elseif (isset($_POST["validate"])) { $model->check($_POST['id'], UPDATE); $model->switchReadyToUse(); Html::back(); } elseif (isset($_POST['upload'])) { if (!empty($_FILES)) { $model->check($_POST['id'], UPDATE); if ($model->processUploadedFile(array('file_encoding' => 'csv', 'mode' => PluginDatainjectionModel::CREATION))) { Session::setActiveTab('PluginDatainjectionModel', 'PluginDatainjectionModel$4'); } else { Session::addMessageAfterRedirect(__('The file could not be found', 'datainjection'), true, ERROR, true); } } Html::back(); } elseif (isset($_GET['sample'])) { $model->check($_GET['sample'], READ); $modeltype = PluginDatainjectionModel::getInstance($model->getField('filetype')); $modeltype->getFromDBByModelID($model->getField('id')); $modeltype->showSample($model); exit(0); } } } Html::header(PluginDatainjectionModel::getTypeName(), '', "tools", "plugindatainjectionmenu", "model"); $model->display(array('id' => $_GET["id"])); Html::footer();