Beispiel #1
0
 /**
  * @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');
 }
Beispiel #2
0
            $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();