sistemazione finale - server .php
This commit is contained in:
+103
-13
@@ -333,7 +333,7 @@ class Server extends CommonDBTM
|
||||
return true;
|
||||
}
|
||||
|
||||
public function showFormFields(int $ID): void
|
||||
public function showFormFields(?int $ID): void
|
||||
{
|
||||
echo "<tr class='tab_bg_1'>";
|
||||
echo "<td>" . htmlspecialchars(__('Name')) . "</td>";
|
||||
@@ -548,6 +548,26 @@ class Server extends CommonDBTM
|
||||
|
||||
public function prepareInputForAdd(mixed $input): mixed
|
||||
{
|
||||
if (!is_array($input)) {
|
||||
return $input;
|
||||
}
|
||||
|
||||
if (!isset($input['port']) || $input['port'] === '' || $input['port'] === null) {
|
||||
$input['port'] = 55414;
|
||||
}
|
||||
if (!isset($input['protocol']) || $input['protocol'] === '') {
|
||||
$input['protocol'] = 'http';
|
||||
}
|
||||
if (!isset($input['is_active']) || $input['is_active'] === '' || $input['is_active'] === null) {
|
||||
$input['is_active'] = 1;
|
||||
}
|
||||
if (!isset($input['is_recursive']) || $input['is_recursive'] === '' || $input['is_recursive'] === null) {
|
||||
$input['is_recursive'] = 0;
|
||||
}
|
||||
if (!isset($input['ignore_ssl']) || $input['ignore_ssl'] === '' || $input['ignore_ssl'] === null) {
|
||||
$input['ignore_ssl'] = 0;
|
||||
}
|
||||
|
||||
return $this->prepareInputForUpdate($input);
|
||||
}
|
||||
|
||||
@@ -557,6 +577,16 @@ class Server extends CommonDBTM
|
||||
return $input;
|
||||
}
|
||||
|
||||
if (isset($input['port']) && ($input['port'] === '' || $input['port'] === null)) {
|
||||
$input['port'] = 55414;
|
||||
}
|
||||
if (isset($input['protocol']) && $input['protocol'] === '') {
|
||||
$input['protocol'] = 'http';
|
||||
}
|
||||
if (isset($input['ignore_ssl']) && ($input['ignore_ssl'] === '' || $input['ignore_ssl'] === null)) {
|
||||
$input['ignore_ssl'] = 0;
|
||||
}
|
||||
|
||||
if (!empty($input['id']) && (int) $input['id'] > 0) {
|
||||
$server = new self();
|
||||
if ($server->getFromDB((int) $input['id'])) {
|
||||
@@ -1148,25 +1178,41 @@ class Server extends CommonDBTM
|
||||
return;
|
||||
}
|
||||
|
||||
echo '<div class="d-flex justify-content-end mb-2">';
|
||||
echo '<input type="text" id="missing-search" class="form-control form-control-sm" placeholder="' . htmlspecialchars(__('Search...', 'urbackup')) . '" style="width:250px">';
|
||||
echo '</div>';
|
||||
|
||||
$formAction = PLUGIN_URBACKUP_WEB_DIR . '/front/server.form.php';
|
||||
|
||||
echo '<table class="table table-striped table-hover">';
|
||||
echo '<table id="missing-table" class="table table-striped table-hover">';
|
||||
echo '<thead><tr>';
|
||||
echo '<th>' . htmlspecialchars(__('Name')) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(Entity::getTypeName(1)) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(Location::getTypeName(1)) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(__('Inventory number')) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(__('IP address', 'urbackup')) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(State::getTypeName(1)) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(User::getTypeName(1)) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(Group::getTypeName(1)) . '</th>';
|
||||
echo '<th>' . htmlspecialchars(__('Actions', 'urbackup')) . '</th>';
|
||||
echo '<th class="sortable" data-col="0">' . htmlspecialchars(__('Name')) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="1">' . htmlspecialchars(Entity::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="2">' . htmlspecialchars(Location::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="3">' . htmlspecialchars(__('Inventory number')) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="4">' . htmlspecialchars(__('IP address', 'urbackup')) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="5">' . htmlspecialchars(State::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="6">' . htmlspecialchars(User::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th class="sortable" data-col="7">' . htmlspecialchars(Group::getTypeName(1)) . ' <span class="sort-arrow"></span></th>';
|
||||
echo '<th data-col="8">' . htmlspecialchars(__('Actions', 'urbackup')) . '</th>';
|
||||
echo '</tr></thead>';
|
||||
echo '<tbody>';
|
||||
|
||||
foreach ($missingAssets as $asset) {
|
||||
$item = new $asset['itemtype']();
|
||||
$itemLink = '';
|
||||
if ($item instanceof CommonDBTM && $item->getFromDB($asset['items_id'])) {
|
||||
$itemLink = $item->getLinkURL();
|
||||
}
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td>' . htmlspecialchars($asset['name']) . '</td>';
|
||||
echo '<td>';
|
||||
if ($itemLink !== '') {
|
||||
echo '<a href="' . htmlspecialchars($itemLink) . '">' . htmlspecialchars($asset['name']) . '</a>';
|
||||
} else {
|
||||
echo htmlspecialchars($asset['name']);
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td>' . htmlspecialchars($asset['entity']) . '</td>';
|
||||
echo '<td>' . htmlspecialchars($asset['location']) . '</td>';
|
||||
echo '<td>' . htmlspecialchars($asset['otherserial']) . '</td>';
|
||||
@@ -1190,6 +1236,50 @@ class Server extends CommonDBTM
|
||||
|
||||
echo '</tbody>';
|
||||
echo '</table>';
|
||||
|
||||
echo <<<'JAVASCRIPT'
|
||||
<script>
|
||||
$(function () {
|
||||
var sortDir = {};
|
||||
$('#missing-table th.sortable').on('click', function () {
|
||||
var col = parseInt($(this).data('col'));
|
||||
var $table = $('#missing-table');
|
||||
var $tbody = $table.find('tbody');
|
||||
var rows = $tbody.find('tr').get();
|
||||
|
||||
var dir = sortDir[col] === 'asc' ? 'desc' : 'asc';
|
||||
sortDir[col] = dir;
|
||||
|
||||
rows.sort(function (a, b) {
|
||||
var aVal = $(a).children('td').eq(col).text().trim().toLowerCase();
|
||||
var bVal = $(b).children('td').eq(col).text().trim().toLowerCase();
|
||||
if (aVal < bVal) return dir === 'asc' ? -1 : 1;
|
||||
if (aVal > bVal) return dir === 'asc' ? 1 : -1;
|
||||
return 0;
|
||||
});
|
||||
|
||||
$.each(rows, function (i, row) { $tbody.append(row); });
|
||||
|
||||
$table.find('th .sort-arrow').text('');
|
||||
$(this).find('.sort-arrow').text(dir === 'asc' ? '\u25B2' : '\u25BC');
|
||||
});
|
||||
|
||||
$('#missing-search').on('keyup', function () {
|
||||
var val = $(this).val().toLowerCase();
|
||||
$('#missing-table tbody tr').each(function () {
|
||||
var match = false;
|
||||
$(this).children('td').each(function () {
|
||||
if ($(this).text().toLowerCase().indexOf(val) > -1) {
|
||||
match = true;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$(this).toggle(match);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
JAVASCRIPT;
|
||||
}
|
||||
|
||||
private static function getCachedName(string $classname, int $id, array &$cache): string
|
||||
@@ -1201,7 +1291,7 @@ class Server extends CommonDBTM
|
||||
$fqcn = '\\' . ltrim($classname, '\\');
|
||||
$obj = new $fqcn();
|
||||
if ($obj->getFromDB($id)) {
|
||||
$cache[$id] = (string) ($obj->fields['name'] ?? '');
|
||||
$cache[$id] = (string) ($obj->fields['completename'] ?? $obj->fields['name'] ?? '');
|
||||
} else {
|
||||
$cache[$id] = '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user