%PDF- %PDF-
| Direktori : /var/www/projetos/suporte.iigd.com.br/plugins/glpiinventory/ajax/ |
| Current File : /var/www/projetos/suporte.iigd.com.br/plugins/glpiinventory/ajax/deploypackage_form.php |
<?php
/**
* ---------------------------------------------------------------------
* GLPI Inventory Plugin
* Copyright (C) 2021 Teclib' and contributors.
*
* http://glpi-project.org
*
* based on FusionInventory for GLPI
* Copyright (C) 2010-2021 by the FusionInventory Development Team.
*
* ---------------------------------------------------------------------
*
* LICENSE
*
* This file is part of GLPI Inventory Plugin.
*
* GLPI Inventory Plugin is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GLPI Inventory Plugin is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with GLPI Inventory Plugin. If not, see <https://www.gnu.org/licenses/>.
* ---------------------------------------------------------------------
*/
include("../../../inc/includes.php");
header("Content-Type: text/html; charset=UTF-8");
Html::header_nocache();
Session::checkCentralAccess();
$fi_move_item = filter_input(INPUT_POST, "move_item");
if (!empty($fi_move_item)) { //ajax request
$json_response = ["success" => true, "reason" => ''];
if (Session::haveRight('plugin_glpiinventory_package', UPDATE)) {
$params = [
'old_index' => filter_input(INPUT_POST, "old_index"),
'new_index' => filter_input(INPUT_POST, "new_index"),
'id' => filter_input(INPUT_POST, "id")
];
$itemtype = filter_input(INPUT_POST, "itemtype");
if (class_exists($itemtype)) {
$item = new $itemtype();
$item->move_item($params);
} else {
Toolbox::logDebug("package subtype not found : " . $params['itemtype']);
Html::displayErrorAndDie("package subtype not found");
}
} else {
$json_response['success'] = false;
$json_response['reason'] = __('Package modification is forbidden by your profile.');
}
echo json_encode($json_response);
//exit;
} else {
$packages_id = filter_input(INPUT_POST, "packages_id");
$rand = filter_input(INPUT_POST, "rand");
$mode = filter_input(INPUT_POST, "mode");
$fi_subtype = filter_input(INPUT_POST, "subtype");
if (
empty($packages_id) && empty($rand)
&& empty($fi_subtype)
) {
exit;
}
if (!is_numeric($packages_id)) {
Toolbox::logDebug("Error: orders_id in request is not an integer");
Toolbox::logDebug(print_r($packages_id, true));
exit;
}
$pfDeployPackage = new PluginGlpiinventoryDeployPackage();
$pfDeployPackage->getFromDB($packages_id);
//TODO: In the displayForm function, $_REQUEST is somewhat too much for the '$datas' parameter
// I think we could use only $order -- Kevin 'kiniou' Roy
$input = [
'index' => filter_input(INPUT_POST, "index"),
'value' => filter_input(INPUT_POST, "value"),
'packages_id' => filter_input(INPUT_POST, "packages_id"),
'orders_id' => filter_input(INPUT_POST, "orders_id"),
];
$itemtype = filter_input(INPUT_POST, "subtype");
switch (filter_input(INPUT_POST, "subtype")) {
case 'package_json_debug':
if (isset($order->fields['json'])) {
$pfDeployPackage->displayJSONDebug();
} else {
echo "{}";
}
break;
default:
$classname = 'PluginGlpiinventoryDeploy' . ucfirst($itemtype);
$class = new $classname();
$class->displayForm($pfDeployPackage, $input, $rand, $mode);
break;
}
}