Files
crm.clientright.ru/verify_pdfmaker_correct_logic.php
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

87 lines
4.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
echo "🔍 Проверяем ПРАВИЛЬНУЮ логику PDFMaker...\n\n";
$pdfmaker_file = '/var/www/fastuser/data/www/crm.clientright.ru/modules/PDFMaker/models/PDFMaker.php';
if (!file_exists($pdfmaker_file)) {
echo "❌ Файл PDFMaker.php не найден!\n";
exit(1);
}
$content = file_get_contents($pdfmaker_file);
echo "📋 Проверяем правильную логику PDFMaker:\n\n";
// Проверяем создание файла
$pattern1 = '/mpdf->Output\(\$upload_file_path \. \$documentId \. \'_\' \. \$fileName\)/';
if (preg_match($pattern1, $content)) {
echo "✅ 1. Файл создаётся с именем прикрепления (documentId) - ПРАВИЛЬНО!\n";
} else {
echo "❌ 1. Файл создаётся с неправильным именем\n";
}
// Проверяем вычисление размера файла
$pattern2 = '/filesize\(\$upload_file_path \. \$documentId \. \'_\' \. \$fileName\)/';
if (preg_match($pattern2, $content)) {
echo "✅ 2. Размер файла вычисляется для правильного пути (documentId)\n";
} else {
echo "❌ 2. Размер файла вычисляется для неправильного пути\n";
}
// Проверяем создание прикрепления
$pattern3 = '/saveAttachment\(\$documentId, \$fileName/';
if (preg_match($pattern3, $content)) {
echo "✅ 3. Прикрепление создаётся с правильным ID (documentId - чётный)\n";
} else {
echo "❌ 3. Прикрепление создаётся с неправильным ID\n";
}
// Проверяем создание связи
$pattern4 = '/saveAttachmentRelation\(\$documentId, \$focus->id\)/';
if (preg_match($pattern4, $content)) {
echo "✅ 4. Связь создаётся правильно: attachmentsid=documentId, crmid=focus->id\n";
} else {
echo "❌ 4. Связь создаётся неправильно\n";
}
// Проверяем обновление метаданных основного документа
$pattern5 = '/UPDATE vtiger_notes SET filesize=\?, filename=\? WHERE notesid=\?.*\$focus->id/s';
if (preg_match($pattern5, $content)) {
echo "✅ 5. Метаданные основного документа обновляются правильно (notesid=focus->id)\n";
} else {
echo "❌ 5. Метаданные обновляются для неправильной записи\n";
}
// Проверяем, что filename включает documentId
$pattern6 = '/\$documentId \. \'_\' \. \$fileName.*\$focus->id/';
if (preg_match($pattern6, $content)) {
echo "✅ 6. Метаданные основного документа содержат правильное имя файла (documentId_filename)\n";
} else {
echo "❌ 6. Метаданные содержат неправильное имя файла\n";
}
echo "\n🎯 ПРАВИЛЬНАЯ логика PDFMaker:\n";
echo "1. PDFMaker создаёт основной документ с ID: focus->id (нечётный)\n";
echo "2. PDFMaker создаёт прикрепление с ID: documentId (чётный) ✅\n";
echo "3. PDFMaker создаёт файл с именем: documentId_filename.pdf ✅\n";
echo "4. PDFMaker сохраняет attachment с attachmentsid = documentId ✅\n";
echo "5. PDFMaker создаёт связь: crmid = focus->id, attachmentsid = documentId ✅\n";
echo "6. PDFMaker обновляет метаданные основного документа: notesid = focus->id, filename = documentId_filename.pdf ✅\n\n";
echo "📊 Результат:\n";
echo " - Основной документ: focus->id (нечётный) - 'Documents'\n";
echo " - Прикрепление: documentId (чётный) - 'Documents Attachment'\n";
echo " - Файл создаётся: documentId_filename.pdf (чётный ID)\n";
echo " - Связь: focus->id ↔ documentId (нечётный ↔ чётный)\n";
echo " - Метаданные основного документа: filename = documentId_filename.pdf\n";
echo " - ВСЁ СООТВЕТСТВУЕТ ОРИГИНАЛЬНОЙ ЛОГИКЕ СИСТЕМЫ! ✅\n\n";
echo "🎉 PDFMaker исправлен ПРАВИЛЬНО!\n";
echo " Теперь система работает как задумано:\n";
echo " - Основные документы: нечётные ID\n";
echo " - Прикрепления: чётные ID\n";
echo " - Файлы: с именами прикреплений (чётные ID)\n";
echo " - Метаданные: согласованы между основным документом и файлом\n";
?>