94 lines
3.7 KiB
PHP
94 lines
3.7 KiB
PHP
|
|
<?php
|
|||
|
|
/**
|
|||
|
|
* Простой редактор документов через внешние сервисы
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
// Получаем параметры
|
|||
|
|
$recordId = $_GET['recordId'] ?? '';
|
|||
|
|
$fileName = $_GET['fileName'] ?? '';
|
|||
|
|
|
|||
|
|
if (!$recordId || !$fileName) {
|
|||
|
|
die('Не указаны параметры recordId и fileName');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Декодируем имя файла
|
|||
|
|
$fileName = urldecode($fileName);
|
|||
|
|
|
|||
|
|
// Создаем различные варианты открытия
|
|||
|
|
$baseUrl = 'https://office.clientright.ru';
|
|||
|
|
$filePath = "/crm/crm2/CRM_Active_Files/Documents/{$recordId}/" . urlencode($fileName);
|
|||
|
|
|
|||
|
|
// Подключаем конфигурацию
|
|||
|
|
$config = require_once __DIR__ . '/file_storage/config.php';
|
|||
|
|
require_once __DIR__ . '/file_storage/NextcloudClient.php';
|
|||
|
|
|
|||
|
|
// Получаем fileId из Nextcloud
|
|||
|
|
$nextcloudClient = new NextcloudClient($config['nextcloud']);
|
|||
|
|
$remotePath = 'Documents/' . $recordId . '/' . $fileName;
|
|||
|
|
$fileId = $nextcloudClient->getFileId($remotePath);
|
|||
|
|
|
|||
|
|
?>
|
|||
|
|
<!DOCTYPE html>
|
|||
|
|
<html>
|
|||
|
|
<head>
|
|||
|
|
<title>Редактирование документа</title>
|
|||
|
|
<meta charset="utf-8">
|
|||
|
|
<style>
|
|||
|
|
body { font-family: Arial, sans-serif; margin: 20px; }
|
|||
|
|
.option { margin: 10px 0; padding: 10px; border: 1px solid #ddd; border-radius: 5px; }
|
|||
|
|
.option h3 { margin-top: 0; color: #333; }
|
|||
|
|
.btn { display: inline-block; padding: 10px 20px; background: #007cba; color: white; text-decoration: none; border-radius: 3px; margin: 5px; }
|
|||
|
|
.btn:hover { background: #005a87; }
|
|||
|
|
.btn-success { background: #28a745; }
|
|||
|
|
.btn-success:hover { background: #1e7e34; }
|
|||
|
|
</style>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<h1>Редактирование документа: <?= htmlspecialchars($fileName) ?></h1>
|
|||
|
|
|
|||
|
|
<div class="option">
|
|||
|
|
<h3>📝 Варианты редактирования:</h3>
|
|||
|
|
|
|||
|
|
<h4>1. Collabora Online (рекомендуется)</h4>
|
|||
|
|
<a href="<?= $baseUrl ?>/apps/richdocuments/open?path=<?= urlencode($filePath) ?>" target="_blank" class="btn btn-success">
|
|||
|
|
Открыть в Collabora
|
|||
|
|
</a>
|
|||
|
|
|
|||
|
|
<h4>2. Только просмотр</h4>
|
|||
|
|
<a href="<?= $baseUrl ?>/apps/files/files/<?= $fileId ?>?dir=/crm/crm2/CRM_Active_Files/Documents/<?= $recordId ?>&openfile=true" target="_blank" class="btn">
|
|||
|
|
Просмотр в Nextcloud
|
|||
|
|
</a>
|
|||
|
|
|
|||
|
|
<h4>3. Скачать и редактировать локально</h4>
|
|||
|
|
<a href="<?= $baseUrl ?>/remote.php/dav/files/admin<?= $filePath ?>" target="_blank" class="btn">
|
|||
|
|
Скачать файл
|
|||
|
|
</a>
|
|||
|
|
|
|||
|
|
<h4>4. Google Docs (если файл публично доступен)</h4>
|
|||
|
|
<a href="https://docs.google.com/document/d/1/edit?usp=sharing" target="_blank" class="btn">
|
|||
|
|
Открыть в Google Docs
|
|||
|
|
</a>
|
|||
|
|
|
|||
|
|
<h4>5. Microsoft Office Online</h4>
|
|||
|
|
<a href="https://office.com" target="_blank" class="btn">
|
|||
|
|
Открыть в Office Online
|
|||
|
|
</a>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="option">
|
|||
|
|
<h3>ℹ️ Информация о файле:</h3>
|
|||
|
|
<p><strong>Файл:</strong> <?= htmlspecialchars($fileName) ?></p>
|
|||
|
|
<p><strong>ID записи:</strong> <?= htmlspecialchars($recordId) ?></p>
|
|||
|
|
<p><strong>File ID:</strong> <?= $fileId ?: 'Не найден' ?></p>
|
|||
|
|
<p><strong>Путь:</strong> <?= htmlspecialchars($filePath) ?></p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
// Автоматически открываем Collabora через 2 секунды
|
|||
|
|
setTimeout(function() {
|
|||
|
|
window.open('<?= $baseUrl ?>/apps/richdocuments/open?path=<?= urlencode($filePath) ?>', '_blank');
|
|||
|
|
}, 2000);
|
|||
|
|
</script>
|
|||
|
|
</body>
|
|||
|
|
</html>
|