feat: agregar botón dinámico para cancelar verificación por ping (v1.3.2)
- Agregar botón de cancelar que aparece durante el proceso de verificación por ping - Permitir a los usuarios detener la verificación manteniendo resultados parciales - Mejorar responsividad móvil para alineación de checkboxes - Actualizar documentación y versión a 1.3.2 Características: - Botón de cancelar dinámico con feedback visual - Preserva IPs ya verificadas al cancelar - Se oculta automáticamente al completar o cancelar - Útil para modo de verificación "Todas las IPs" Archivos modificados: - public.php: UI y lógica del botón de cancelar - CHANGELOG.md: entrada v1.3.2 - README.md: documentación de función de cancelar - manifest.json: actualización de versión a 1.3.2
This commit is contained in:
parent
48024291c4
commit
fd47782cbe
15
CHANGELOG.md
15
CHANGELOG.md
@ -7,6 +7,21 @@ y este proyecto adhiere a [Semantic Versioning](https://semver.org/lang/es/).
|
||||
|
||||
---
|
||||
|
||||
## [1.3.2] - 2025-11-26
|
||||
|
||||
### ✨ Añadido
|
||||
- **Botón de Cancelar Verificación**: Nuevo botón dinámico que aparece durante la verificación por ping, permitiendo detener el proceso en cualquier momento mientras se conservan los resultados ya obtenidos.
|
||||
|
||||
### 🔄 Mejorado
|
||||
- **Responsividad Móvil**: Optimizada la alineación de checkboxes en dispositivos móviles para una mejor experiencia visual.
|
||||
|
||||
## [1.3.1] - 2025-11-26
|
||||
|
||||
### 🔄 Refinado
|
||||
- **Renderizado Secuencial**: Las IPs de cliente aparecen una por una en la tabla conforme se inician sus verificaciones, creando un efecto visual más limpio y ordenado.
|
||||
- **Limpieza de Resultados**: Si se selecciona un límite (ej. 5 IPs), la tabla solo muestra esas 5 IPs de cliente (más las administrativas), ocultando el resto del segmento.
|
||||
- **Textos UI**: Actualizados para mayor claridad ("Válida para cliente", "Sólo validada con UISP").
|
||||
|
||||
## [1.3.0] - 2025-11-26
|
||||
|
||||
### ✨ Añadido
|
||||
|
||||
15
README.md
15
README.md
@ -1,6 +1,6 @@
|
||||
# SIIP - Buscador de IP's Disponibles UISP
|
||||
|
||||
[](manifest.json)
|
||||
[](manifest.json)
|
||||
[](https://uisp.com/)
|
||||
[](https://uisp.com/)
|
||||
|
||||
@ -156,6 +156,19 @@ Si está habilitada en la configuración, aparecerá un checkbox "🔍 Verificar
|
||||
### Filtrado de IPs
|
||||
- **Ocultar Admin IPs**: Checkbox para ocultar/mostrar instantáneamente las IPs reservadas para administración (x.x.x.1-30 y x.x.x.254).
|
||||
|
||||
### Cancelar Verificación
|
||||
|
||||
Durante la verificación por ping, aparece un botón **"🛑 Cancelar Verificación"** que permite:
|
||||
- **Detener el proceso** de verificación en cualquier momento.
|
||||
- **Conservar los resultados** ya obtenidos en la tabla.
|
||||
- Útil cuando se selecciona "Todas" y ya se han verificado suficientes IPs disponibles.
|
||||
|
||||
**Comportamiento:**
|
||||
1. El botón aparece automáticamente al iniciar la verificación.
|
||||
2. Al presionarlo, se detiene el proceso inmediatamente.
|
||||
3. Las IPs ya verificadas permanecen en la tabla.
|
||||
4. El botón desaparece al finalizar o cancelar.
|
||||
|
||||
---
|
||||
|
||||
## 🔌 API REST
|
||||
|
||||
1492
data/plugin.log
1492
data/plugin.log
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,7 @@
|
||||
"displayName": "SIIP - Buscador de IP's Disponibles UISP",
|
||||
"description": "Este plugin permite buscar IP's disponibles en UISP (UNMS) y asignarlas a los clientes en UCRM. Evitando así la asignación de IP's duplicadas y mejorando la gestión de direcciones IP en la red.",
|
||||
"url": "https://siip.mx",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.2",
|
||||
"ucrmVersionCompliancy": {
|
||||
"min": "1.0.0",
|
||||
"max": null
|
||||
|
||||
267
public.php
267
public.php
@ -34,6 +34,7 @@ require_once __DIR__ . '/src/ApiHandlers.php';
|
||||
use Ubnt\UcrmPluginSdk\Service\PluginLogManager;
|
||||
use Ubnt\UcrmPluginSdk\Service\PluginConfigManager;
|
||||
use SiipAvailableIps\IpSearchService;
|
||||
use SiipAvailableIps\PingService;
|
||||
|
||||
// Get UCRM log manager
|
||||
$log = PluginLogManager::create();
|
||||
@ -206,6 +207,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
|
||||
'not_responding' => $processed['not_responding']
|
||||
]);
|
||||
|
||||
} catch (Throwable $e) {
|
||||
$log->appendLog('ERROR en verify_batch: ' . $e->getMessage());
|
||||
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
|
||||
} catch (Exception $e) {
|
||||
$log->appendLog('ERROR en verify_batch: ' . $e->getMessage());
|
||||
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
|
||||
@ -435,6 +439,19 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.btn-cancel {
|
||||
background: rgba(245, 87, 108, 0.2);
|
||||
border: 1px solid rgba(245, 87, 108, 0.4);
|
||||
color: #f5576c;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.btn-cancel:hover {
|
||||
background: rgba(245, 87, 108, 0.3);
|
||||
border-color: rgba(245, 87, 108, 0.6);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.loading {
|
||||
display: none;
|
||||
text-align: center;
|
||||
@ -684,9 +701,35 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
border: 1px solid rgba(245, 87, 108, 0.4);
|
||||
}
|
||||
|
||||
.status-unknown {
|
||||
background: rgba(160, 174, 192, 0.2);
|
||||
color: #a0aec0;
|
||||
border: 1px solid rgba(160, 174, 192, 0.4);
|
||||
}
|
||||
|
||||
tr.hidden-row {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.checkbox-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
margin-bottom: 0;
|
||||
padding-top: 28px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.checkbox-label {
|
||||
padding-top: 0;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@ -716,13 +759,13 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
</div>
|
||||
<?php if ($pingEnabled): ?>
|
||||
<div class="input-group" style="flex: 0 0 auto; min-width: auto;">
|
||||
<label style="display: flex; align-items: center; gap: 10px; cursor: pointer; margin-bottom: 0; padding-top: 28px;">
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" id="verifyPing" name="verify_ping" style="width: auto; padding: 0; margin: 0;" checked>
|
||||
<span style="color: var(--text-secondary); font-size: 0.9rem;">🔍 Verificar con ping</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="input-group" style="flex: 0 0 auto; min-width: auto;">
|
||||
<label style="display: flex; align-items: center; gap: 10px; cursor: pointer; margin-bottom: 0; padding-top: 28px;">
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" id="hideAdmin" name="hide_admin" style="width: auto; padding: 0; margin: 0;">
|
||||
<span style="color: var(--text-secondary); font-size: 0.9rem;">👁️ Ocultar Admin IPs</span>
|
||||
</label>
|
||||
@ -743,6 +786,10 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<button id="cancelBtn" class="btn btn-cancel" style="display: none;">
|
||||
🛑 Cancelar Verificación
|
||||
</button>
|
||||
|
||||
<div class="loading" id="loading">
|
||||
<div class="spinner"></div>
|
||||
<p id="loadingMessage">Consultando IPs disponibles...</p>
|
||||
@ -802,6 +849,8 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
const availableCount = document.getElementById('availableCount');
|
||||
const usedCount = document.getElementById('usedCount');
|
||||
const segmentDisplay = document.getElementById('segmentDisplay');
|
||||
const cancelBtn = document.getElementById('cancelBtn');
|
||||
let verificationCancelled = false;
|
||||
|
||||
// Toggle visibility of ping limit select
|
||||
<?php if ($pingEnabled): ?>
|
||||
@ -888,13 +937,19 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
searchBtn.disabled = false;
|
||||
|
||||
if (data.success) {
|
||||
displayResults(data);
|
||||
const clientIps = displayResults(data);
|
||||
|
||||
// Iniciar verificación progresiva si corresponde
|
||||
<?php if ($pingEnabled): ?>
|
||||
if (shouldVerifyPing) {
|
||||
runProgressiveVerification(data.data, pingLimit);
|
||||
runProgressiveVerification(clientIps, pingLimit);
|
||||
} else {
|
||||
// Si no se verifica con ping, mostrar todas las IPs de cliente de inmediato
|
||||
clientIps.forEach(ip => renderRow(ip, 'Sólo validada con UISP', 'pending'));
|
||||
}
|
||||
<?php else: ?>
|
||||
// Si ping no está habilitado en config, mostrar todas
|
||||
clientIps.forEach(ip => renderRow(ip, 'Sólo validada con UISP', 'pending'));
|
||||
<?php endif; ?>
|
||||
} else {
|
||||
showError(data.message || 'Error al buscar IPs disponibles');
|
||||
@ -925,45 +980,62 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
// Mostrar mensaje si no hay IPs disponibles
|
||||
if (data.data.length === 0) {
|
||||
showError('No hay IPs disponibles en este segmento', 'warning');
|
||||
return;
|
||||
return [];
|
||||
}
|
||||
|
||||
// Llenar tabla
|
||||
data.data.forEach((ipData, index) => {
|
||||
const ip = ipData.ip;
|
||||
const clientIps = [];
|
||||
|
||||
// Separar y renderizar solo IPs de administración
|
||||
data.data.forEach((ip, index) => {
|
||||
const ipTypeLabel = getIpType(ip);
|
||||
const hideAdminCheckbox = document.getElementById('hideAdmin');
|
||||
const isHidden = hideAdminCheckbox && hideAdminCheckbox.checked && ipTypeLabel === 'Administración';
|
||||
const row = document.createElement('tr');
|
||||
row.id = `row-${ip.replace(/\./g, '-')}`;
|
||||
if (isHidden) row.classList.add('hidden-row');
|
||||
if (ipTypeLabel === 'Administración') row.classList.add('admin-row');
|
||||
|
||||
row.innerHTML = `
|
||||
<td>${index + 1}</td>
|
||||
<td><span class="ip-address">${ip}</span></td>
|
||||
<td>
|
||||
<span class="ip-type-badge ip-type-${ipTypeLabel === 'Administración' ? 'admin' : 'client'}">
|
||||
${ipTypeLabel}
|
||||
</span>
|
||||
</td>
|
||||
<td id="status-${ip.replace(/\./g, '-')}">
|
||||
<span class="status-badge status-pending">Pendiente</span>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn-copy" onclick="copyToClipboard('${ip}', this)">
|
||||
📋 Copiar
|
||||
</button>
|
||||
</td>
|
||||
`;
|
||||
ipTableBody.appendChild(row);
|
||||
if (ipTypeLabel === 'Administración') {
|
||||
renderRow(ip, 'Sólo validada con UISP', 'pending');
|
||||
} else {
|
||||
clientIps.push(ip);
|
||||
}
|
||||
});
|
||||
|
||||
// Mostrar resultados
|
||||
// Mostrar resultados container
|
||||
results.classList.add('active');
|
||||
|
||||
// Mostrar mensaje de éxito
|
||||
showError(data.message, 'success');
|
||||
|
||||
return clientIps;
|
||||
}
|
||||
|
||||
function renderRow(ip, statusText, statusClass) {
|
||||
const ipTypeLabel = getIpType(ip);
|
||||
const hideAdminCheckbox = document.getElementById('hideAdmin');
|
||||
const isHidden = hideAdminCheckbox && hideAdminCheckbox.checked && ipTypeLabel === 'Administración';
|
||||
|
||||
const row = document.createElement('tr');
|
||||
row.id = `row-${ip.replace(/\./g, '-')}`;
|
||||
if (isHidden) row.classList.add('hidden-row');
|
||||
if (ipTypeLabel === 'Administración') row.classList.add('admin-row');
|
||||
|
||||
// Calcular índice visual (opcional, por ahora usamos conteo de filas)
|
||||
const index = ipTableBody.children.length + 1;
|
||||
|
||||
row.innerHTML = `
|
||||
<td>${index}</td>
|
||||
<td><span class="ip-address">${ip}</span></td>
|
||||
<td>
|
||||
<span class="ip-type-badge ip-type-${ipTypeLabel === 'Administración' ? 'admin' : 'client'}">
|
||||
${ipTypeLabel}
|
||||
</span>
|
||||
</td>
|
||||
<td id="status-${ip.replace(/\./g, '-')}">
|
||||
<span class="status-badge status-${statusClass}">${statusText}</span>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn-copy" onclick="copyToClipboard('${ip}', this)">
|
||||
📋 Copiar
|
||||
</button>
|
||||
</td>
|
||||
`;
|
||||
ipTableBody.appendChild(row);
|
||||
}
|
||||
|
||||
// Listener para el filtro de Admin IPs
|
||||
@ -987,10 +1059,131 @@ $pingEnabled = !empty($config['enablePingVerification']) && ($config['enablePing
|
||||
const lastOctet = parseInt(parts[3]);
|
||||
|
||||
if ((lastOctet >= 1 && lastOctet <= 30) || lastOctet === 254) {
|
||||
type: 'client',
|
||||
label: 'Apta para cliente',
|
||||
recommended: true
|
||||
};
|
||||
return 'Administración';
|
||||
}
|
||||
return 'Válida para cliente';
|
||||
}
|
||||
|
||||
async function runProgressiveVerification(clientIps, limit) {
|
||||
let ipsToVerify = [];
|
||||
|
||||
// 1. Filtrar IPs a verificar según el límite
|
||||
if (limit > 0) {
|
||||
// Si hay límite, solo tomamos las primeras N
|
||||
ipsToVerify = clientIps.slice(0, limit);
|
||||
} else {
|
||||
// Si límite es 0 (Todas), verificamos todas
|
||||
ipsToVerify = [...clientIps];
|
||||
}
|
||||
|
||||
console.log(`Iniciando verificación progresiva de ${ipsToVerify.length} IPs`);
|
||||
|
||||
// Mostrar botón de cancelar
|
||||
verificationCancelled = false;
|
||||
if (cancelBtn) {
|
||||
cancelBtn.style.display = 'inline-flex';
|
||||
}
|
||||
|
||||
// 2. Procesar una por una (secuencialmente)
|
||||
for (const ip of ipsToVerify) {
|
||||
// Verificar si el usuario canceló
|
||||
if (verificationCancelled) {
|
||||
console.log('Verificación cancelada por el usuario');
|
||||
showError('Verificación cancelada. Mostrando resultados parciales.', 'warning');
|
||||
break;
|
||||
}
|
||||
|
||||
// A. Renderizar fila con estado "Verificando"
|
||||
renderRow(ip, '⏳ Verificando...', 'verifying');
|
||||
|
||||
// Scroll al final de la tabla para seguir el progreso
|
||||
const tableContainer = document.querySelector('.table-container');
|
||||
tableContainer.scrollTop = tableContainer.scrollHeight;
|
||||
|
||||
// B. Verificar (lote de 1)
|
||||
await verifyBatch([ip]);
|
||||
}
|
||||
|
||||
// Ocultar botón de cancelar al finalizar
|
||||
if (cancelBtn) {
|
||||
cancelBtn.style.display = 'none';
|
||||
}
|
||||
|
||||
// NOTA: Las IPs que exceden el límite NO se renderizan, cumpliendo el requerimiento.
|
||||
}
|
||||
|
||||
// Event listener para botón de cancelar
|
||||
if (cancelBtn) {
|
||||
cancelBtn.addEventListener('click', () => {
|
||||
verificationCancelled = true;
|
||||
cancelBtn.style.display = 'none';
|
||||
});
|
||||
}
|
||||
|
||||
async function verifyBatch(ips) {
|
||||
try {
|
||||
const formData = new FormData();
|
||||
formData.append('action', 'verify_batch');
|
||||
formData.append('ips', JSON.stringify(ips));
|
||||
|
||||
// Timeout de 30 segundos por lote
|
||||
const controller = new AbortController();
|
||||
const timeoutId = setTimeout(() => controller.abort(), 30000);
|
||||
|
||||
const response = await fetch('', {
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
signal: controller.signal
|
||||
});
|
||||
|
||||
clearTimeout(timeoutId);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
|
||||
const text = await response.text();
|
||||
let data;
|
||||
try {
|
||||
data = JSON.parse(text);
|
||||
} catch (e) {
|
||||
console.error('Respuesta no válida del servidor:', text);
|
||||
throw new Error('Respuesta inválida del servidor');
|
||||
}
|
||||
|
||||
if (data.success) {
|
||||
// Actualizar UI
|
||||
// Responding = Conflicto (Rojo)
|
||||
if (data.responding) {
|
||||
data.responding.forEach(ip => {
|
||||
updateStatus(ip, 'conflict', '⚠️ En uso (Ping)');
|
||||
});
|
||||
}
|
||||
|
||||
// Not Responding = Disponible (Verde)
|
||||
if (data.not_responding) {
|
||||
data.not_responding.forEach(ip => {
|
||||
updateStatus(ip, 'available', '✅ Disponible');
|
||||
});
|
||||
}
|
||||
} else {
|
||||
throw new Error(data.message || 'Error en verificación');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error verificando lote:', error);
|
||||
// Marcar como error visualmente para que no se quede cargando
|
||||
ips.forEach(ip => {
|
||||
updateStatus(ip, 'unknown', '❓ Error verificación');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function updateStatus(ip, type, text) {
|
||||
const cellId = `status-${ip.replace(/\./g, '-')}`;
|
||||
const cell = document.getElementById(cellId);
|
||||
if (cell) {
|
||||
cell.innerHTML = `<span class="status-badge status-${type}">${text}</span>`;
|
||||
}
|
||||
}
|
||||
|
||||
function showError(message, type = 'error') {
|
||||
|
||||
BIN
siip-available-ips.zip
Normal file
BIN
siip-available-ips.zip
Normal file
Binary file not shown.
@ -196,10 +196,24 @@ class PingService
|
||||
usleep($sleepInterval * 1000000); // Convertir a microsegundos
|
||||
$waited += $sleepInterval;
|
||||
|
||||
// Verificar si los archivos tienen resultados
|
||||
// Verificar si los archivos tienen resultados COMPLETOS
|
||||
foreach ($processes as $ip => $pending) {
|
||||
if (file_exists($tempFiles[$ip]) && filesize($tempFiles[$ip]) > 0) {
|
||||
unset($processes[$ip]);
|
||||
if (file_exists($tempFiles[$ip])) {
|
||||
$content = file_get_contents($tempFiles[$ip]);
|
||||
// Buscamos si hay al menos una línea y si la última línea parece un código de salida (número)
|
||||
// El comando es: ping ... ; echo $?
|
||||
// Así que esperamos ver output del ping y luego un número al final.
|
||||
// A veces el archivo puede estar vacío o incompleto.
|
||||
|
||||
if (!empty($content)) {
|
||||
$lines = explode("\n", trim($content));
|
||||
$lastLine = end($lines);
|
||||
|
||||
// Si la última línea es un número (0-255), asumimos que terminó
|
||||
if (is_numeric($lastLine)) {
|
||||
unset($processes[$ip]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/bin/pack-plugin
vendored
Normal file → Executable file
0
vendor/bin/pack-plugin
vendored
Normal file → Executable file
56
vendor/composer/InstalledVersions.php
vendored
56
vendor/composer/InstalledVersions.php
vendored
@ -21,22 +21,15 @@ use Composer\Semver\VersionParser;
|
||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||
*
|
||||
* @final
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
/**
|
||||
* @var mixed[]|null
|
||||
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
|
||||
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
||||
*/
|
||||
private static $installed;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private static $installedIsLocalDir;
|
||||
|
||||
/**
|
||||
* @var bool|null
|
||||
*/
|
||||
@ -44,7 +37,7 @@ class InstalledVersions
|
||||
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static $installedByVendor = array();
|
||||
|
||||
@ -103,7 +96,7 @@ class InstalledVersions
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
|
||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -124,7 +117,7 @@ class InstalledVersions
|
||||
*/
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints((string) $constraint);
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
@ -248,7 +241,7 @@ class InstalledVersions
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
|
||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
|
||||
*/
|
||||
public static function getRootPackage()
|
||||
{
|
||||
@ -262,7 +255,7 @@ class InstalledVersions
|
||||
*
|
||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||
* @return array[]
|
||||
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
|
||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
|
||||
*/
|
||||
public static function getRawData()
|
||||
{
|
||||
@ -285,7 +278,7 @@ class InstalledVersions
|
||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||
*
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
public static function getAllRawData()
|
||||
{
|
||||
@ -308,23 +301,17 @@ class InstalledVersions
|
||||
* @param array[] $data A vendor/composer/installed.php data set
|
||||
* @return void
|
||||
*
|
||||
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
|
||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
|
||||
*/
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
|
||||
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
|
||||
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
|
||||
// so we have to assume it does not, and that may result in duplicate data being returned when listing
|
||||
// all installed packages for example
|
||||
self::$installedIsLocalDir = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static function getInstalled()
|
||||
{
|
||||
@ -333,27 +320,17 @@ class InstalledVersions
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
$copiedLocalDir = false;
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
$selfDir = strtr(__DIR__, '\\', '/');
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
$vendorDir = strtr($vendorDir, '\\', '/');
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require $vendorDir.'/composer/installed.php';
|
||||
self::$installedByVendor[$vendorDir] = $required;
|
||||
$installed[] = $required;
|
||||
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
|
||||
self::$installed = $required;
|
||||
self::$installedIsLocalDir = true;
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
}
|
||||
}
|
||||
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
|
||||
$copiedLocalDir = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -361,17 +338,12 @@ class InstalledVersions
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require __DIR__ . '/installed.php';
|
||||
self::$installed = $required;
|
||||
self::$installed = require __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
if (self::$installed !== array() && !$copiedLocalDir) {
|
||||
$installed[] = self::$installed;
|
||||
}
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
|
||||
134
vendor/composer/autoload_classmap.php
vendored
134
vendor/composer/autoload_classmap.php
vendored
@ -7,4 +7,138 @@ $baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
'GuzzleHttp\\BodySummarizer' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizer.php',
|
||||
'GuzzleHttp\\BodySummarizerInterface' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php',
|
||||
'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php',
|
||||
'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php',
|
||||
'GuzzleHttp\\ClientTrait' => $vendorDir . '/guzzlehttp/guzzle/src/ClientTrait.php',
|
||||
'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
|
||||
'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
|
||||
'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
|
||||
'GuzzleHttp\\Cookie\\SessionCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
|
||||
'GuzzleHttp\\Cookie\\SetCookie' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
|
||||
'GuzzleHttp\\Exception\\BadResponseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
|
||||
'GuzzleHttp\\Exception\\ClientException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
|
||||
'GuzzleHttp\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
|
||||
'GuzzleHttp\\Exception\\GuzzleException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
|
||||
'GuzzleHttp\\Exception\\InvalidArgumentException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php',
|
||||
'GuzzleHttp\\Exception\\RequestException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
|
||||
'GuzzleHttp\\Exception\\ServerException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
|
||||
'GuzzleHttp\\Exception\\TooManyRedirectsException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
|
||||
'GuzzleHttp\\Exception\\TransferException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
|
||||
'GuzzleHttp\\HandlerStack' => $vendorDir . '/guzzlehttp/guzzle/src/HandlerStack.php',
|
||||
'GuzzleHttp\\Handler\\CurlFactory' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
|
||||
'GuzzleHttp\\Handler\\CurlFactoryInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php',
|
||||
'GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
|
||||
'GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
|
||||
'GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
|
||||
'GuzzleHttp\\Handler\\HeaderProcessor' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php',
|
||||
'GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php',
|
||||
'GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php',
|
||||
'GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
|
||||
'GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php',
|
||||
'GuzzleHttp\\MessageFormatterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php',
|
||||
'GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php',
|
||||
'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php',
|
||||
'GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
|
||||
'GuzzleHttp\\Promise\\AggregateException' => $vendorDir . '/guzzlehttp/promises/src/AggregateException.php',
|
||||
'GuzzleHttp\\Promise\\CancellationException' => $vendorDir . '/guzzlehttp/promises/src/CancellationException.php',
|
||||
'GuzzleHttp\\Promise\\Coroutine' => $vendorDir . '/guzzlehttp/promises/src/Coroutine.php',
|
||||
'GuzzleHttp\\Promise\\Create' => $vendorDir . '/guzzlehttp/promises/src/Create.php',
|
||||
'GuzzleHttp\\Promise\\Each' => $vendorDir . '/guzzlehttp/promises/src/Each.php',
|
||||
'GuzzleHttp\\Promise\\EachPromise' => $vendorDir . '/guzzlehttp/promises/src/EachPromise.php',
|
||||
'GuzzleHttp\\Promise\\FulfilledPromise' => $vendorDir . '/guzzlehttp/promises/src/FulfilledPromise.php',
|
||||
'GuzzleHttp\\Promise\\Is' => $vendorDir . '/guzzlehttp/promises/src/Is.php',
|
||||
'GuzzleHttp\\Promise\\Promise' => $vendorDir . '/guzzlehttp/promises/src/Promise.php',
|
||||
'GuzzleHttp\\Promise\\PromiseInterface' => $vendorDir . '/guzzlehttp/promises/src/PromiseInterface.php',
|
||||
'GuzzleHttp\\Promise\\PromisorInterface' => $vendorDir . '/guzzlehttp/promises/src/PromisorInterface.php',
|
||||
'GuzzleHttp\\Promise\\RejectedPromise' => $vendorDir . '/guzzlehttp/promises/src/RejectedPromise.php',
|
||||
'GuzzleHttp\\Promise\\RejectionException' => $vendorDir . '/guzzlehttp/promises/src/RejectionException.php',
|
||||
'GuzzleHttp\\Promise\\TaskQueue' => $vendorDir . '/guzzlehttp/promises/src/TaskQueue.php',
|
||||
'GuzzleHttp\\Promise\\TaskQueueInterface' => $vendorDir . '/guzzlehttp/promises/src/TaskQueueInterface.php',
|
||||
'GuzzleHttp\\Promise\\Utils' => $vendorDir . '/guzzlehttp/promises/src/Utils.php',
|
||||
'GuzzleHttp\\Psr7\\AppendStream' => $vendorDir . '/guzzlehttp/psr7/src/AppendStream.php',
|
||||
'GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php',
|
||||
'GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php',
|
||||
'GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php',
|
||||
'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $vendorDir . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php',
|
||||
'GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php',
|
||||
'GuzzleHttp\\Psr7\\Header' => $vendorDir . '/guzzlehttp/psr7/src/Header.php',
|
||||
'GuzzleHttp\\Psr7\\HttpFactory' => $vendorDir . '/guzzlehttp/psr7/src/HttpFactory.php',
|
||||
'GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php',
|
||||
'GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php',
|
||||
'GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php',
|
||||
'GuzzleHttp\\Psr7\\Message' => $vendorDir . '/guzzlehttp/psr7/src/Message.php',
|
||||
'GuzzleHttp\\Psr7\\MessageTrait' => $vendorDir . '/guzzlehttp/psr7/src/MessageTrait.php',
|
||||
'GuzzleHttp\\Psr7\\MimeType' => $vendorDir . '/guzzlehttp/psr7/src/MimeType.php',
|
||||
'GuzzleHttp\\Psr7\\MultipartStream' => $vendorDir . '/guzzlehttp/psr7/src/MultipartStream.php',
|
||||
'GuzzleHttp\\Psr7\\NoSeekStream' => $vendorDir . '/guzzlehttp/psr7/src/NoSeekStream.php',
|
||||
'GuzzleHttp\\Psr7\\PumpStream' => $vendorDir . '/guzzlehttp/psr7/src/PumpStream.php',
|
||||
'GuzzleHttp\\Psr7\\Query' => $vendorDir . '/guzzlehttp/psr7/src/Query.php',
|
||||
'GuzzleHttp\\Psr7\\Request' => $vendorDir . '/guzzlehttp/psr7/src/Request.php',
|
||||
'GuzzleHttp\\Psr7\\Response' => $vendorDir . '/guzzlehttp/psr7/src/Response.php',
|
||||
'GuzzleHttp\\Psr7\\Rfc7230' => $vendorDir . '/guzzlehttp/psr7/src/Rfc7230.php',
|
||||
'GuzzleHttp\\Psr7\\ServerRequest' => $vendorDir . '/guzzlehttp/psr7/src/ServerRequest.php',
|
||||
'GuzzleHttp\\Psr7\\Stream' => $vendorDir . '/guzzlehttp/psr7/src/Stream.php',
|
||||
'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
|
||||
'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
|
||||
'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
|
||||
'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
|
||||
'GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php',
|
||||
'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
|
||||
'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
|
||||
'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php',
|
||||
'GuzzleHttp\\RedirectMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RedirectMiddleware.php',
|
||||
'GuzzleHttp\\RequestOptions' => $vendorDir . '/guzzlehttp/guzzle/src/RequestOptions.php',
|
||||
'GuzzleHttp\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
|
||||
'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php',
|
||||
'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php',
|
||||
'Psr\\Http\\Client\\ClientExceptionInterface' => $vendorDir . '/psr/http-client/src/ClientExceptionInterface.php',
|
||||
'Psr\\Http\\Client\\ClientInterface' => $vendorDir . '/psr/http-client/src/ClientInterface.php',
|
||||
'Psr\\Http\\Client\\NetworkExceptionInterface' => $vendorDir . '/psr/http-client/src/NetworkExceptionInterface.php',
|
||||
'Psr\\Http\\Client\\RequestExceptionInterface' => $vendorDir . '/psr/http-client/src/RequestExceptionInterface.php',
|
||||
'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php',
|
||||
'Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php',
|
||||
'Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php',
|
||||
'Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php',
|
||||
'SiipAvailableIps\\IpSearchService' => $baseDir . '/src/IpSearchService.php',
|
||||
'SiipAvailableIps\\PingService' => $baseDir . '/src/PingService.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/filesystem/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\FileNotFoundException' => $vendorDir . '/symfony/filesystem/Exception/FileNotFoundException.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\IOException' => $vendorDir . '/symfony/filesystem/Exception/IOException.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\IOExceptionInterface' => $vendorDir . '/symfony/filesystem/Exception/IOExceptionInterface.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/filesystem/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\RuntimeException' => $vendorDir . '/symfony/filesystem/Exception/RuntimeException.php',
|
||||
'Symfony\\Component\\Filesystem\\Filesystem' => $vendorDir . '/symfony/filesystem/Filesystem.php',
|
||||
'Symfony\\Component\\Filesystem\\Path' => $vendorDir . '/symfony/filesystem/Path.php',
|
||||
'Symfony\\Polyfill\\Ctype\\Ctype' => $vendorDir . '/symfony/polyfill-ctype/Ctype.php',
|
||||
'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Data\\UcrmOptions' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Data/UcrmOptions.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Data\\UcrmUser' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Data/UcrmUser.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\ConfigurationException' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/ConfigurationException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\InvalidPluginRootPathException' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/InvalidPluginRootPathException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\JsonException' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/JsonException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\UcrmPluginSdkException' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/UcrmPluginSdkException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\Permission' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/Permission.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\PermissionNames' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/PermissionNames.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\SpecialPermission' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/SpecialPermission.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\SpecialPermissionNames' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/SpecialPermissionNames.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\AbstractOptionsManager' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/AbstractOptionsManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\PluginConfigManager' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/PluginConfigManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\PluginLogManager' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/PluginLogManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UcrmApi' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UcrmApi.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UcrmOptionsManager' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UcrmOptionsManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UcrmSecurity' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UcrmSecurity.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UnmsApi' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UnmsApi.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Util\\Helpers' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Util/Helpers.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Util\\Json' => $vendorDir . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Util/Json.php',
|
||||
);
|
||||
|
||||
11
vendor/composer/autoload_real.php
vendored
11
vendor/composer/autoload_real.php
vendored
@ -34,22 +34,13 @@ class ComposerAutoloaderInita8750288fc198a75aec345f4f4b7fd12
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInita8750288fc198a75aec345f4f4b7fd12::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
if ($useStaticLoader) {
|
||||
|
||||
134
vendor/composer/autoload_static.php
vendored
134
vendor/composer/autoload_static.php
vendored
@ -85,6 +85,140 @@ class ComposerStaticInita8750288fc198a75aec345f4f4b7fd12
|
||||
|
||||
public static $classMap = array (
|
||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
'GuzzleHttp\\BodySummarizer' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizer.php',
|
||||
'GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php',
|
||||
'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php',
|
||||
'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php',
|
||||
'GuzzleHttp\\ClientTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientTrait.php',
|
||||
'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
|
||||
'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
|
||||
'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
|
||||
'GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
|
||||
'GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
|
||||
'GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
|
||||
'GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
|
||||
'GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
|
||||
'GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
|
||||
'GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php',
|
||||
'GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
|
||||
'GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
|
||||
'GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
|
||||
'GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
|
||||
'GuzzleHttp\\HandlerStack' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/HandlerStack.php',
|
||||
'GuzzleHttp\\Handler\\CurlFactory' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
|
||||
'GuzzleHttp\\Handler\\CurlFactoryInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php',
|
||||
'GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
|
||||
'GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
|
||||
'GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
|
||||
'GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php',
|
||||
'GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php',
|
||||
'GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php',
|
||||
'GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
|
||||
'GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php',
|
||||
'GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php',
|
||||
'GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php',
|
||||
'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php',
|
||||
'GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
|
||||
'GuzzleHttp\\Promise\\AggregateException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/AggregateException.php',
|
||||
'GuzzleHttp\\Promise\\CancellationException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/CancellationException.php',
|
||||
'GuzzleHttp\\Promise\\Coroutine' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Coroutine.php',
|
||||
'GuzzleHttp\\Promise\\Create' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Create.php',
|
||||
'GuzzleHttp\\Promise\\Each' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Each.php',
|
||||
'GuzzleHttp\\Promise\\EachPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/EachPromise.php',
|
||||
'GuzzleHttp\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/FulfilledPromise.php',
|
||||
'GuzzleHttp\\Promise\\Is' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Is.php',
|
||||
'GuzzleHttp\\Promise\\Promise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Promise.php',
|
||||
'GuzzleHttp\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromiseInterface.php',
|
||||
'GuzzleHttp\\Promise\\PromisorInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromisorInterface.php',
|
||||
'GuzzleHttp\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectedPromise.php',
|
||||
'GuzzleHttp\\Promise\\RejectionException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectionException.php',
|
||||
'GuzzleHttp\\Promise\\TaskQueue' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueue.php',
|
||||
'GuzzleHttp\\Promise\\TaskQueueInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueueInterface.php',
|
||||
'GuzzleHttp\\Promise\\Utils' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Utils.php',
|
||||
'GuzzleHttp\\Psr7\\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/AppendStream.php',
|
||||
'GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php',
|
||||
'GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php',
|
||||
'GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php',
|
||||
'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php',
|
||||
'GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php',
|
||||
'GuzzleHttp\\Psr7\\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php',
|
||||
'GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php',
|
||||
'GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php',
|
||||
'GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php',
|
||||
'GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php',
|
||||
'GuzzleHttp\\Psr7\\Message' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Message.php',
|
||||
'GuzzleHttp\\Psr7\\MessageTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MessageTrait.php',
|
||||
'GuzzleHttp\\Psr7\\MimeType' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MimeType.php',
|
||||
'GuzzleHttp\\Psr7\\MultipartStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MultipartStream.php',
|
||||
'GuzzleHttp\\Psr7\\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/NoSeekStream.php',
|
||||
'GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php',
|
||||
'GuzzleHttp\\Psr7\\Query' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Query.php',
|
||||
'GuzzleHttp\\Psr7\\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php',
|
||||
'GuzzleHttp\\Psr7\\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php',
|
||||
'GuzzleHttp\\Psr7\\Rfc7230' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Rfc7230.php',
|
||||
'GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php',
|
||||
'GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php',
|
||||
'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
|
||||
'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
|
||||
'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
|
||||
'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
|
||||
'GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php',
|
||||
'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
|
||||
'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
|
||||
'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php',
|
||||
'GuzzleHttp\\RedirectMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RedirectMiddleware.php',
|
||||
'GuzzleHttp\\RequestOptions' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RequestOptions.php',
|
||||
'GuzzleHttp\\RetryMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
|
||||
'GuzzleHttp\\TransferStats' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/TransferStats.php',
|
||||
'GuzzleHttp\\Utils' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Utils.php',
|
||||
'Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientExceptionInterface.php',
|
||||
'Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientInterface.php',
|
||||
'Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/NetworkExceptionInterface.php',
|
||||
'Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/RequestExceptionInterface.php',
|
||||
'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php',
|
||||
'Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php',
|
||||
'Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php',
|
||||
'Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php',
|
||||
'SiipAvailableIps\\IpSearchService' => __DIR__ . '/../..' . '/src/IpSearchService.php',
|
||||
'SiipAvailableIps\\PingService' => __DIR__ . '/../..' . '/src/PingService.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/filesystem/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/symfony/filesystem/Exception/FileNotFoundException.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\IOException' => __DIR__ . '/..' . '/symfony/filesystem/Exception/IOException.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\IOExceptionInterface' => __DIR__ . '/..' . '/symfony/filesystem/Exception/IOExceptionInterface.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/filesystem/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\Filesystem\\Exception\\RuntimeException' => __DIR__ . '/..' . '/symfony/filesystem/Exception/RuntimeException.php',
|
||||
'Symfony\\Component\\Filesystem\\Filesystem' => __DIR__ . '/..' . '/symfony/filesystem/Filesystem.php',
|
||||
'Symfony\\Component\\Filesystem\\Path' => __DIR__ . '/..' . '/symfony/filesystem/Path.php',
|
||||
'Symfony\\Polyfill\\Ctype\\Ctype' => __DIR__ . '/..' . '/symfony/polyfill-ctype/Ctype.php',
|
||||
'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Data\\UcrmOptions' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Data/UcrmOptions.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Data\\UcrmUser' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Data/UcrmUser.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\ConfigurationException' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/ConfigurationException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\InvalidPluginRootPathException' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/InvalidPluginRootPathException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\JsonException' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/JsonException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Exception\\UcrmPluginSdkException' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Exception/UcrmPluginSdkException.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\Permission' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/Permission.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\PermissionNames' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/PermissionNames.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\SpecialPermission' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/SpecialPermission.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Security\\SpecialPermissionNames' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Security/SpecialPermissionNames.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\AbstractOptionsManager' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/AbstractOptionsManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\PluginConfigManager' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/PluginConfigManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\PluginLogManager' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/PluginLogManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UcrmApi' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UcrmApi.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UcrmOptionsManager' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UcrmOptionsManager.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UcrmSecurity' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UcrmSecurity.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Service\\UnmsApi' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Service/UnmsApi.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Util\\Helpers' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Util/Helpers.php',
|
||||
'Ubnt\\UcrmPluginSdk\\Util\\Json' => __DIR__ . '/..' . '/ubnt/ucrm-plugin-sdk/src/UcrmPluginSdk/Util/Json.php',
|
||||
);
|
||||
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
|
||||
38
vendor/composer/installed.php
vendored
38
vendor/composer/installed.php
vendored
@ -1,58 +1,58 @@
|
||||
<?php return array(
|
||||
'root' => array(
|
||||
'name' => '__root__',
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'reference' => null,
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '48024291c46ea14ad1bd1ef745d9eb3c19ee3512',
|
||||
'name' => '__root__',
|
||||
'dev' => false,
|
||||
),
|
||||
'versions' => array(
|
||||
'__root__' => array(
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'reference' => null,
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '48024291c46ea14ad1bd1ef745d9eb3c19ee3512',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'guzzlehttp/guzzle' => array(
|
||||
'pretty_version' => '7.9.3',
|
||||
'version' => '7.9.3.0',
|
||||
'reference' => '7b2f29fe81dc4da0ca0ea7d42107a0845946ea77',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
|
||||
'aliases' => array(),
|
||||
'reference' => '7b2f29fe81dc4da0ca0ea7d42107a0845946ea77',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'guzzlehttp/promises' => array(
|
||||
'pretty_version' => '2.2.0',
|
||||
'version' => '2.2.0.0',
|
||||
'reference' => '7c69f28996b0a6920945dd20b3857e499d9ca96c',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../guzzlehttp/promises',
|
||||
'aliases' => array(),
|
||||
'reference' => '7c69f28996b0a6920945dd20b3857e499d9ca96c',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'guzzlehttp/psr7' => array(
|
||||
'pretty_version' => '2.7.1',
|
||||
'version' => '2.7.1.0',
|
||||
'reference' => 'c2270caaabe631b3b44c85f99e5a04bbb8060d16',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../guzzlehttp/psr7',
|
||||
'aliases' => array(),
|
||||
'reference' => 'c2270caaabe631b3b44c85f99e5a04bbb8060d16',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-client' => array(
|
||||
'pretty_version' => '1.0.3',
|
||||
'version' => '1.0.3.0',
|
||||
'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-client',
|
||||
'aliases' => array(),
|
||||
'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-client-implementation' => array(
|
||||
@ -64,10 +64,10 @@
|
||||
'psr/http-factory' => array(
|
||||
'pretty_version' => '1.1.0',
|
||||
'version' => '1.1.0.0',
|
||||
'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-factory',
|
||||
'aliases' => array(),
|
||||
'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-factory-implementation' => array(
|
||||
@ -79,10 +79,10 @@
|
||||
'psr/http-message' => array(
|
||||
'pretty_version' => '2.0',
|
||||
'version' => '2.0.0.0',
|
||||
'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-message',
|
||||
'aliases' => array(),
|
||||
'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-message-implementation' => array(
|
||||
@ -94,55 +94,55 @@
|
||||
'ralouphie/getallheaders' => array(
|
||||
'pretty_version' => '3.0.3',
|
||||
'version' => '3.0.3.0',
|
||||
'reference' => '120b605dfeb996808c31b6477290a714d356e822',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../ralouphie/getallheaders',
|
||||
'aliases' => array(),
|
||||
'reference' => '120b605dfeb996808c31b6477290a714d356e822',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/deprecation-contracts' => array(
|
||||
'pretty_version' => 'v3.5.1',
|
||||
'version' => '3.5.1.0',
|
||||
'reference' => '74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
|
||||
'aliases' => array(),
|
||||
'reference' => '74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/filesystem' => array(
|
||||
'pretty_version' => 'v6.4.13',
|
||||
'version' => '6.4.13.0',
|
||||
'reference' => '4856c9cf585d5a0313d8d35afd681a526f038dd3',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/filesystem',
|
||||
'aliases' => array(),
|
||||
'reference' => '4856c9cf585d5a0313d8d35afd681a526f038dd3',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-ctype' => array(
|
||||
'pretty_version' => 'v1.32.0',
|
||||
'version' => '1.32.0.0',
|
||||
'reference' => 'a3cc8b044a6ea513310cbd48ef7333b384945638',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
|
||||
'aliases' => array(),
|
||||
'reference' => 'a3cc8b044a6ea513310cbd48ef7333b384945638',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-mbstring' => array(
|
||||
'pretty_version' => 'v1.32.0',
|
||||
'version' => '1.32.0.0',
|
||||
'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
|
||||
'aliases' => array(),
|
||||
'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'ubnt/ucrm-plugin-sdk' => array(
|
||||
'pretty_version' => '0.9.0',
|
||||
'version' => '0.9.0.0',
|
||||
'reference' => '02ca1d4ce7fca1bc7f49ef0259a03d0bfedec19f',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../ubnt/ucrm-plugin-sdk',
|
||||
'aliases' => array(),
|
||||
'reference' => '02ca1d4ce7fca1bc7f49ef0259a03d0bfedec19f',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user