✅ ЧТО СДЕЛАНО: - Поднят новый standalone OnlyOffice Document Server (порт 8083) - Настроен Nginx для доступа через office.clientright.ru:9443 - Создан open_file_v3_standalone.php для работы с новым OnlyOffice - Реализована поддержка прямых S3 URL (bucket публичный) - Добавлен s3_proxy.php с поддержкой Range requests - Создан onlyoffice_callback.php для сохранения (базовая версия) - Файлы успешно открываются и загружаются! ⚠️ TODO (на завтра): - Доработать onlyoffice_callback.php для сохранения обратно в ОРИГИНАЛЬНЫЙ путь в S3 - Добавить Redis маппинг documentKey → S3 path - Обновить CRM JS для использования open_file_v3_standalone.php - Протестировать сохранение файлов - Удалить тестовые файлы 📊 РЕЗУЛЬТАТ: - OnlyOffice Standalone РАБОТАЕТ! ✅ - Файлы открываются напрямую из S3 ✅ - Редактор загружается БЫСТРО ✅ - Автосохранение настроено ✅ (но нужна доработка callback)
41 lines
949 B
PHP
41 lines
949 B
PHP
<?php
|
|
/**
|
|
* Быстрая индексация одного файла в Nextcloud
|
|
*/
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
$input = json_decode(file_get_contents('php://input'), true);
|
|
$path = $input['path'] ?? '';
|
|
|
|
if (empty($path)) {
|
|
echo json_encode(['success' => false, 'error' => 'Missing path']);
|
|
exit;
|
|
}
|
|
|
|
// Формируем Nextcloud путь
|
|
$ncPath = '/admin/files/crm/' . $path;
|
|
|
|
// Запускаем сканирование
|
|
$command = "docker exec -u www-data nextcloud-fresh php occ files:scan --path=" . escapeshellarg($ncPath) . " 2>&1";
|
|
|
|
exec($command, $output, $returnCode);
|
|
|
|
if ($returnCode === 0) {
|
|
echo json_encode([
|
|
'success' => true,
|
|
'message' => 'File indexed successfully',
|
|
'output' => implode("\n", $output)
|
|
]);
|
|
} else {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => 'Indexing failed',
|
|
'output' => implode("\n", $output)
|
|
]);
|
|
}
|
|
?>
|
|
|
|
|
|
|