Files
crm.clientright.ru/check_documents_fixed.php

82 lines
3.8 KiB
PHP
Raw Permalink 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
/**
* Проверка документов в CRM
*/
// Подключаемся к CRM
require_once '/var/www/fastuser/data/www/crm.clientright.ru/config.php';
require_once '/var/www/fastuser/data/www/crm.clientright.ru/include/utils/utils.php';
echo "=== Проверка документов в CRM ===\n";
try {
$adb = PearDatabase::getInstance();
echo "✅ Подключение к базе данных успешно\n";
// Проверяем общее количество документов
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0");
if ($result) {
$total = $adb->query_result($result, 0, 'total');
echo "📄 Всего активных документов: $total\n";
}
// Проверяем документы с проблемными файлами
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND filelocationtype = 'I' AND (filename IS NULL OR filename = '')");
if ($result) {
$problematic = $adb->query_result($result, 0, 'total');
echo "⚠️ Документов с проблемными файлами: $problematic\n";
}
// Проверяем документы с S3
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND s3_key IS NOT NULL");
if ($result) {
$s3_docs = $adb->query_result($result, 0, 'total');
echo "☁️ Документов в S3: $s3_docs\n";
}
// Получаем последние 5 документов
$result = $adb->pquery("SELECT n.notesid, n.title, n.filename, n.filelocationtype, c.createdtime FROM vtiger_notes n LEFT JOIN vtiger_crmentity c ON n.notesid = c.crmid WHERE n.deleted = 0 ORDER BY c.createdtime DESC LIMIT 5");
if ($result) {
$numRows = $adb->num_rows($result);
echo "\n📋 Последние $numRows документов:\n";
for ($i = 0; $i < $numRows; $i++) {
$notesid = $adb->query_result($result, $i, 'notesid');
$title = $adb->query_result($result, $i, 'title');
$filename = $adb->query_result($result, $i, 'filename');
$filelocationtype = $adb->query_result($result, $i, 'filelocationtype');
$createdtime = $adb->query_result($result, $i, 'createdtime');
echo " ID: $notesid | Название: $title | Файл: $filename | Тип: $filelocationtype | Создан: $createdtime\n";
}
}
// Проверяем папки для документов
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_attachmentsfolder");
if ($result) {
$folders = $adb->query_result($result, 0, 'total');
echo "\n📁 Папок для документов: $folders\n";
}
// Проверяем, есть ли документы без папки
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND folderid IS NULL");
if ($result) {
$no_folder = $adb->query_result($result, 0, 'total');
echo "⚠️ Документов без папки: $no_folder\n";
}
// Проверяем, есть ли документы с очень большими файлами
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND filesize > 100000000");
if ($result) {
$large_files = $adb->query_result($result, 0, 'total');
echo "📦 Документов с файлами > 100MB: $large_files\n";
}
} catch (Exception $e) {
echo "❌ Ошибка: " . $e->getMessage() . "\n";
echo " Файл: " . $e->getFile() . "\n";
echo " Строка: " . $e->getLine() . "\n";
}
echo "\n🎉 Проверка завершена!\n";
?>